convergence-cutover-finish

Make planner authoritative for SaveTransaction finalization

Metadata

Statusabandoned
Agent identity02e879681e52e0a384106169be043416c4d946e850ab26b2269c57681b52a6e7
Created2026-08-04T13:42:26.009511642+00:00
Tagsconvergence-final-cutover
Failure reasonSuperseded by the attended worker-owned universal completion cutover merged in PR #61 (4aca437f); legacy planner/SaveTransaction authority is historical evidence, not production work.

Description

Implement step 5 of docs/plans/deterministic-convergence-final-cutover.md. Normalize exact SaveTransaction, legacy finalization, immutable candidate, validation/FLIP, disposition, CAS, cleanup, and GraphSave receipts. Planner effects advance exactly one phase at a time. Startup replay and exited-worker convergence become effect executors only. Remove their independent scheduling authority. Separate semantic SourceRepair from infrastructure insufficiency and NeedsReconciliation. Preserve first-terminal-wins and exact durable-success projection.\n\n## Validation\n- Full phase table and stale tuple/CAS/receipt tests.\n- DoneHandoff retains FinishHandoff authority but cannot repeat terminal intent.\n- Crash injection at every phase boundary; replay is idempotent and completed_at is stable.\n- Candidate smokes cover exited worker, provider failure after success, target moved, source repair, evaluation unavailable, promotion, cleanup, and dependency readiness.\n- fmt/clippy/check and existing atomic-save traces pass.

Depends on

Required by

Log