For Developers

Client-neutral by construction

AIOS is designed so no single AI client owns the knowledge layer. This page covers the contracts and principles that make that possible, and is explicit about what's a design principle versus what's confirmed running today.

Principle

Client neutrality

No AI product is architecturally privileged over another. A hosted assistant, a local model, and a developer script are all clients of the same gateway, subject to the same authorization rules.

Principle

MCP & tool interoperability

AIOS is built around interoperable, tool-based access patterns in the spirit of the Model Context Protocol — structured tools for discovery, search, retrieval, and governed writes, rather than one-off integrations per client.

Principle

Thin adapters

A client adapter's job is to translate that client's calling convention into gateway calls. It should not hold its own durable copy of memory, and it should not implement its own authorization logic.

Principle

Bootstrap contract

Any client reconnecting is expected to go through the same layered reconstruction — governance, profile, domain index, project context, retrieval, working context — rather than being handed a full memory dump.

Principle

Relevance-triggered retrieval

Retrieval is triggered by what's relevant to the current request, scoped to the authorized project — not a standing subscription to the entire knowledge base.

Principle

Routing vs. authorization

These are kept as separate concerns: routing decides which project a request is about; authorization decides whether this client may act on that project at all. Neither substitutes for the other.

Principle

Mutation model

Durable writes are typed operations — create, append, correct — evaluated against policy, rather than an arbitrary "overwrite this file" capability handed to any connected client.

Principle

Canonical / derived architecture

Human-readable Markdown is canonical. Indexes, embeddings, and connector metadata are derived and expected to be rebuilt, not treated as a second source of truth.

Illustrative, not a literal API reference

What a governed retrieval call conceptually looks like

This is a conceptual shape to illustrate the separation of concerns above — not a documented, versioned public API.

request:
  client_id: "example-thin-adapter"
  intent: "retrieve"
  subject_hint: "kitchen renovation, countertop budget"

gateway:
  1. resolve_project(subject_hint)       # routing — deterministic, server-side
       -> project: "personal/kitchen-reno"  | on ambiguity -> fail closed
  2. authorize(client_id, project, "read")  # separate from step 1
       -> allowed: true | false
  3. if allowed:
       retrieve(project, scope: "relevant")   # not a full project dump
       -> durable items + provenance
     else:
       deny("not authorized for this project")
Contracts

Portability & recovery, in developer terms

Portability contract

A new client that speaks the interoperable tool protocol and satisfies authorization is expected to be able to bootstrap, retrieve, and (where permitted) write against existing projects — without a bespoke migration for that client.

Recovery contract

Given the canonical durable knowledge, derived indexes and connector state are expected to be reconstructable in a fresh environment, and that reconstruction is expected to be validated, not assumed. See Ownership & Recovery.

Claim discipline: everything on this page is an architecture or design principle unless stated otherwise. For what is actually running, validated, and connected as of the last review date, see Status & Roadmap — do not treat this page as a claim of a finished, universal integration surface.

See what's actually built today

Status & Roadmap separates Working Now, In Development, and Exploring.

See Status & Roadmap →