carlos / platform Public

Clone
git clone https://amadan.net/carlos/platform

Plain git — no account needed to clone.

Download

Download this file

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
31. **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
122. **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
21Reviewed platform `caa771d5` and flagship `7c99ff8f`. No files changed; no builds, tests or infrastructure commands run.
22
23---
24
25**FIRST PROMPT:**
26Review spec 2 round 7 at the pinned HEAD against flagship tofu, read-only.
27
28**WHAT:**
29Confirm A6-1/A6-2 and report new findings.
30
31**STATUS:**
32Complete; two P2 gaps in the draining transition.
33
34**NEEDED:**
35Nothing.
36
37**RECOMMENDED:**
38Specify the draining control and settlement barrier before planning.
39
40**SESSION:**
41Safe to close; nothing started or modified.
42
43**Verdict: not ready for a plan.**