v5.5.0 — V5-3 storage cutover: device-local is canonical
MINOR. The kernel no longer contains a built-in vault backend. State (harness_state_dir, read_state_file, write_state_file) is device-local only; phase_recall returns ""; resolve_documenter_context returns None. The vault is reachable only through the obsidian-vault plugin; a config-file storage.backend=vault with no vault accessible now raises StorageBackendNotInstalledError — never a silent demotion to device-local. Four locked design calls in ADR 0018. Gates: 20/20, CI green across Linux/Mac/Windows.
What shipped
- V5-3 — lock A2 index invariant (
53f96fa).scripts/test_a2_index_invariant.py— gate confirming vector index stays under~/.cache/agentm/, never inside the synced vault root. - V5-3 — vault-root rename tooling (
cd78cdd,1358e1d).scripts/rename-vault-root.sh— Phase A backup+runbook, Phase B string sweep across 36 files. Used to execute theAgentMemory → Agentrename. - V5-3 — group rename: personal-private → personal (
053217b). 3-part lockstep: kernel_ALWAYS_LOAD_REL, pluginvault_probe.py, 10 skill scripts. - V5-3 — delete vault backend from kernel; device-local state only (
8cb2b48).harness_memory.py—harness_state_dir/read_state_file/write_state_fileunconditional device-local;phase_recall→"";resolve_documenter_context→None. - V5-3 —
vault_path()fail-loud guard (05e63d3).StorageBackendNotInstalledErrorraised whenstorage.backend=vaultconfigured but no vault accessible.$MEMORY_VAULT_PATHenv override remains graceful-skip. Six tests inTestVaultPathGuard. - V5-3 — ADR 0018; HLD v0.9; ADR 0010/0013 amendments (
8ce8824). Seven V5-3 design calls documented. ADR 0010 re-audit trigger #1 closed. ADR 0013 negative bullets resolved.
See also
- ADR 0018 — full design record.
- Completed Features — V5-3 — narrative summary.