scripts/canonical_review.py derives units from spec/files.json. For AGENTS.md that is exactly its three declared sections:
AGENTS.md > Fleet Bootstrap
AGENTS.md > Context and Delegation Discipline
AGENTS.md > Where the Rules Live
It derives a > (preamble) unit for CODESTYLE.md, WORKFLOW.md, AUDIT.md and .github/copilot-instructions.md, but not for AGENTS.md.
The consequence surfaced on #1186. That change rewrote the AGENTS.md preamble paragraph routing a project's project-specific conventions and public-API contracts, which every fleet repo carries. canonical_review.py check reported the other changed units and never named it, so the pre-push gate and the pull request check both passed over the most widely carried edit in the change. It was reviewed only because it was sent to a reviewer by hand.
The preamble is not incidental text. It carries the routing rule the promotion settled, and spec/files.json puts AGENTS.md at fidelity: intent with appliesTo: "*", so a downstream copy is judged by meaning and never content-compared either. Between the two, a preamble edit has no automated reader at all.
Worth deciding whether the omission is deliberate, since AGENTS.md's preamble is more repo-adapted than the other four files' preambles, or an oversight in the unit model.
Surfaced by the diff review on #1186.
scripts/canonical_review.pyderives units fromspec/files.json. ForAGENTS.mdthat is exactly its three declared sections:It derives a
> (preamble)unit forCODESTYLE.md,WORKFLOW.md,AUDIT.mdand.github/copilot-instructions.md, but not forAGENTS.md.The consequence surfaced on #1186. That change rewrote the
AGENTS.mdpreamble paragraph routing a project's project-specific conventions and public-API contracts, which every fleet repo carries.canonical_review.py checkreported the other changed units and never named it, so the pre-push gate and the pull request check both passed over the most widely carried edit in the change. It was reviewed only because it was sent to a reviewer by hand.The preamble is not incidental text. It carries the routing rule the promotion settled, and
spec/files.jsonputsAGENTS.mdatfidelity: intentwithappliesTo: "*", so a downstream copy is judged by meaning and never content-compared either. Between the two, a preamble edit has no automated reader at all.Worth deciding whether the omission is deliberate, since
AGENTS.md's preamble is more repo-adapted than the other four files' preambles, or an oversight in the unit model.Surfaced by the diff review on #1186.