carlos / platform Public

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

Plain git — no account needed to clone.

Download

Download this file

1# Review brief: region HA spec 1 (box placement), round 4
2
3You are an independent second reader. Review
4`docs/superpowers/specs/2026-10-04-region-ha-box-placement-design.md` at
5the commit named in the prompt, in the repository at the working
6directory (Go; carlos platform).
7
8## Fixed: do not re-argue
9
10§0's rulings H1 to H6 are Paul's and are fixed, as are the standing
11rulings listed under them. Report only mechanisms that fail to honour
12them, are unsafe, or are missing.
13
14## What the spec builds on
15
16- Host lifecycle claim rev 6.3: file
17 `/home/paulca/amadan.net/carlos/platform/.claude/worktrees/replica-ownership/docs/superpowers/specs/2026-10-02-host-lifecycle-claim-design.md`
18- Move-any-app rev 7.6 (29245f69): file
19 `/home/paulca/amadan.net/carlos/platform-moves-design/docs/superpowers/specs/2026-10-02-move-any-app-design.md`
20- Nearest-region, on main: `docs/superpowers/specs/2026-10-01-nearest-region-default-design.md`
21 and `internal/console/regioncandidates.go`.
22
23Those specs are still in review themselves. Where spec 1 relies on them,
24check it relies on what they actually say; §9 lists the changes it asks
25of them.
26
27## Focus
28
291. **One writer.** Can any sequence (create, relocation, termination,
30 a stale edges file, a stale warm copy, a placer that pauses, the
31 console's box dying, a partition from the control bucket) leave two
32 boxes running or writing one host, or a box serving a stale copy?
332. **The termination fence (§5.9).** Is `terminated` from
34 DescribeInstances sufficient evidence? What about eventual
35 consistency of EC2 state, a box id that is a label not an instance
36 id, a box in another account or region, a forged edges file.
373. **Files durability (§5.6).** Restore ordering, tombstones,
38 generation scoping, interaction with the moves archive, what a
39 `snapshot` app loses.
404. **Reconcile and the edges (§5.3, §5.4).** The slow sweep, the stamp
41 rule, legacy files without stamps.
425. **The K list (§9).** Is anything missing that the claim or moves
43 specs would need to change for multi-box regions?
446. **Code citations.** Verify every `file:line` cited against the tree.
45
46A mechanism named, bounded and assigned to spec 2, 3 or 4 (§12) is
47complete at this level; don't pull later specs' depth into this one.
48
49## Output
50
51Findings ranked P1 (unsafe or blocks build), P2 (wrong or missing), P3
52(clarity). Each: section, the problem, a concrete failing sequence, and
53a suggested fix. End with a verdict: ready for plan, or not ready.
54
55## Round 4
56
57This is rev 4, answering rounds 1 to 3 (`CODEX-FINDINGS-REGION-HA-1.md`
58to `-3.md`). First give a disposition table for each round 3 finding
59(A3-1 to A3-4) and the A2-5, A2-7 and A1-1 residuals: resolved, partly
60resolved (say what is left), or not resolved. Then report only **new**
61findings, including any that rev 4's fixes introduce: the release
62sequence (§5.8), the bind and the `control/boxes/` bucket policy (§5.1),
63polling while watch coverage is missing (§5.6), and the S3 conditional
64policies (§6). Don't re-raise anything a previous round's disposition
65marked resolved unless rev 4 broke it.
66