carlos / platform Public

Clone
git clone https://amadan.net/carlos/platform

Plain git — no account needed to clone.

Download

Download this file

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, LoadWake converts every os.ErrNotExist into found=false, err=nil. But fetch at plan: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.