| 1 | # Review brief: region HA plan 1b, round 1 |
| 2 | |
| 3 | You are an independent second reader. Review the implementation plan |
| 4 | `docs/superpowers/plans/2026-10-06-region-ha-1b-claim-readers.md` at the |
| 5 | commit named in the prompt, against the tree at the working directory |
| 6 | (Go, module github.com/carlosframework/platform) and the approved spec |
| 7 | `docs/superpowers/specs/2026-10-04-region-ha-box-placement-design.md` |
| 8 | (rev 5.4; rulings H1–H19 in §0). |
| 9 | |
| 10 | ## Fixed: do not re-argue |
| 11 | |
| 12 | - The spec's rulings H1 to H19, and Paul's approval of rev 5.4. |
| 13 | - The scope rule: plan 1b builds only what needs none of the spec's |
| 14 | L1–L20 claim/moves changes; everything listed under "Waits for the |
| 15 | claim" is out of scope. Do not ask 1b to build those. |
| 16 | - The controller rulings recorded in the plan's header. |
| 17 | - Everything stays dormant behind CARLOS_REGION_HA and changes nothing on |
| 18 | a one-box region. |
| 19 | |
| 20 | ## What to check |
| 21 | |
| 22 | 1. Does the code compile and do the tests pass as written? The author |
| 23 | dry-ran every task on a clean copy of main; a "would not compile" |
| 24 | finding should quote the line and say exactly what is undefined. |
| 25 | 2. Does each test pin the behaviour its name claims, and fail with its |
| 26 | mechanism removed? |
| 27 | 3. Correctness: boxid.Enroll's evidence chain (signature, account, |
| 28 | region, legacy tofu id, both directions of the roster), termfence's |
| 29 | binding to the roster's cloud identity and H19 (terminated alone; |
| 30 | absence never evidence), boxvolumes' records and Discharge (H19 and |
| 31 | the 2-hour ruling), the edges-file claim reader (§5.4: withholding, |
| 32 | stamps, caching, read failures), root's update refusal (§5.10's half), |
| 33 | the bucket policy (would any statement break something that works |
| 34 | today, especially existing writers under control/). |
| 35 | 4. Dormancy: anything that changes behaviour with CARLOS_REGION_HA off, |
| 36 | or on a one-box region. |
| 37 | 5. Task boundaries: a task that cannot be built and tested alone, in |
| 38 | order. |
| 39 | 6. Scope: anything that quietly depends on an L-change, or writes a |
| 40 | claim. |
| 41 | |
| 42 | ## Output |
| 43 | |
| 44 | Findings ranked P1 (would not compile, a test fails, or unsafe), P2 |
| 45 | (wrong or missing), P3 (clarity). Each: task and step, the problem, the |
| 46 | evidence (file:line, or the plan's own line), and a concrete fix. End |
| 47 | with a verdict: ready to build, or not ready. |
| 48 | |