env_reference --check and the Conventions env-reference rule took any
backticked APS5_*/ANYPS5_* name in docs/dev/ENVIRONMENT.md as a row.
A name mentioned in another row's description, or in prose, was taken
as documented: deleting the APS5_PROFILE_DRAW row still passed because
the APS5_VERIFY_MASKED_RESULT_MEMO row mentions it, and a description
naming a variable the code no longer reads was reported as a stale row.
Match the name only in the first cell of a table row. Every name in
ENVIRONMENT.md today has its own row, so the check still passes on main.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Q3BmiDsmpK7YCTNK2H4tzm
The workflow checked out pull_request.base.sha, the base recorded when the
pull request was opened, and ran that revision's check_conventions.py. A rule
merged after a pull request was opened never ran on it: #7005 added
APS5_NO_WGI without an ENVIRONMENT.md row and passed with the checker of
07e741481, which had no env-reference rule.
Check out the current tip of the base branch and pass it as --base; the
checker already diffs from the merge base, so only the pull request's own
changes are checked. A name documented on the base branch after the branch
point now counts as documented unless the pull request removes its row.
Co-Authored-By: Claude Opus 5.5 <[email protected]>