A primitive that scales from one agent on a laptop to a global hive of millions. Every tier ships either today, or sits behind a documented gap with a known roadmap. Nothing on this page is marketing fiction — every "today" claim cites code in the v0.6.3 source tree.
Each tier is a deployment pattern. Each inherits everything below it. Click a card for the full diagram, narrative, and deployment recipe.
One ai-memory instance, one consumer. SQLite, no network, zero ops. The bedrock primitive.
SCALE: 1 node · 1 agent · ~10⁶ memories SHIPS TODAY TIER 2One instance fanned across ~10 concurrent agents, each isolated by namespace + scope visibility, gated by per-namespace governance.
SCALE: 1 node · 10 agents · namespace-isolated SHIPS TODAY TIER 34 nodes × 5 agents with W-of-N quorum writes, mTLS fingerprint allowlist, federated governance, vector-clock catch-up — all shipping today.
SCALE: 4 nodes · 20 agents · quorum-bounded SHIPS TODAY TIER 4Multi-rack deployment with quorum writes shipping today; Postgres+pgvector backbone behind sal-postgres feature flag, GA targeted v0.7.
Multi-region cloud, attested agent identity, federated governance, hundreds of thousands to millions of agents acting as a unified collective.
SCALE: multi-region · 10⁵–10⁶ agents · attested VISION v1.0+The honest matrix. Cell colors match the badges above.
| Capability | T1 | T2 | T3 | T4 | T5 |
|---|---|---|---|---|---|
| SQLite-backed store, FTS5 keyword recall | YES | YES | YES | → pgvector | → pgvector |
| Semantic recall (HNSW, MiniLM 384-dim) | YES | YES | per-node | shared idx | shared idx |
Namespace isolation + scope visibility (as_agent) |
n/a | YES | YES | YES | YES |
| Per-namespace governance policy | n/a | YES | YES | YES | YES |
| Pending-approval gates (write/promote/delete) | n/a | YES | YES | YES | YES |
| Knowledge-graph w/ temporal validity (v0.6.3) | YES | YES | YES | YES | YES |
Hierarchical taxonomy (memory_get_taxonomy) |
YES | YES | YES | YES | YES |
| Capabilities introspection v2 (v0.6.3) | YES | YES | YES | YES | YES |
One-way sync_push fanout (memories, links, governance, pending) |
n/a | n/a | YES | YES | YES |
Vector-clock causality (sync/since) |
n/a | n/a | YES | YES | YES |
| Quorum-write contract (W-of-N peer ack) | n/a | n/a | YES | YES | YES |
| mTLS peer mesh + fingerprint allowlist | n/a | n/a | YES | YES | YES |
| Postgres + pgvector backend | feature flag | feature flag | feature flag | GA · v0.7 | GA · v0.7 |
Cryptographic agent attestation (signature field) |
— | — | field reserved | v0.7 | v1.0+ |
| Distributed consensus (Raft / Paxos) | — | — | — | — | v1.0+ |
| Gossip / DHT for many-node discovery | — | — | — | scoped | required |
ai-memory is a primitive, not a platform. The same Rust binary, the same data model, the same MCP protocol surface scales from a developer's ~/.claude/ai-memory.db to a fleet running across racks. What changes between tiers:
What stays the same:
short / mid / long).Allow / Deny / Pending).Every tier inherits everything below it.
These are the building blocks every multi-node tier composes. All shipped, all in v0.6.3:
src/main.rs:405-447 — quorum-write CLI surface: --quorum-writes N, --quorum-peers <comma-list>, --quorum-timeout-ms, --quorum-client-cert/-key/-ca-cert, --catchup-interval-secs.src/main.rs:380-393 — TLS / mTLS allowlist: --tls-cert, --tls-key, --mtls-allowlist <SHA-256 fingerprint file>. Allowlist presence enforces mTLS.src/handlers.rs:442-454 — broadcast_store_quorum + finalise_quorum wired into the write path; returns 200 OK with quorum_acks on success, 503 quorum_not_met on timeout.src/federation.rs — 10 broadcast functions: broadcast_store_quorum, broadcast_delete_quorum, broadcast_archive_quorum, broadcast_restore_quorum, broadcast_link_quorum, broadcast_consolidate_quorum, broadcast_pending_quorum, broadcast_pending_decision_quorum, broadcast_namespace_meta_quorum, broadcast_namespace_meta_clear_quorum.src/handlers.rs — POST /api/v1/sync/push accepts memories, deletions, archives, links, pending actions, pending decisions, namespace metadata, and (v0.6.3) entity registrations. GET /api/v1/sync/since?peer=<id>&clock=<n> returns causally-correct deltas for a rejoining peer.src/db.rs — compute_visibility_prefixes() + visibility_clause() enforce scope-based recall filtering at the SQL level using the indexed scope_idx generated column.src/models.rs — GovernancePolicy per-namespace, PendingAction queue, namespace_ancestors() for visibility hierarchy.src/replication.rs (422 lines) — QuorumWriter + AckTracker, functional, wired into the write path.Cargo.toml — sal-postgres feature flag for the v0.7 GA Postgres+pgvector backbone (sqlx + pgvector deps, schema parity fixes shipped #294-#297).Start at Tier 1 and walk forward, or jump straight to the tier that matches your fleet.