Every 1.0.4 home must pass the offline SDK cutover, but the runtime
service could start Core on a home whose migration failed, so it served
legacy. Callers also asked Core for the memory authority before many
calls and kept v1 data-plane branches that only ever 409 on SDK.
Migration and startup:
- Write every migration step to logs/sdk-migration.log (content-free
JSON lines) from Desktop, CLI, the runtime service and Core.
- Migrate before the runtime service spawns Core; Core refuses a legacy
home with sdk_migration_required.
- Desktop shows a dialog that reveals the log and opens a GitHub issue,
then quits. CLI install/upgrade no longer roll back to a version
without the gate; start/restart/status/doctor name the log.
- Cycle the service when the migration status is unreadable so no
pre-upgrade Runtime keeps serving.
SDK only:
- Web, host-bridge and CLI call v2 only; drop the authority query.
- Delete Core's v1 data plane, the Reader and /api/v2/memory-authority.
- Fix MCP memory write on v2, MemHub_conversations, memhub recall and
status, v2 call events and WorkBuddy delivery reports.
- Remove dead features: matters, boundary peek/ack, memory plan/apply,
the legacy library and its v1 operations.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>