carlos / platform Public
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:
- P2 — Task 8, Step 6: missing referenced wake data is silently treated as absent wake state. At plan:5615,
LoadWakeconverts everyos.ErrNotExistintofound=false, err=nil. But fetch at plan:2855 propagates that same error when the manifest containswake.jsonbut 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.