carlos / platform Public

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

Plain git — no account needed to clone.

Download

Download this file

1# Review brief: region HA plan 1a (foundations), round 3
2
3Read `CODEX-PLAN-REGION-HA-1A-BRIEF-1.md` first: its "Fixed: do not
4re-argue" and "What to check" sections still apply, to the plan at the
5commit named in the prompt.
6
7## Round 3
8
9This revision answers your round 2 (`CODEX-PLAN-REGION-HA-1A-R2.md`); the
10plan's last section is its dispositions table. The fixes were dry-run
11again: the host-files package and the home-map change were written into
12the tree, built for linux, darwin and windows, and tested with the race
13detector, then removed. The `internal/hostfiles` code blocks are those
14files verbatim.
15
16First give a disposition for your seven round 2 findings and the four
17round 1 residuals: resolved, partly resolved (say what is left), or not
18resolved. Then report only new findings, including any the fixes
19introduce. Look in particular at:
20
21- `dir_unix.go` and `walk_unix.go`: the descriptor traversal. Any
22 remaining way to follow a link, to block, to leak a descriptor, or to
23 mis-handle `Readdirnames` on a reused handle. `descend`'s ownership of
24 the handles it opens. Whether `readStable`'s five non-OK outcomes are
25 each handled correctly by both callers (`syncRoot` and `publishOne`).
26- `Restore`'s directory syncs: is any directory whose entries changed
27 left unsynced, including a parent whose child directory was created or
28 whose obstructing file or symlink was removed?
29- The watcher's `failures`/`repaired` counters, including a failure that
30 arrives between `Repair` reading `failures` and starting its walk.
31- `tiedStamps` and whether `foldHomes`'s routing result is unchanged from
32 the tree's today for every unstamped input.
33- Whether each new or rewritten test fails when its mechanism is
34 disabled.
35
36Do not re-raise anything you mark resolved. The author still cannot run
37the seven real-inotify tests on the development machine and says so.
38
39## Output
40
41As round 1. End with a verdict: ready to build, or not ready.
42