ai-memory v0.8.0

v0.7.0 Feature Inventory — Net-New from v0.6.4

Baseline: v0.6.4 (tag v0.6.4) Target: v0.7.0 release HEAD on release/v0.7.0 Compiled: 2026-05-15 by the AI NHI ship-readiness initiative; re-anchored 2026-05-22 against schema v49 / 73-tool surface during the SR-5 documentation drift sweep; bumped to schema v50 on 2026-05-23 after #1156 per-namespace K8 quota dimension extension landed; re-anchored 2026-06-05 to schema v55 (#1507 drift sweep) after v51 federation_nonces (#1255), v52 transcript_line_dedup (#1389 L4), v53 memories_au FTS5 trigger scoping (#1418), v54 tier-default expiry backfill (#1466), and v55 sargable federation-catchup query + idx_memories_updated_at (#1476) landed; re-anchored 2026-06-15 to schema v57 / 89-route surface (v0.7.1 EPIC drift sweep) after v56 composite list/archive indexes (#1579 A2) and v57 postgres stored generated tsvector (#1579 B2) landed. Methodology: git diff v0.6.4..HEAD (code & schema) + doc scan + commit-trailer issue cross-reference Path convention: every code path below is repo-relative against the release/v0.7.0 worktree root. The original SR-5 capture used the developer-host worktree /Users/fate/v07/catalogue/; those prefixes have been normalised to repo-relative paths during the 2026-05-22 re-anchor. Scratch: .local-runs/tmp/ (project no-/tmp HARD RULE honored) Read-only review except for this deliverable.


Summary (code-evidence totals)

Metric Count Evidence
Commits ahead of v0.6.4 453 git log --oneline v0.6.4..HEAD \| wc -l
Files touched 545 git diff --name-only v0.6.4..HEAD \| wc -l
Insertions / deletions +233,589 / −23,541 git diff --stat v0.6.4..HEAD tail
src/*.rs files touched 207 git diff --name-only v0.6.4..HEAD -- src/ \| grep -c '\.rs$'
New top-level src/<x>/mod.rs modules 23 see §”New substrate modules” below
New MCP tools (added since v0.6.4) 28 diff of "memory_*" literals between v0.6.4:src/mcp.rs and HEAD:src/mcp/registry.rs
Total MCP tools at v0.7.0 full profile 71 (registry literals — release notes head-line of 63 counts the canonical user-facing surface; the extra 8 are sub-tools / aliases / internals registered alongside) grep -oE '"memory_[a-z_]+"' src/mcp/registry.rs \| sort -u \| wc -l
New SQLite migrations (0015..0033) 20 migrations/sqlite/0015_v07_pending_action_timeouts.sql … 0033_v07_form5_confidence_calibration.sql
New Postgres migrations (0012..0020) 10 migrations/postgres/0012_v0700_metadata_object_check.sql … 0020_v07_form5_confidence_calibration.sql
New AI_MEMORY_* env vars 17 (incl. probe artefact AI_MEMORY_ — net 16 useful) diff of AI_MEMORY_[A-Z_]* literals
New HTTP routes 8 diff of .route("..." literals between v0.6.4 and HEAD
New GovernancePolicy fields 9 (max_reflection_depth, auto_export_reflections_to_filesystem, auto_atomise, auto_atomise_threshold_cl100k, auto_atomise_max_atom_tokens, auto_persona_trigger_every_n_memories, auto_export_personas_to_filesystem, auto_atomise_mode, legacy_per_pair_classifier, auto_classify_kind) src/models/namespace.rs:289-422 vs v0.6.4:src/models.rs
New MemoryKind variants 10 (whole enum is new)Observation (default), Reflection, Persona, Concept, Entity, Claim, Relation, Event, Conversation, Decision src/models/memory.rs:38-85 (did not exist in v0.6.4)
New Capability* structs in src/config.rs 7 (CapabilityReflection, CapabilitySkills, CapabilityForensic, CapabilityGovernance, CapabilityAtomisation, CapabilityMemoryKindVocab, CapabilityConfidenceCalibration) grep '^pub struct Capability' src/config.rs vs v0.6.4
New integration tests 163 (file count under tests/) git diff --name-status v0.6.4..HEAD -- tests/ \| awk '$1=="A"' \| wc -l
New benchmarks 11 (5 in benches/, 6 in benchmarks/) git diff --name-status v0.6.4..HEAD -- benches/ benchmarks/
New documents in docs/ 42 git diff --name-status v0.6.4..HEAD -- docs/ \| awk '$1=="A"' \| wc -l
New cookbook directories 8 cookbook/{agent-external-governance,atomisation,context-offload,file-backed-export,multistep-ingest,persona,production-deployment,recursive-learning}
New helper binaries 4 tools/{auto-link-detector,post-ship-converge,t0-orchestrate,transcript-extractor}
Cargo version bump 0.6.40.7.0 Cargo.toml

New substrate modules (23 new mod.rs)

src/{atomisation,background,cli,confidence,curator,federation,forensic,governance,handlers,hooks,identity,kg,mcp,models,multistep_ingest,notification,offload,parsing,persona,storage,store,synthesis,transcripts}/mod.rs

(src/handlers.rssrc/handlers/mod.rs, src/mcp.rssrc/mcp/, src/models.rssrc/models/: these are flat-to-tree refactors with substantial expansion.)

28 new MCP tools (full list, alphabetical)

memory_atomise
memory_calibrate_confidence
memory_check_agent_action
memory_dependents_of_invalidated
memory_deref
memory_export_reflection
memory_find_paths
memory_ingest_multistep
memory_load_family
memory_offload
memory_persona
memory_persona_generate
memory_quota_status
memory_reflect
memory_reflection_origin
memory_replay
memory_rule_list
memory_skill_compositional_context
memory_skill_export
memory_skill_get
memory_skill_list
memory_skill_promote_from_reflection
memory_skill_register
memory_skill_resource
memory_smart_load
memory_subscription_dlq_list
memory_subscription_replay
memory_verify

17 new AI_MEMORY_* env vars (1 probe artefact, 16 net)

AI_MEMORY_ALLOW_LOOPBACK_WEBHOOKS
AI_MEMORY_AUTO_CONFIDENCE
AI_MEMORY_CONFIDENCE_DECAY
AI_MEMORY_CONFIDENCE_SHADOW
AI_MEMORY_CONFIDENCE_SHADOW_SAMPLE_RATE
AI_MEMORY_DB_PATH
AI_MEMORY_FED_PEER_ATTESTATION
AI_MEMORY_FED_SYNC_TRUST_PEER
AI_MEMORY_FED_TRUST_BODY_AGENT_ID
AI_MEMORY_KEY_DIR
AI_MEMORY_OPERATOR_PUBKEY
AI_MEMORY_PERMISSIONS_MODE
AI_MEMORY_PRECOMPUTE_FAMILY_EMBEDDINGS
AI_MEMORY_SYSTEM_PROMPT_DIR
AI_MEMORY_TEST_AGE_URL
AI_MEMORY_TOOLS_VERBOSE

8 new HTTP routes

/api/v1/approvals/stream      (K10 SSE approval channel)
/api/v1/auto_tag              (LLM auto-tag endpoint)
/api/v1/expand_query          (HTTP parity for memory_expand_query)
/api/v1/kg/find_paths         (KG chain-walk over HTTP)
/api/v1/links/verify          (Ed25519 link verification surface)
/api/v1/memory_load_family    (HTTP parity for memory_load_family)
/api/v1/quota/status          (K8 quota status surface)
/api/v1/tools/list            (MCP tools/list mirror for harness ops)

Per-feature-category headline counts

Category Sub-tasks / items Status
WT-1 atomisation primitive 7 sub-tasks (A-G) SHIPPED
QW Tencent quick wins 4 (QW-1 file-backed export, QW-2 persona, QW-3 context-offload, QW-4 inferred from RuleRefused) SHIPPED
Batman 7-form closeout 7 forms (1-6 + 7th-form agent-EXTERNAL Layer-4) Forms 1-6 SHIPPED; 7th-form Option B foundation LANDED, full cover at v0.8.0 per #697
Recursive-learning primitive 8 tasks (issue #655) Tasks 1-6 SHIPPED commits; Tasks 7-8 ship-gate landed on feat/v0.7.0-recursive-learning
L1/L2 grand-slam wave 8 L2 items + 3 L1 items (issues #666-#673, #691, #693) SHIPPED
Schema migration ladder sqlite + postgres converge on logical schema v57 (CURRENT_SCHEMA_VERSION = 57 in both adapters); on-disk SQL files end at migrations/sqlite/0047_v56_list_composite_indexes.sql (sqlite; v57 is a sqlite no-op since FTS5 already materialises the indexed text) and the in-process migrate_v57() arm (postgres), with post-v34 deltas applied via in-process migration arms (see docs/MIGRATION_v0.7.md §schema-ladder for the per-bump narrative v35-v57) SHIPPED; v33 → v34 V-4 closeout pinned by tests/signed_events_chain_v34.rs; v49 archived_memories full carry pinned by #1025 regression tests; v50 per-namespace K8 quota dimension pinned by tests/per_namespace_quota.rs (#1156); v51 federation_nonces (#1255), v52 transcript_line_dedup (#1389 L4), v53 FTS5 trigger scoping (#1418), v54 tier-default expiry backfill (#1466), v55 sargable federation-catchup + idx_memories_updated_at (#1476), v56 composite list/archive indexes (#1579 A2), v57 postgres stored generated tsvector (#1579 B2)
Security-hardening sweep 11 late-cycle commits SHIPPED on release/v0.7.0, reconciled into trunk @ 64528b1
Round-2 fixes F1-F18 (18 findings) SHIPPED
Capability v3 system 7 new Capability* structs + Track A 5 tasks SHIPPED
Signed events V-4 closeout prev_hash + sequence cross-row hash chain SHIPPED at sqlite v34 / postgres v34 (both adapters now at v55 at release HEAD; the V-4 chain has been live since v34 and is exercised by every signed_events write through v55)
Forensic bundle L2-5 (issue #670) SHIPPED
Federation hardening mTLS + X-API-Key + fingerprint allowlist SHIPPED
K8 quota status tool memory_quota_status SHIPPED
Batman framework audit docs/internal/batman-framework-audit.md (4,478 words) SHIPPED
11-track v0.7.0 epic (A-K) 69/69 tasks SHIPPED per CHANGELOG headline

Per-feature matrix

Feature: WT-1 atomisation primitive (Form 2 substrate-native)

Feature: Form 1 — online dedup-and-synthesis (single-batch action-emitting LLM)

Feature: Form 2 — synchronous atomise-before-embed

Feature: Form 3 — multi-step ingest orchestrator (prompt-cache reuse + explicit-trust helpers)

Feature: Form 4 — fact-provenance (citations + source-URI + atom-grain span)

Feature: Form 5 — auto-confidence + shadow-mode calibration + freshness decay

Feature: Form 6 — MemoryKind Batman vocabulary

Feature: Form 7 (7th-form) — agent-EXTERNAL Layer-4 wiring

Feature: Recursive-learning primitive (Tasks 1-8, issue #655)

Feature: L1-5 Agent Skills ingestion substrate

Feature: L1-6 substrate rules-enforcement engine (Option B foundation)

Feature: L1-7 compaction pipeline

Feature: L2-1 reflection-pass curator

Feature: L2-2 federation-aware reflection coordination

Feature: L2-3 reflection invalidation propagation (NOT cascade)

Feature: L2-4 transcript replay union

Feature: L2-5 forensic bundle

Feature: L2-6 reflection-as-skill promote

Feature: L2-7 skill ↔ reflection composition

Feature: L2-8 reflection-aware reranker boost

Feature: QW-1 file-backed reflection chain export

Feature: QW-2 persona-as-artifact

Feature: QW-3 context offload primitive

Feature: Sidechain transcripts (Track I — v0.6.4 → v0.7.0 hardening)

Feature: Ed25519 attested identity (Track H — full closeout)

Feature: Signed events V-4 closeout (cross-row hash chain)

Feature: Apache AGE acceleration (Track J)

Feature: K1/G1 namespace-inheritance enforcement + permissions pipeline (Track K, 11 tasks)

Feature: Hook pipeline (Track G, 25 events)

Feature: Capabilities v3 response shape (Track A, 5 tasks)

Feature: Loader tools (Track B, 5 tasks)

Feature: Schema compaction (Track C, 5 tasks) — 52% MCP tool-token reduction

Feature: Per-harness positioning + tests (Track D, 4 tasks)

Feature: Discovery Gate + T0 calibration (Track E, 3 tasks)

Feature: Postgres + AGE first-class (Wave 1-4)

Feature: Federation hardening (mTLS + X-API-Key + fingerprint allowlist)

Feature: Security-hardening sweep (release/v0.7.0 reconciled into trunk)

Feature: Round-2 NHI sweep (F1-F18)

Feature: K8 quota status tool

Feature: Batman framework audit deliverable

Feature: Schema migration ladder — sqlite v20 → v57 / postgres v15 → v57 (logical)

Feature: Adapter selection refactor + AppState.store: Arc<dyn MemoryStore>

Feature: Tests pinning ship gate

Feature: Helper binaries (4 new under tools/)

Feature: Benchmarks (11 new)

Feature: 42 new docs

Feature: 8 cookbook directories


Known unknowns / open questions (for downstream reviewers)

  1. Schema-ladder version names — task prompt anchors at “sqlite v33 → v39 / postgres v17 → v38”. On-disk: sqlite tops out at 0033_v07_form5_confidence_calibration.sql, postgres at 0020_v07_form5_confidence_calibration.sql. The “v34” / “v36” / etc. labels in CHANGELOG appear to refer to the PRAGMA user_version numbering applied by src/storage/migrations.rs rather than SQL filenames. Reviewer should verify the SQL-file vs in-process-ladder mapping.
  2. MCP tool count drift — release-notes headline says “63 MCP tools at full profile”; the registry literal grep at src/mcp/registry.rs yields 71 unique memory_* names. The delta of 8 likely covers (a) sub-tools, (b) aliases, (c) internal-only registrations. Reviewer should reconcile against the published --profile full tools/list output.
  3. Form 1 vs Form 2 ship-status — CHANGELOG lists #754 (Form 1) and #755 (Form 2) as still OPEN on GitHub, but the code paths (src/synthesis/, src/atomisation/mod.rs), tests (tests/form_1_synthesis.rs, tests/form_2_synchronous_atomise.rs), and namespace-policy fields (legacy_per_pair_classifier, auto_atomise_mode = Synchronous) are present. Reviewer should clarify the “OPEN issue + SHIPPED code” reconciliation.
  4. Form 7 closeout completeness — release-notes explicitly mark V08-PE-1..V08-PE-8 as v0.8.0 work. Reviewer must verify what ship-readiness means in this context: foundation lands v0.7.0; full cover is v0.8.0.
  5. Recursive-learning Tasks 7-8 — Tasks 1-6 each have a named commit; Tasks 7-8 (ship-gate test suite + docs/release-notes/capabilities honesty pass) are stated to “land on the same branch and roll up here”. Pinned by tests/recursive_learning_task7_*.rs (2 files) and tests/ship_gate/grand_slam_recursive_learning.rs; no Task-8-named test file. Reviewer should verify Task 8 coverage.
  6. CapabilityCuration / CapabilityFederation absence — no Capability* struct for the curator pipeline or federation. The release notes treat both as first-class features. Reviewer should confirm whether the absence is intentional (rolled into CapabilityCompaction and federation-config respectively) or a capabilities-surface gap.
  7. Persona entity_id + persona_version columns — referenced in MemoryKind::Persona doc-comment as “populated only for this variant”. No dedicated schema migration; columns must already exist or be added by 0031_v07_persona.sql. Reviewer should verify column-level coverage.
  8. memory_deref MCP tool — added in v0.7.0 but not covered explicitly by any of the named feature categories (QW-3 context offload registers memory_offload, but memory_deref is its read-side companion). Reviewer should confirm memory_deref belongs under QW-3 / context-offload.
  9. Tencent QW-4RESOLVED 2026-05-15 (Cluster K). QW-4 is a docs-only deliverable (competitive positioning page + landscape comparison), not a code feature. Disposition pinned by v070-ship-readiness-adrs.md ADR-1. The three code-bearing QW items are QW-1 / QW-2 / QW-3; QW-4 is the positioning page at docs/positioning.md.
  10. HTTP /api/v1/auto_tag and /api/v1/expand_query ownership — both surfaces are added but neither is enumerated in CHANGELOG track summaries. Reviewer should map these to their owning track/feature.
  11. policy-engine/wire-points, policy-engine/harness-hook, policy-engine/deferred-audit-log branch refs — CHANGELOG references these as the source branches for PE-1/PE-2/PE-3. Verify all three are merged into HEAD 64528b1 (the CHANGELOG asserts this; reviewer should grep).

Procurement-grade discipline notes

This document is the foundation for the 6-agent parallel ship-readiness review. Each row above is precise enough for a reviewer to navigate directly to the code.

— Cold mountain.