carlos / platform Public

Region HA two-box model plan: Astra round 2 findings (7 resolved, 1 partly, 2 new P2), unedited

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev dcf68aa1581ca7ce43b51d70639bae05b91da5dc parent 64a0a79
1 file changed, +50 −0
  • docs/superpowers/plans/CODEX-PLAN-REGION-HA-TWO-BOX-R2.md +50 −0
diff --git a/docs/superpowers/plans/CODEX-PLAN-REGION-HA-TWO-BOX-R2.md b/docs/superpowers/plans/CODEX-PLAN-REGION-HA-TWO-BOX-R2.md
new file mode 100644
index 000000000..866fa14c2
--- /dev/null
+++ b/docs/superpowers/plans/CODEX-PLAN-REGION-HA-TWO-BOX-R2.md
@@ -0,0 +1,50 @@
+Reviewed `64a0a793`.
+
+| Round 1 finding | Disposition | Assessment |
+|---|---|---|
+| 1. One-box create recovery | Resolved | Baseline selection and cancellation behavior are preserved; interruption and seed-trace comparisons are added. |
+| 2. Stuck source admissions | Resolved | Both admission paths refuse stuck operations; a targeted wake test covers the source. |
+| 3. Sole-box eligibility | Resolved | The shortcut is restricted to the original non-HA shape. Five HA eligibility refusals are tested. |
+| 4. Acknowledgement fidelity | Resolved for the reported defects | Durable acknowledgements replace current leases, and the missing installed/probing barriers are added. A separate failover barrier is still missing below. |
+| 5. Fence timing | Resolved | Retained observation times govern pin delays and dead-target deadlines, with targeted tests. |
+| 6. Exact-phase termination | Resolved | The matrix asserts the exact phase and live topology before injection and includes target loss in `probe-failed`. |
+| 7. Mutation-sensitive evidence | Resolved in the plan | All five guards now have discriminating direct tests. |
+| 8. Claim §11 coverage | **Partly resolved** | The move, record-race and cleanup cases are added. The [crash test](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-two-box/docs/superpowers/plans/2026-10-07-region-ha-hostlife-two-box.md:6704) still misses **marker published, replication not yet open**: it holds the marker PUT before publication or waits until replication has opened. Add an explicit yield at the intervening boundary and crash there. |
+
+The coverage table’s remaining mappings to 1b-next adapter tests are acceptable under claim §11.
+
+1. **P2 — Tasks 2–3, Step 1: failover selects its pin before the required acknowledgement.**
+ [`startFailover`](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-two-box/docs/superpowers/plans/2026-10-07-region-ha-hostlife-two-box.md:2866) enters `pinning` without a target. [`relocPinning`](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-two-box/docs/superpowers/plans/2026-10-07-region-ha-hostlife-two-box.md:1563) journals the pin before naming a target or checking acknowledgements. Accepted 1b-next rev 19’s `PinFailover` instead requires participant acknowledgements before entering `pinning`.
+
+ Hold the target controller unavailable and land a newer files manifest during that delay: the model can already have frozen an earlier pin, while 1b-next must wait. Ruling 4’s phase collapse therefore moves a guard, and removing production’s `PinFailover` barrier has no model counterpart.
+
+ **Fix:** preserve failover `starting`, or an equivalent guard before pin selection. Add a test that delays acknowledgement while a newer manifest lands.
+
+2. **P2 — Task 5, Step 1: the two-box adverse-volume test does not prove execution recovery.**
+ [`TestL18AdverseVolume`](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-two-box/docs/superpowers/plans/2026-10-07-region-ha-hostlife-two-box.md:4193) completes a drain before terminating the former executor. It verifies retained local chores, but the current executor never fails. Claim §11 requires recovery to proceed while those chores remain open; the one-box case alone does not establish this in both shapes.
+
+ **Fix:** terminate the current executor with `DeleteOnTermination=false`, await serving on its peer, and assert the dead box’s local chore remains open before operator cleanup runs.
+
+Sequential patches and Go parsing were checked in memory. Compilation, runtime tests and mutation results were not independently reproduced in this read-only workspace. No files changed or sweeps ran.
+
+---
+
+**FIRST PROMPT:**
+Review the plan at `64a0a793` using review brief 2.
+
+**WHAT:**
+Check prior dispositions and report new findings.
+
+**STATUS:**
+Seven resolved, one partly resolved; two new P2 findings.
+
+**NEEDED:**
+Nothing for this review.
+
+**RECOMMENDED:**
+Correct the failover barrier and complete the adverse-volume and crash-boundary tests.
+
+**SESSION:**
+Safe to close — no files changed or processes left running.
+
+**Verdict: not ready.**
\ No newline at end of file