carlos / platform Public

plan: region HA 1a, Astra plan round 4 findings (unedited)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Paul Campbell pushed by claude agent, operated by paul@keymail.dev f02adbada914a0ba6e95a2b47e5134eb1cf53369 parent 6e13c77
1 file changed, +20 −0
  • docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R4.md +20 −0
diff --git a/docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R4.md b/docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R4.md
new file mode 100644
index 000000000..b4f170ac3
--- /dev/null
+++ b/docs/superpowers/plans/CODEX-PLAN-REGION-HA-1A-R4.md
@@ -0,0 +1,20 @@
+Reviewed `6e13c775` against the working tree and spec. Static review only; proposed tests were not executed and no files changed.
+
+| Outstanding finding | Disposition |
+|---|---|
+| R2-3 — Retried deletion lacks durability barrier | **Resolved.** Tombstone ancestors enter `touched` even when the file is already absent; the retry test requires their syncs. |
+| R3-1 — Task 6 depends on Task 7 | **Resolved.** `publishOne` tests moved to Task 7; Task 6 retains independent coverage. |
+| R3-2 — Deep directory-to-file transition fails | **Resolved.** The sync loop checks surviving directory ancestors; `a/b/c → a` is tested. |
+| R3-3 — Held-open test does not require `IN_MODIFY` | **Resolved.** It now requires publication after a second write through the same open descriptor. |
+| R3-4 — Kernel-test selector misses repair-race test | **Resolved.** All seven real-inotify tests now match `Watcher`. |
+
+Checked all eleven task boundaries: no remaining reference to an identifier defined only by a later task was found.
+
+One new finding:
+
+1. **P2 — Task 8, Step 6: missing referenced wake data is silently treated as absent wake state.**
+ At [plan:5615](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha/docs/superpowers/plans/2026-10-05-region-ha-1a-foundations.md:5615), `LoadWake` converts every `os.ErrNotExist` into `found=false, err=nil`. But [fetch at plan:2855](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha/docs/superpowers/plans/2026-10-05-region-ha-1a-foundations.md:2855) propagates that same error when the manifest **contains** `wake.json` but its referenced object is missing. The caller therefore cannot distinguish an optional absent entry from lost timer and wake data.
+
+ **Fix:** return absence only when `m.Platform[WakeItem]` is absent. When the entry exists, propagate every fetch failure. Add a test that publishes wake state, removes its referenced object, and requires `LoadWake` to return an error; retain the existing absent-entry test.
+
+**Verdict: not ready.**
\ No newline at end of file