Every public page about ai-memory — README, marketing site, roadmap, architecture pages, sales decks — must source its numbers from this page or from the upstream test-hub evidence it cites. No other page invents its own counts. If a number on another page disagrees with this page, this page is correct and the other is a bug — please file an issue.
Code-surface counts (MCP / HTTP / CLI / schema / struct) are counted directly from the v0.8.0 source tree. The dated test/benchmark rows (LongMemEval, the #1182 regression baseline) remain the latest published measurements and retain their measurement dates + provenance. Source links accompany each row.
| Field | Value | Source of truth |
|---|---|---|
| Current release | v0.8.0 | release branch release/v0.8.0 on alphaonedev/ai-memory-mcp · 2026-06 release campaign (tag-cut operator-gated) |
MCP tools advertised (--profile full) | 101 | 100 callable memory tools + always-on memory_capabilities bootstrap. Pinned by Profile::full().expected_tool_count() in src/profile.rs · disambiguation issue #862. v0.8.0 added the Pillar-1 coordination tool families (memory_action_* / memory_signal_* / memory_checkpoint_* / memory_lease_* / memory_routine_*, #1709) |
MCP tools default (--profile core) | 7 | Original 5 + memory_load_family + memory_smart_load, plus always-on memory_capabilities bootstrap. See Profile::core() in src/profile.rs |
HTTP routes (/api/v1/) | 92 / 78 | 92 production .route(…) registrations / 78 unique URL paths. SSOT consts EXPECTED_PRODUCTION_ROUTES_COUNT = 92 + EXPECTED_PRODUCTION_UNIQUE_PATHS_COUNT = 78; route-path SSOT src/handlers/routes.rs (#1558 batch 4), registered by the src/lib.rs router (plus the bare /metrics Prometheus surface). v0.8.0 added the coordination write surfaces POST /api/v1/actions/{id}/transition + POST /api/v1/signals (#1718); v0.9.0 #1859 G13-mem added GET /api/v1/memories/{id}/lineage. |
| CLI subcommands | 89 / 87 | 89 with --features sal or --features sal-postgres (sal-postgres implies sal), 87 in the default build (the 2-variant gap is Migrate + SchemaInit, both gated #[cfg(feature = "sal")] per src/daemon_runtime.rs::Command::{Migrate,SchemaInit}). SSOT consts EXPECTED_CLI_SUBCOMMANDS_DEFAULT = 87 + EXPECTED_CLI_SUBCOMMANDS_SAL = 89; counted from the clap top-level Command enum in src/daemon_runtime.rs (was 40 at v0.6.4). |
| Schema version (sqlite + postgres) | v78 | Constant CURRENT_SCHEMA_VERSION = 78 in src/storage/migrations.rs (sqlite) and src/store/postgres.rs (postgres). The v34 → v57 ladder shipped at v0.7.0 (V-4 hash chain; federation_push_dlq #933; archive +14 cols #1025; per-namespace quota PK #1156; federation_nonce_cache #1255; transcript_line_dedup #1389; FTS trigger scoping #1418; tier-expiry backfill #1466; sargable catchup #1476; composite indexes + postgres tsvector #1579). The v58 → v70 ladder is v0.8.0: recall-observations identity binding (v58 #1705); the Pillar-1 coordination substrate actions/action_edges/leases (v59), signed signals (v60), attested checkpoints (v61), routines/routine_runs (v62) — all #1709; memory_links relation CHECK 6→9 (v63); memories.lifecycle_state (v64); signature-trigger restore (v65); governance_rules.severity +escalate (v66); owner-visibility index (v67 #1720); encrypted_envelope postgres+archive parity (v68 #228/#1728); kg_projection_outbox AGE cold-path queue (v69 #1735, postgres-only); archived_memory_links edge snapshot (v70 #1771). v71 is v0.8.1: signed forget_tombstones table (#1821 / W2.3 / gap G30). The v72 → v78 ladder is v0.9.0: signed memory_revisions append-only spine (v72 #1823 G6); signed_events.cause_hash audit cause-binding (v73 #1822 G5a); memories.cid/cid_genesis BLAKE3 content-id (v74 #1825 G8); memory_links.source_cid/target_cid lineage-DAG (v75 #1859 G13-mem); agent_lineage signed succession (v76 #1828 G13); recall_observations.folded recall-purity state (v77 #1869 P0-1); model_attestations (v78 #1870 §25.3 S1 D3-012). |
Capabilities envelope schema_version | "3" | Post-A5; v1/v2 still negotiable via accept= on memory_capabilities MCP / Accept-Capabilities HTTP header — see src/mcp/tools/capabilities.rs |
| Memory struct fields | 28 | Was 15 at v0.6.x, 26 at v0.7.0; v0.8.0 adds the 27th field lifecycle_state (schema v64, #1709 Pillar-2 Typed Cognition; DEFAULT 'open'); v0.9.0 adds the 28th field cid (schema v74, #1825 G8 additive BLAKE3 content-id). The v0.7.0 additions were recursive-learning, Batman vocabulary, Form-4 provenance, Form-5 confidence-calibration columns, plus the v45 version column for Gap-1 optimistic concurrency. See src/models/memory.rs. |
| MemoryLink relation variants | 9 | related_to, supersedes, contradicts, derived_from, reflects_on, derives_from, plus the v0.8.0 Pillar-2 typed-cognition trio decomposes_into, depends_on, advances (#1709, schema v63). Enum MemoryLinkRelation (COUNT = 9) in src/models/link.rs |
| Subscription dispatch | HMAC mandatory | Unsigned dispatch DISABLED post-R3-S1.HMAC (fix campaign 2026-05-13). See src/subscriptions.rs |
| TTL on access | sliding replacement | Touch sets expires_at = now + per-tier-TTL — replacement, not max-of-old-and-new extend. Create-time backstop (6h short / 7d mid) applies only until first access. See recall pipeline docs in CLAUDE.md |
| CI matrix platforms | 3 | ubuntu-latest · macos-latest · windows-latest — see .github/workflows/ci.yml |
| LongMemEval Recall@5 | 96.4–97.8% | LongMemEval-S, 500 questions. v0.7.0 binary-faithful (harness.py drives the shipped ai-memory recall): keyword/pure-FTS5 96.4%, semantic 96.8%, autonomous 95.8% (measured 2026-05-31). The historical 97.8% headline (489-question shadow harness, harness_99.py) used LLM query-expansion over FTS5 — not pure BM25 — and is reproduced at 97.2% R@5 on an OpenRouter cloud backend (Ollama-free, 0 failures). Full cross-harness matrix + per-category provenance: benchmarks/longmemeval/results.md. |
| Final-baseline regression (2026-05-31) | 15,951 / 0 | #1182 NO-FAIL-MISSION off a pristine rig restart (docker compose down -v + up -d, all volumes wiped). Domain 1 default-feature sqlite shipping build: 7,458 passed / 0 failed / 16 ignored. Domain 2 Postgres + Apache AGE SAL-parity (--features sal,sal-postgres): 8,493 passed / 0 failed / 37 ignored. Four 1:1 findings filed→fixed→closed (#1444 C8 allowlist, #1445 expand_query 3-surface envelope parity, #1446 / #1447 doc drift); three independent codegraph QC audits all ZERO-DEFECTS-CONFIRMED. Full provenance: docs/v0.7.0/regression-runs/2026-05-31-final-baseline/. Round 2 (2026-06-01) — independent re-run off a second full volume wipe — reproduced GREEN at 15,952 / 0 (Domain 1 7,458 / 0 / 16 identical; Domain 2 8,494 / 0 / 37, +1 = the #1445 regression test) with zero new defects, confirming the result is reproducible and stable: docs/v0.7.0/regression-runs/2026-06-01-round2/. |
grep #[test] includes attributes inside #[cfg(test)] guards that are not always compiled, plus benchmark scaffolding — it is not a canonical test-pass count for any era.
This is where conflicting maturity signals on other pages get resolved. Use these labels — and only these labels — when describing capability maturity in any public material.
One ai-memory instance, one consumer. SQLite + WAL + FTS5 + HNSW. No network, no peers. Used in production by the project team daily. T1 + T2 of the architectures matrix.
Adaptive blend, cross-encoder rerank, recency decay, tier boost. On LongMemEval-S (ICLR 2025, 500 questions), v0.7.0 binary-faithful R@5 measures keyword 96.4% / semantic 96.8% / autonomous (rerank) 95.8%; the 97.8% headline came from an FTS5 + LLM query-expansion path (shadow harness), reproduced at 97.2% on an OpenRouter backend. See benchmarks/longmemeval/results.md.
101 MCP tools at --profile full (100 callable + always-on capabilities; 7 at --profile core), 92 HTTP routes (78 unique paths) at /api/v1/, 87 CLI subcommands (default build) / 89 with --features sal or --features sal-postgres. Stable contract. Used by Claude Code, Codex, Cursor, Windsurf, Continue.dev, Grok, OpenClaw, Hermes, and Llama integrations today.
Allow / Deny / Pending policies; pending-approval queue; scope-visibility filter; immutable agent_id provenance. v0.6.2+ stable.
Code shipped in v0.6.3: 10 broadcast functions, ack tracker, vector-clock catchup, mTLS fingerprint allowlist. Used in T3 (multi-node cluster) tests on the ship-gate. Not yet recommended for self-driving production fleets without an operator-on-call. See T3 architecture for what's wired and what's not.
--features sal-postgres build flag; ai-memory serve --store-url postgres://… selects the adapter. Schema parity at v70 with Apache AGE Cypher graph support. GA since v0.7.0 — the #1182 final baseline ran the full SAL-parity suite (8,493+ tests) green against Postgres + AGE.
Query expansion, auto-tagging, contradiction detection, cross-encoder reranking via Ollama (Gemma 4 e2b/e4b). Functional and tested but performance/quality varies by host hardware. Production use should pin model versions and run baseline recall regressions.
ai-memory ships attestation in the memory_links table: signature, attest_level (unsigned / self_signed / peer_attested), and signed_at columns are wired through H2 (outbound self-sign), H3 (inbound verify), and H4 (memory_verify MCP tool); #626 Layer-3 verifies caller-presented store-surface signatures (attest_level = "agent_attested"). An unsigned agent_id remains a claim ("claimed") unless AI_MEMORY_REQUIRE_AGENT_ATTESTATION=1 — pair with the attestation envelope for security decisions.
No Raft, no Paxos, no global gossip/DHT. Tier 5 ("global hive") of the architectures matrix is vision — v1.0+ horizon. Don't deploy ai-memory across regions today expecting strong consistency.
ai-memory v0.8.0 holds the following internal certifications. External (third-party) audits and compliance attestations are not yet held for any release; do not represent ai-memory as SOC 2, ISO 27001, FedRAMP, or HIPAA-compliant.
| Certification | Status | Authority |
|---|---|---|
| A2A-Certified (internal) | Yes | A2A gate · v0.6.2 + v0.6.3 |
| Ship-Gate (internal) | Yes | Ship gate · 9/9 cert + 5/5 channels green at v0.6.2 cut |
| SOC 2 | No | No third-party audit. Do not represent. |
| ISO 27001 | No | No third-party audit. Do not represent. |
| FedRAMP | No | No authorization. Do not represent. |
| HIPAA | No | No BAA. Do not represent. |
test-hub/releases/vX.Y.Z/.docs/evidence.html first — the hero FROZEN badge, every row of the facts table, and every status card whose maturity has changed.grep -rE "(191|1,?[0-9]{3})\s*test|9[0-9]\.[0-9]+%\s*coverage|v0\.6\.[0-9]" docs/ README.md — every match either updates to the new canonical number or replaces with a link to evidence.html.