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

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 2

This revision answers your round 1 (`CODEX-PLAN-REGION-HA-1A-R1.md`); the
plan ends with a dispositions table. Since round 1 the plan's code was
dry-run by its author: every new package and both patch tasks were
written into the tree, built, cross-built for darwin and windows and
tested, then removed. The code blocks for `internal/boxid`,
`internal/hostfiles`, `internal/termfence`, `internal/activator/installed*`
and `internal/console/boxchoice*` are those files verbatim. So a
"would not compile" finding should be rare: if you raise one, quote the
line and say exactly what is undefined.

First give a disposition table for your nineteen round 1 findings:
resolved, partly resolved (say what is left), or not resolved. Then
report only new findings, including any the fixes introduce. In
particular look at:

- `readStable`, `syncRoot`, `Restore`, `removeInside`, `writeInside` and
  their use of `os.Root` (Go 1.26): any remaining way out of the root,
  any way to block, any path where a tombstone or a write is skipped
  that should not be, or the reverse.
- The run loop's degraded, repair and dead-watcher handling, and whether
  each test can pass with its mechanism disabled.
- `edgesFileWrite`'s `refresh` and the seeded gate.
- `foldHomes`'s tie reporting and `dialBeats` against every existing
  home-map rule.
- The SQS queue policy's Deny: does it block the EventBridge rule's own
  delivery, or anything else that must work?
- The plan's claim that an alert on two unstamped home entries would be
  wrong today. Check it against `edgesFilePass` and `everywhereClass`.

Two things the author could not run and says so: the six real-inotify
tests in `watch_linux_test.go` (read `watch_linux.go` with extra care)
and the IMDS signature check.

Do not re-raise anything you mark resolved.

## Output

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