| 1 | | Round 1 finding | Assessment | |
| 2 | |---|---| |
| 3 | | R1-1: Tofu initialization | Resolved: initialization remains through Step 4, which also reruns `init`. | |
| 4 | | R1-2: Alias stamps | Resolved: exact aliases and served catch-alls inherit their primary’s stamp. Withheld primaries remain excluded; non-relocatable primaries remain unstamped. | |
| 5 | | R1-3: Terminal participation refusal | Resolved: `deferred` retries through the existing backoff. Equal replay watermarks remain accepted, and rollback stickiness is preserved. | |
| 6 | | R1-4: Failed reads starve others | Resolved: attempt timestamps advance independently of successful decisions. | |
| 7 | | R1-5: Claim refresh cadence | Partly resolved: additional passes fix refresh throughput but bypass retry backoff; see finding 1. | |
| 8 | | R1-6: Invalid discharge evidence | Partly resolved: validation is present and accepts valid `stopping` records, but three checks lack the claimed mutation coverage; see finding 2. | |
| 9 | | R1-7: Incomplete policy assertions | Resolved: both policy statements are compared in full. | |
| 10 | |
| 11 | 1. **P2 — Task 6, Steps 3–4: claim passes bypass publication retry backoff.** |
| 12 | |
| 13 | In [plan:3220](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha/docs/superpowers/plans/2026-10-06-region-ha-1b-claim-readers.md:3220), `claimPass` ignores the scheduler’s `retryAt`. At [plan:3230](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha/docs/superpowers/plans/2026-10-06-region-ha-1b-claim-readers.md:3230), failures from claim-only passes also skip `sched.done`. |
| 14 | |
| 15 | Thus, after failed publication has established a five-minute backoff, pending claim reads can trigger another full publication pass after 30 seconds. Its failure does not advance the backoff. This defeats the existing retry protection in [edgesfile.go:837](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha/internal/host/edgesfile.go:837). The new scheduling test exercises successful passes only. |
| 16 | |
| 17 | **Fix:** make claim-triggered publication obey `retryAt` and account for its outcomes in the scheduler, preserving the timer’s refresh behavior. Add a combined scheduler test covering repeated failures and recovery. With HA disabled, the proposed wrapper preserves the existing behavior. |
| 18 | |
| 19 | 2. **P2 — Task 5, Step 1: three validation checks survive removal without failing the new test.** |
| 20 | |
| 21 | At [plan:2220](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha/docs/superpowers/plans/2026-10-06-region-ha-1b-claim-readers.md:2220), both invalid-state cases also have empty mappings. Removing the state check still rejects them through the empty-mapping check; removing the empty-mapping check still rejects them through the state check. No case supplies a volume ID with an empty device name, so removing that check also goes undetected. |
| 22 | |
| 23 | This contradicts disposition 6’s assertion that each check was independently mutation-tested. |
| 24 | |
| 25 | **Fix:** add separate stored records containing: `running` with an empty mapping; `terminated` with a complete root mapping; and `running` with a volume ID but no device name. Verify that removing each corresponding check fails its test. |
| 26 | |
| 27 | Reviewed `161728ab` against the checkout and rev 5.4. All 16 complete Go file blocks passed syntax parsing. Compilation, task-by-task builds, and proposed Go tests could not run in the read-only sandbox. No files changed. |
| 28 | |
| 29 | **Verdict: not ready.** |