Astra stage B plan round 7: unedited
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 file changed,
+35
−0
docs/superpowers/plans/CODEX-PLAN-REGION-HA-STAGE-B-R7.md+35 −0
diff --git a/docs/superpowers/plans/CODEX-PLAN-REGION-HA-STAGE-B-R7.md b/docs/superpowers/plans/CODEX-PLAN-REGION-HA-STAGE-B-R7.md| new file mode 100644 |
| index 000000000..7360e2268 |
| --- /dev/null |
| +++ b/docs/superpowers/plans/CODEX-PLAN-REGION-HA-STAGE-B-R7.md |
| @@ -0,0 +1,35 @@ |
| +Reviewed HEAD `1cbd65e4`; its plan is unchanged from rev 5.1 at `b313a50c`. |
| + |
| +1. **P2 — Discharge retries become unreachable after releasing the hold.** [Plan:13970](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-1b-next-build/docs/superpowers/plans/2026-10-10-region-ha-1b-next-stage-b.md:13970) |
| + `relocationReleaseHold` releases the registry hold before lifting the fence and writing `Discharged`. If that write fails, loses a CAS race, or the agent crashes first, subsequent runtime passes skip `Finish` because `HoldOp` is now empty. Production `Retained()` is also empty, so participant sweeping cannot recover it. Successor relocations remain blocked indefinitely; a failure before the lift also leaves admission fenced. Retry unfinished completions from the claim’s completion record, independently of the row’s hold. Test recovery through `RelocationRuntime.once`, including a failed discharge CAS and a restart after hold release. |
| + |
| +2. **P2 — A successor move bypasses the discharge gate.** [Plan:2543](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-1b-next-build/docs/superpowers/plans/2026-10-10-region-ha-1b-next-stage-b.md:2543) |
| + The new check protects only `RelocationStartGuard`. After A→B completes but before B discharges, a cross-region B→C move can still start through `BeginMove` and the unchanged `StartGuard`. A’s outstanding retirement does not block C. That transition overwrites `completed_relocation`, while B retains the old participation slot; `prepareWith` then returns `ErrLost` for the move. Apply the discharge barrier to successor moves too, or provide a proven participation handover, and test relocation completion followed immediately by a real move start. |
| + |
| +Round 6 findings **1, 2 and 4 are closed**. Finding **3 remains incomplete**. Task 10b is now correctly mandatory before activation. |
| + |
| +The termination-fence exception is appropriate for a dead completion box: the start verifies its fence and excludes it from the new participants. It cannot recover the live-box retry failure above. |
| + |
| +**Verdict: not ready to build unchanged.** |
| + |
| +Static review only; no tests executed or files changed. |
| + |
| +--- |
| + |
| +**FIRST PROMPT:** |
| +“Follow the review brief docs/superpowers/plans/CODEX-PLAN-REGION-HA-STAGE-B-BRIEF-7.md. Review the plan at its branch HEAD (plan rev 5.1 at b313a50c).” |
| + |
| +**WHAT:** |
| +Review the four fixes, discharge recovery and new regressions. |
| + |
| +**STATUS:** |
| +Complete: two P2 findings. |
| + |
| +**NEEDED:** |
| +Nothing. |
| + |
| +**RECOMMENDED:** |
| +Fix completion retry discovery and gate successor moves; add regression tests. |
| + |
| +**SESSION:** |
| +Safe to close. Workspace unchanged; read-only permissions prevented saving the handoff file. |
| \ No newline at end of file |