carlos / platform Public

Region HA plan 1b-next: Astra round 12 findings (1 resolved, 2 new P2), unedited

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev ba50de69e8c20c58ce9c9335c2b742610f765d53 parent 5657235
1 file changed, +45 −0
  • docs/superpowers/plans/CODEX-PLAN-REGION-HA-1BN-R12.md +45 −0
diff --git a/docs/superpowers/plans/CODEX-PLAN-REGION-HA-1BN-R12.md b/docs/superpowers/plans/CODEX-PLAN-REGION-HA-1BN-R12.md
new file mode 100644
index 000000000..320cc46d7
--- /dev/null
+++ b/docs/superpowers/plans/CODEX-PLAN-REGION-HA-1BN-R12.md
@@ -0,0 +1,45 @@
+Reviewed `56572359`.
+
+| Round 11 finding | Disposition | Assessment against rev 12 |
+|---|---|---|
+| Admission trimming loses valid file origins | Resolved | Referenced origins now survive independently of admissions. The regression exercises ten real admission/publication cycles and successfully copies the retained `g1` file. |
+
+1. **P2 — Task 7: acknowledging a successor before sweeping its predecessor can deadlock.**
+
+ [`Acknowledge`, lines 8998–9011](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-1b-next/docs/superpowers/plans/2026-10-07-region-ha-1b-next-relocation.md:8998) looks up controllers by host **and operation**, then opens a missing controller using `e.Lifetime`.
+
+ If relocation A completes and B starts before this box sweeps A, A still holds the host’s lifetime lock. B’s `hostexec.Open` waits for that lock; its pass deadline cannot interrupt the agent-lifetime context. The sequential participant pass cannot reach the sweep that would release A.
+
+ **Fix:** retire obsolete controllers for the same host before opening a successor, with bounded acquisition. Handle `ClearStale`’s refusal when the successor still lists this box ([controller.go:643](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-1b-next/internal/hostexec/controller.go:643)). Add a real-controller regression where B starts before A’s sweep. This is an additional interleaving in the cleanup added after round 2.
+
+2. **P2 — Task 8c, Step 4 / Stage B contracts: successful probes require an unassigned launch dependency.**
+
+ [R1](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-1b-next/docs/superpowers/plans/2026-10-07-region-ha-1b-next-relocation.md:204) requests probe dispatch; [Task 8c’s gate](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-1b-next/docs/superpowers/plans/2026-10-07-region-ha-1b-next-relocation.md:10348) requires 6b and that dispatch.
+
+ However, upstream claim Plan 6b explicitly supports no enabled tenant launch. Its `Roles.Preflight` refuses before probe dispatch (6b:12587–12590, 14392). Its external-completion gate requires a reservation-bearing isolated root-launch protocol and states that external owner adapters do not supply it (6b:15881). Completing R1 as specified still leaves every production probe refused.
+
+ **Fix:** assign that integration through an explicit upstream request and Stage B activation gate. Add a named production probe test covering successful isolated launch and refusal without the protocol.
+
+I accept rulings 1–24. All 12 embedded patches pass `git apply --check`; all 41 complete Go blocks parse with `gofmt`. Compilation and tests were not reproduced in this read-only session.
+
+---
+
+**FIRST PROMPT:**
+“Follow the review brief docs/superpowers/plans/CODEX-PLAN-REGION-HA-1BN-BRIEF-12.md. Review the plan at commit 56572359.”
+
+**WHAT:**
+Review Stage A readiness and Stage B contracts.
+
+**STATUS:**
+Round 11 resolved; two P2 findings.
+
+**NEEDED:**
+Nothing.
+
+**RECOMMENDED:**
+Fix successor controller handover and explicitly gate the production launcher.
+
+**SESSION:**
+Safe to close — no files changed or processes left running.
+
+**Verdict: not ready.**
\ No newline at end of file