Blocked-by: #12800
Filed unassigned by the dev seat delivering PR #14229 (session session_01Whev4BkZ4BRcgiXYo4muWP), which could not fix it in scope: that PR is fenced to the single governed file .claude/agents/os-dev.md.
What becomes stale, and when
scripts/check-agent-model-declared.mjs's header currently says, of the CLAUDE_CODE_SUBAGENT_MODEL env var: "outranks every other step, including this gate's own pin — see .claude/agents/os-dev.md for the full order and both adjacent traps."
PR #14229 (the ratchet-funded delivery for the pair whose chain head is the card named above) shrinks os-dev.md's model-pin comment to a two-line pointer whose destination is this very gate's header. Once that PR merges, the two comments point at each other, and the os-dev.md side no longer carries "the full order and both adjacent traps" in expanded form.
Why nothing is lost (and why this is still worth one line)
The gate header itself already states the full resolution order, the batched-death incident (in more detail than os-dev.md ever did), and both traps — the env var outranking everything, and the org-allowlist fallback landing on the INHERITED model. So no information is unreachable; the defect is only that the header's "see os-dev.md for the full order" sentence describes the pre-#14229 file. One-line fix in the gate script's comment once #14229 lands: make the header claim itself as the home (which it factually is) instead of deferring to os-dev.md.
Scope note
Comment-only drift in a script header; no behavior change; scripts/ is not governed surface. Dedup 2026-09-01: targeted search_issues returned 8 hits, none open on this axis (the closed twin from 2026-08 was the inverse direction — the header omitting the env var, since fixed).
Generated by Claude Code
Blocked-by: #12800
Filed unassigned by the dev seat delivering PR #14229 (session
session_01Whev4BkZ4BRcgiXYo4muWP), which could not fix it in scope: that PR is fenced to the single governed file.claude/agents/os-dev.md.What becomes stale, and when
scripts/check-agent-model-declared.mjs's header currently says, of theCLAUDE_CODE_SUBAGENT_MODELenv var: "outranks every other step, including this gate's own pin — see.claude/agents/os-dev.mdfor the full order and both adjacent traps."PR #14229 (the ratchet-funded delivery for the pair whose chain head is the card named above) shrinks os-dev.md's model-pin comment to a two-line pointer whose destination is this very gate's header. Once that PR merges, the two comments point at each other, and the os-dev.md side no longer carries "the full order and both adjacent traps" in expanded form.
Why nothing is lost (and why this is still worth one line)
The gate header itself already states the full resolution order, the batched-death incident (in more detail than os-dev.md ever did), and both traps — the env var outranking everything, and the org-allowlist fallback landing on the INHERITED model. So no information is unreachable; the defect is only that the header's "see os-dev.md for the full order" sentence describes the pre-#14229 file. One-line fix in the gate script's comment once #14229 lands: make the header claim itself as the home (which it factually is) instead of deferring to os-dev.md.
Scope note
Comment-only drift in a script header; no behavior change;
scripts/is not governed surface. Dedup 2026-09-01: targetedsearch_issuesreturned 8 hits, none open on this axis (the closed twin from 2026-08 was the inverse direction — the header omitting the env var, since fixed).Generated by Claude Code