W7h retirement (t05 F18; Eng factual correction: the file takes 145 ms, its
"2 minutes" was the 120 s timeout, so this is a duplicate-only retirement).
Removes its scripts/free-test-durations.json entry.
Retirement card:
- test: test/spec-template-sync.test.ts (regenerate /spec into an out-dir and
compare spec/SKILL.md + spec/sections/gate-and-file.md with the tracked
bytes; check the generated header).
- detects: /spec template edited without regeneration, or a hand-edited
generated file.
- non_test_callers: none.
- search_command: grep -rn spec-template-sync package.json scripts test .github
- stronger_proof / replacement: gen-skill-docs.test.ts 'generated files are
fresh (match --dry-run)' (FRESH for every skill, no STALE anywhere; the
dry-run covers carved sections such as spec/sections/gate-and-file.md); the
generated-banner checks in the same file cover the header.
- history: c118e24 / 410b492 / 394db32 / b1485d8 (codex T8).
- validation: bun test test/gen-skill-docs.test.ts.
Control (scratch worktree, run against the replacement): a stale
spec/sections/gate-and-file.md, a stale spec/SKILL.md, and a spec template
edit without regeneration each fail gen-skill-docs 'generated files are fresh'
(3/3). Log: .context/mutation-spec-template-sync.md.