The previous commit's regeneration produced AGENTS.md byte-identical to CLAUDE.md (82 lines, project-only) instead of the expected root+project concatenation (430 lines) -- root_block() rendered empty despite the run's own log claiming "Root context: .../AGENT.md" and "AGENTS.md (root + project...)". Not reproduced: re-running the identical command (ROOT_CONTEXT=.../AGENT.md bash scripts/context-sync.sh) immediately after produces the correct 430-line output every time. Whatever caused the original miss was transient and is not diagnosed here -- flagging rather than asserting a cause I have not confirmed. Caught by the estate-wide context-sync-drift gate's own verification run, not by trusting the fix commit. Regenerated fresh and confirmed root content is present before committing this time.