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 3
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 3
56
57This is rev 3, answering your rounds 1 and 2 (`CODEX-FINDINGS-REGION-HA-1.md`
58and `CODEX-FINDINGS-REGION-HA-2.md`). First give a disposition table for
59each round 2 finding (A2-1 to A2-7) and the A1-1 and A1-7 residuals:
60resolved, partly resolved (say what is left), or not resolved. Then
61report only **new** findings, including any that rev 3's fixes
62introduce: the legacy bind (§5.1), per-phase rows (§5.3, §5.8), the
63replacement table, probe deadline and `stuck` (§5.8), the third evidence
64method and `awaiting-evidence` (§5.9), the continuous-sync deadline
65(§5.6) and the S3 write split (§6).
66