Commit 6aa1d09
gate(spec): register packages/spec/src/** doc blocks as the fourth symbol-anchor corpus, censused first (#17241)
* feat(gates): register packages/spec/src/** doc blocks as a symbol-anchor corpus
The fourth corpus of the shared symbol-anchor resolver (scripts/symbol-anchors.mjs),
joined by a `defineCorpus` call in the deliberately thin shape
check-adr-symbol-anchors.mjs and check-scripts-symbol-anchors.mjs already use --
no second resolver.
The census came first and the exit contract second. Measured on 08e38c6 in
--list / --list-unresolvable reporting mode over 1,317 tracked .ts files:
198 raw extractAnchors over the whole file (counts spec's own fixture data)
189 through the commentProse projection (doc prose only)
6 ...and the cited path names a tracked file -- what this gate judges
7 hard findings across 6 files (6 line-anchor + 1 unresolved-path), 183 declined
citations naming no tracked file, 3 soft cross-repo rows. That is a gate, not a
migration -- the opposite of docs/adr/**'s 243-of-337 (72.1%).
Repairing those 7 edits packages/spec/** text, which is domain:spec work with its
own cards, so the exit contract is a pinned day-one residual: CENSUS_RESIDUAL
enumerates the 7 sites with their repairs, every finding outside it is a hard red
from day one, and a row whose citation gets repaired goes STALE and reds until it
is deleted. Rows are keyed by citation TEXT, never by line -- a line-keyed row
would be a line anchor inside the line-anchor gate.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012GKcPZbMoGq7WPzKLfRBTU
* fix(gates): stop the new corpus header from quoting a broken anchor verbatim
`scripts/**` is itself a registered corpus, so the new gate's own header is
swept by check-scripts-symbol-anchors. Quoting the websocket.zod.ts citation in
anchor form -- and spelling the bare-word-colon-path shape literally -- made
this file a finding against that corpus (1 unresolved-path, 1 soft cross-repo).
Both are now described in words, with the reason stated inline so the next
author does not reintroduce them. The citation itself is unchanged: it stays
pinned in CENSUS_RESIDUAL as a string literal, which the commentProse
projection blanks as code.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012GKcPZbMoGq7WPzKLfRBTU
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 87ad73b commit 6aa1d09
4 files changed
Lines changed: 778 additions & 2 deletions
File tree
- .github/workflows
- scripts
- pm
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2503 | 2503 | | |
2504 | 2504 | | |
2505 | 2505 | | |
| 2506 | + | |
2506 | 2507 | | |
2507 | 2508 | | |
2508 | 2509 | | |
| |||
2521 | 2522 | | |
2522 | 2523 | | |
2523 | 2524 | | |
| 2525 | + | |
| 2526 | + | |
| 2527 | + | |
| 2528 | + | |
| 2529 | + | |
| 2530 | + | |
| 2531 | + | |
| 2532 | + | |
| 2533 | + | |
| 2534 | + | |
| 2535 | + | |
| 2536 | + | |
| 2537 | + | |
| 2538 | + | |
2524 | 2539 | | |
2525 | 2540 | | |
2526 | 2541 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
| 94 | + | |
94 | 95 | | |
95 | 96 | | |
96 | 97 | | |
| |||
0 commit comments