Registered repository migration — transaction tooling
The fleet migration now has a tested, resumable transaction boundary. No registered mount is omitted and no repository changes unless it is explicitly selected.
Delivered contract
- Runtime discovery resolves the effective mount registry and fixes its path and SHA-256 for the run.
- Every mounted repository receives a ZIP snapshot containing complete HTML/JSON recovery content plus a full file inventory.
- Preflight records branch, commit, upstream divergence, dirty paths, alternate worktrees, typed-layout collisions, and project-state mode.
- Only explicitly selected projects migrate; every other project receives an actionable terminal deferred row.
- Capability conversion, typed resource moves, and distributed project state execute in an isolated staging tree.
- Document, schema, relationship, progressive-read, and isolated static-build gates run before exact-path installation.
- Installation rechecks source hashes and automatically restores the snapshot on a process-level failure.
- Ledger transitions are atomic, completed runs are idempotent, and commit/push evidence can be attached after repository integration.
Verification
| Gate | Result |
|---|---|
| Focused migration transaction tests | 5 passed |
| Affected storage, project-state and MCP tests | 93 passed |
| Complete repository suite | 1,378 passed in 34.65 seconds |
| Ruff lint and format | clean |
| Implementation commit | f39a4cb |
Injected installation failure restored the original Git worktree exactly. The next gate is the real Reckon canary, followed by explicitly authorised repository waves.