Build 20 cut over showing 37 of 3317 memories, with "memory unavailable"
on every page:
- `/api/v2/memory-authority` read the cutover receipt, which cleanup drops
and a fresh home never has, so the UI chose the legacy views the API
refuses. It now reads the authority singleton the gates use.
- #145 renamed the SDK vector collections (`one_memory_*` to `memhub_*`)
and dropped the step that carried old ones over, so every later Runtime
read an empty collection. `sdk-migrate` now renames them through Chroma's
public client while the Runtime is stopped, merging any newer writes,
and also repairs homes that already cut over.
- The cutover only checked the backup. It now opens the public SDK client
as the Runtime will and reads the legacy memory ids back; every chat
memory must read back or the run stops before anything irreversible.
A migrated home is checked against its pre-cutover bundle.
Cleanup also VACUUMs the main database to return the dropped tables' space.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>