# Review brief: region HA plan 1a (foundations), round 3

Read `CODEX-PLAN-REGION-HA-1A-BRIEF-1.md` first: its "Fixed: do not
re-argue" and "What to check" sections still apply, to the plan at the
commit named in the prompt.

## Round 3

This revision answers your round 2 (`CODEX-PLAN-REGION-HA-1A-R2.md`); the
plan's last section is its dispositions table. The fixes were dry-run
again: the host-files package and the home-map change were written into
the tree, built for linux, darwin and windows, and tested with the race
detector, then removed. The `internal/hostfiles` code blocks are those
files verbatim.

First give a disposition for your seven round 2 findings and the four
round 1 residuals: resolved, partly resolved (say what is left), or not
resolved. Then report only new findings, including any the fixes
introduce. Look in particular at:

- `dir_unix.go` and `walk_unix.go`: the descriptor traversal. Any
  remaining way to follow a link, to block, to leak a descriptor, or to
  mis-handle `Readdirnames` on a reused handle. `descend`'s ownership of
  the handles it opens. Whether `readStable`'s five non-OK outcomes are
  each handled correctly by both callers (`syncRoot` and `publishOne`).
- `Restore`'s directory syncs: is any directory whose entries changed
  left unsynced, including a parent whose child directory was created or
  whose obstructing file or symlink was removed?
- The watcher's `failures`/`repaired` counters, including a failure that
  arrives between `Repair` reading `failures` and starting its walk.
- `tiedStamps` and whether `foldHomes`'s routing result is unchanged from
  the tree's today for every unstamped input.
- Whether each new or rewritten test fails when its mechanism is
  disabled.

Do not re-raise anything you mark resolved. The author still cannot run
the seven real-inotify tests on the development machine and says so.

## Output

As round 1. End with a verdict: ready to build, or not ready.
