| 1 | **A6-1 is partially closed:** exclusion and checks are specified, but the draining control and settlement boundary remain incomplete. **A6-2 is closed at design level:** delaying `platform` until acceptance allows rollback after clearing draining; relocation checks the target’s eligibility. |
| 2 | |
| 3 | 1. **P2 — The rollout depends on a draining control still assigned to spec 4.** |
| 4 | [Spec:331](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/design-region-ha-two-box/docs/superpowers/specs/2026-10-15-region-ha-two-box-regions-design.md:331) |
| 5 | |
| 6 | `boxchoice.Eligible` implements the exclusion, but no production writer sets the flag. [S1:427](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/design-region-ha-two-box/docs/superpowers/specs/2026-10-04-region-ha-box-placement-design.md:427) assigns that writer to spec 4; today’s [publisher:778](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/design-region-ha-two-box/internal/host/edgesfile.go:778) leaves `Draining` false. |
| 7 | |
| 8 | **Failure scenario:** migration reaches “set draining” without a supported operation. Editing the published edges file would not persist through republication. |
| 9 | |
| 10 | Explicitly bring the durable set/clear control into spec 2, including API/CLI access, restart persistence, and acknowledgement that placement observes the exclusion before migration proceeds. |
| 11 | |
| 12 | 2. **P2 — Settlement checks omit immediate creates that already selected the old box.** |
| 13 | [Spec:332](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/design-region-ha-two-box/docs/superpowers/specs/2026-10-15-region-ha-two-box-regions-design.md:332) |
| 14 | |
| 15 | Settlement covers console `starting` rows, but ordinary immediate creates use a separate path. During creation, the chosen box is recorded in [`intent.selected_executor`](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/design-region-ha-two-box/internal/hostclaim/create.go:115); `op.exec` remains empty until completion. Recovery [retains that selection](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/design-region-ha-two-box/internal/hostops/production_create.go:257) without checking draining. |
| 16 | |
| 17 | **Failure scenario:** an immediate create selects the old box, then stalls before completion. Draining is enabled; the stated executor and pending-row checks pass. Recovery later completes onto the supposedly empty box. A completion after the final termination check can strand the instance. |
| 18 | |
| 19 | Require a barrier covering every placement path and outstanding selection, including immediate creates and requests between selection and the claim write. Test that race separately from queued `starting` rows. |
| 20 | |
| 21 | Reviewed platform `caa771d5` and flagship `7c99ff8f`. No files changed; no builds, tests or infrastructure commands run. |
| 22 | |
| 23 | --- |
| 24 | |
| 25 | **FIRST PROMPT:** |
| 26 | Review spec 2 round 7 at the pinned HEAD against flagship tofu, read-only. |
| 27 | |
| 28 | **WHAT:** |
| 29 | Confirm A6-1/A6-2 and report new findings. |
| 30 | |
| 31 | **STATUS:** |
| 32 | Complete; two P2 gaps in the draining transition. |
| 33 | |
| 34 | **NEEDED:** |
| 35 | Nothing. |
| 36 | |
| 37 | **RECOMMENDED:** |
| 38 | Specify the draining control and settlement barrier before planning. |
| 39 | |
| 40 | **SESSION:** |
| 41 | Safe to close; nothing started or modified. |
| 42 | |
| 43 | **Verdict: not ready for a plan.** |