ai-memory v0.8.0

ai-memory v0.7.0 — 2026-05-28 Ship Campaign Dossier

What this is

The 2026-05-28 ship campaign dossier for ai-memory v0.7.0. The branch release/v0.7.0 (HEAD be3347d70) was put through the integrated post-#1174 + post-CI-flake-closure-sweep sweep against the dogfooded binary, the rebuilt lan-parity-test Docker stack, and the full postgres+AGE regression — plus a 100% sweep of the docs + GitHub Pages drift surface (closes #1197 + #1198) and a scope-disciplined CoALA prior-art citation (#1380). Six tracks were exercised under one matrix:

5 GitHub issues were touched this campaign: #1197 (docs drift NO FAIL MISSION, closed via #1379), #1198 (Pages drift NO FAIL MISSION, closed via #1379), #1378 (install codex TOML support — filed during install verification, open, not blocking), #1381 (postgres test-isolation defects, closed via #1382), #1382 (the fix PR itself). The 3 audits under pm-v3.2 NO FAIL MISSION discipline (Audit A / B / C) verified the docs+Pages fix batch. Audit C: ZERO-DEFECTS-CONFIRMED on the load-bearing pinning tests, with a latent-drift-risk flagged for the v0.8 doc-drift-detection workflow.

Verdict at a glance

SHIP-CLEARED. The Track A (build + 1hr dogfood), Track B (A2A in-host via lan-parity), Track C (postgres+AGE regression + #1381 fix PR #1382), Track D (docs + Pages drift 100% remediation closing #1197 + #1198), and Track E (CoALA citation #1380) checkboxes for #836 are agent-completable and now GREEN against tip be3347d70 (with PR #1382 + PR #1379 + PR #1380 pending operator merge). The remaining Track D cross-node routing (192.168.50.100 ↔ 192.168.1.50) and the 24h dogfood-rebuild loop are explicitly operator-gated by #836’s own checklist.

How this directory is organised

File Audience Purpose
README.md All readers Campaign index — this file
track-a-build-install-results.md Engineering Binary SHA + symlink topology + install verification + 1hr dogfood evidence (MCP PID + uptime + RSS)
track-b-a2a-docker-results.md Engineering A2A in-host portion via lan-parity stack (alice + bob health, federation paths)
track-c-postgres-age-results.md Engineering Postgres + AGE full regression (8028/9 triage matrix, #1381 + PR #1382 detail, v51 lockstep parity)
track-d-docs-pages-drift-results.md Engineering #1197 + #1198 100% remediation; 3 commits on PR #1379; Audit A/B/C verdicts
track-e-coala-citation-results.md Engineering PR #1380 scope-disciplined detail; 3 deliverables, 3 rejected proposals; ZERO-DEFECTS-CONFIRMED
track-f-ai-nhi-assessment-v3.md Engineering Pointer to the parallel-dispatched Opus 4.7 v3 NHI assessment report
audience-non-technical.md End users / curious observers 600–800 words, plain English
audience-c-level.md Executive / PM / decision-maker 800–1,000 words, verdict + risk + cost + roadmap
audience-sme-engineer.md SME engineers + architects 1,500–2,000 words, reproducibility + methodology + per-issue root-cause table + future-bug prevention
index.html GitHub Pages Dark-theme landing card-grid

Issues touched in this campaign

# Title PR / Commit Status Category
#1197 Docs drift NO FAIL MISSION (post-#1174 follow-up) PR #1379 (e6ac824bb + 3001ffd47 + 73f3c7af5) CLOSED in-campaign docs drift
#1198 GitHub Pages drift NO FAIL MISSION (post-#1174 follow-up) PR #1379 (same 3 commits) CLOSED in-campaign docs drift
#1378 ai-memory install codex rejects TOML config (Codex CLI uses ~/.codex/config.toml) filed during install verification OPEN, not blocking ship install path
#1381 4 postgres tests assume empty shared schema (lan-parity stack) PR #1382 (d1d5b33de) CLOSED in-campaign test isolation
#1382 (PR) per-test PostgresTestEnv schema isolation helper the PR itself OPEN, pending operator merge test infra

Categorical breakdown

Category Count Issues
Docs drift (post-#1174 closure follow-up) 2 #1197 #1198
Test isolation defects (lan-parity shared-container) 1 (4 sub-defects) #1381
Install-path defect (codex TOML) 1 #1378
CoALA prior-art citation (separate scope-disciplined PR) 1 (#1380 PR)

The 4 #1381 sub-defects: auto_migrate_converts_384_schema_to_768_on_daemon_bootstrap, issue_1213_unscoped_probe_demonstrates_root_cause, issue_1213_atttypmod_probe_scopes_to_public_schema, migrate_links_sqlite_to_postgres_to_sqlite_roundtrip — all share one root cause (tests assume an empty/known schema state on the postgres container, but other tests + the long-lived ic_alice / ic_bob daemon schemas from the lan-parity stack accumulate state). Substrate itself is GREEN; the fix lives entirely on the test side.

Code commits + PRs this campaign

SHA / PR Type Scope
e6ac824bb docs(#1197,#1198) 100% remediation of v0.7.0 docs + GitHub Pages drift (initial 23-file batch, 41 sites)
3001ffd47 docs(#1197,#1198) QC Audit A round-1 fix-batch (+6 sites, +1 file)
73f3c7af5 docs(#1197,#1198) QC Audits A-retest + B fix-batch (+7 sites concentrated in compliance/inventory)
d1d5b33de test(postgres,#1381) Per-test schema isolation for 4 lan-parity shared-container failures (new tests/common/postgres_env.rs, 421 LOC)
27828b885 docs(strategy) CoALA prior-art citation (PR #1380, 3 files: ROADMAP + positioning + new docs/strategy/coala-mapping.md)
PR #1379 docs(release-gate) 100% v0.7.0 docs + GitHub Pages drift remediation (3 commits above)
PR #1380 docs(strategy) CoALA prior-art citation (separate scope-disciplined PR)
PR #1382 test(postgres) Per-test schema isolation for 4 lan-parity-shared-container failures

Canonical counts at HEAD be3347d70

Every authoritative number cited in this dossier resolves through the codebase via the path noted; the docs-drift sweep (Track D) is specifically the closure that brought every doc page in line with this table.

Item Value Source-of-truth
MCP tools at --profile full 73 src/profile.rs::Profile::expected_tool_count() sum across families
MCP tools at --profile core 7 src/profile.rs::Family::Core arm
HTTP route registrations 87 raw .route( calls in src/lib.rs
HTTP unique URL paths 73 dedup of .route( path string literals (excluding #[cfg(test)] /slow)
CLI subcommands (default build) 79 pub enum Command variants in src/daemon_runtime.rs
CLI subcommands (--features sal OR --features sal-postgres) 81 adds Migrate + SchemaInit (src/daemon_runtime.rs:311,321)
Memory struct fields 26 pub struct Memory in src/models/memory.rs
MemoryLink variants 6 pub enum MemoryLinkRelation in src/models/link.rs
Schema version 51 const CURRENT_SCHEMA_VERSION: i64 = 51 in src/storage/migrations.rs
cargo audit deps 529 cargo audit advisory-db scan on Cargo.lock
Postgres+AGE test result 8,028 / 9 / 27 / 312 cargo test --features sal,sal-postgres --release --no-fail-fast (lan-parity, this campaign)
Sqlite-path test result (no postgres URL) 7,332 / 0 / 16 / 309 cargo test --release against integrated HEAD (per the chore(release-prep) commit be3347d70)

Reproducibility contract

  1. Branch + tip. release/v0.7.0 (HEAD be3347d704dad03bcc210c9eb0a517946dbe555f).
  2. Binary. Built from release/v0.7.0 tip at target/release/ai-memory; install symlinked to /opt/homebrew/bin/ai-memory per scripts/dogfood-rebuild.sh.
  3. Lan-parity stack. infra/lan-parity-test/docker-compose.yml spun up via docker compose up -d --build. Three containers: ai-memory-lan-parity-alice (HTTP 127.0.0.1:19180), ai-memory-lan-parity-bob (HTTP 127.0.0.1:19181), ai-memory-lan-parity-pg-age (postgres 127.0.0.1:15432, PG16 + AGE 1.6.0 + pgvector 0.8.2).
  4. Test invocation (Track C). cargo test --features sal,sal-postgres --release --no-fail-fast with AI_MEMORY_TEST_POSTGRES_URL=postgresql://aimemory:****@127.0.0.1:15432/aimemory and AI_MEMORY_TEST_AGE_URL bound to the same URL.
  5. Schema version. v51 (current at release/v0.7.0 HEAD; postgres ladder ends at migrate_v51(), sqlite at the if version < 51 arm; per-namespace quota at v50 #1156; federation nonces table at v51 #1255 / PR #1296).
  6. Authoring agent. Claude (Opus 4.7, 1M context). Three pm-v3.2 codegraph-driven QC audits dispatched during Track D (Audit A literal enumeration; Audit B structural call-graph; Audit C regression-invariance fault-injection).

Hard rules during the campaign

Per the prime directive pm-v3.3 (memory pm-v3.3-supersedes namespace global/policies) and the testing-loop addendum:

Memory namespace convention

Item Namespace Title pattern
Ship-campaign phase results ai-memory/v0.7.0-ship-campaign-2026-05-28 SC-{phase}-{result}
Ship verdict ai-memory/v0.7.0-ship-campaign-2026-05-28 Ship verdict 2026-05-28
Prime directive pm-v3.3 global/policies memory pm-v3.3-supersedes (supersedes cd8ede94…)
Orchestrator safeguards _v070_orchestrator_safeguards memory a1cc142d-053a-49ab-83bd-1a99992fa93e
Strategic tracking _v070_strategic_tracking lane index f970d6f6-7bde-4d6b-9a53-500734961e04
Release-gate checklist _v070_release_gate issue #836 mirror

Provenance

Item Value
Campaign date 2026-05-28
Operator justin@alpha-one.mobi
Authoring agent Claude (Opus 4.7, 1M context)
Authority Autonomous execution under pm-v3.3 (verify-before-claiming + no-operator-handoffs + recompile-retest discipline + fix-all-in-current-release)
QC pass A (literal) codegraph-driven enumeration of drift sites (Audit A)
QC pass B (structural) codegraph call-graph traversal (Audit B)
QC pass C (regression-invariance) fault-injection on pinning tests (Audit C)
Prior campaign docs/v0.7.0/test-campaign-2026-05-22-release-gate-final/
Branch HEAD release/v0.7.0 at be3347d704dad03bcc210c9eb0a517946dbe555f
Lan-parity stack infra/lan-parity-test/docker-compose.yml (alice 19180, bob 19181, pg-age 15432)
Postgres+AGE log .local-runs/2026-05-28-ship-campaign/

Apache-2.0, © 2026 AlphaOne LLC. Drafted by Claude (Opus 4.7, 1M context).