chore(devx): migrate six scripts/** line citations to file-level anchors - #19200
Merged
os-try-charles merged 1 commit intoSep 19, 2026
Merged
Conversation
Third round of the scripts/** unresolvable-citation migration, devx-lane
slice only. All three cited targets resolve to exactly one tracked file,
so each is repaired by the gate's own form: the file named as a
file-level anchor, the number kept beside it as data. No digit is
repaired or repointed.
- check-changeset-no-major.mjs: date-range-presets.ts:101 resolves to
packages/spec/src/data/date-range-presets.ts (the only tracked file of
that basename; line 101 sits inside the TSDoc block the prose cites).
- cross-package-test-inputs.mjs: the three bare continuations :102, :92
and :484-485 all belong to
packages/spec/src/shared/retired-key-migrate-sentence.test.ts, whose
PUBLISHED_SKILLS_ROOT is still on line 102, the "plus every .md file
under skills/" sentence still on 92, and the skills:-prefixed push
still on 484-485.
- ts-parse.mjs: tenant-audit-census.mjs:459 and its :723 continuation
resolve to scripts/tenant-audit-census.mjs, the only tracked file of
that basename -- it carries both the .replace collapse and the
synthetic `type CensusReceiver = ${typeText}` alias (both drifted off
the cited lines, which is exactly why they are kept as dated data).
The gate's header record is corrected in the same edit, as both prior
rounds did: it claimed a residual of 8 and named holders that have since
merged, while the live command printed 18. That regrowth -- 8 back up to
18 between rounds -- is the reading worth keeping, and the header now
says so.
--list-unresolvable drops 18 -> 12; the remaining 12 are byte-identical
and untouched, every one of them on another seat's surface.
judgeUntrackedLineAnchors stays false per the #15809 fence.
Claude-Session: https://claude.ai/code/session_017ef78bLdybu3AffehKkhfk
Co-authored-by: Claude <noreply@anthropic.com>
os-try-charles
marked this pull request as ready for review
September 19, 2026 12:27
os-try-charles
deleted the
claude/issue-15809-line-citations-round3-devx
branch
September 19, 2026 12:54
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Third round of the
scripts/**unresolvable-citation migration (PRs #15806 and #16338 were rounds one and two), devx-lane slice only.scripts/check-scripts-symbol-anchors.mjsregistersscripts/**.mjscomment prose as a symbol-anchor corpus withjudgeUntrackedLineAnchors: false, so a citation naming no tracked file is seen, counted and enumerated — and judged by nothing. This PR migrates six of those, by the gate's own repair form (its header, under[line-anchor]):Not one digit is repaired or repointed. Every number that was part of an anchor is still on its page, as data.
The six, and why each target is unambiguous
scripts/check-changeset-no-major.mjsdate-range-presets.ts:101packages/spec/src/data/date-range-presets.tsscripts/cross-package-test-inputs.mjs:102,:92,:484-485(continuations)packages/spec/src/shared/retired-key-migrate-sentence.test.tsscripts/ts-parse.mjstenant-audit-census.mjs:459,:723scripts/tenant-audit-census.mjsdate-range-presets.ts— one tracked file of that basename (date-range-presets.test.tsis a different basename), and line 101 is inside the TSDoc block the surrounding prose describes.retired-key-migrate-sentence.test.ts— one tracked file, and all three numbers still land on what the prose says they do:PUBLISHED_SKILLS_ROOTon line 102, the "plus every.mdfile underskills/" sentence on line 92, and theskills:-prefixedfiles.pushon lines 484-485.tenant-audit-census.mjs— one tracked file of that basename (check-tenant-audit-census.mjsis a different basename). It carries both cited constructs, the.replace(/\s+/g, ' ')collapse and the synthetictype CensusReceiver = ...alias; both have drifted off the cited lines, which is precisely why those lines are kept as dated data rather than repointed.The gate's own dated record is corrected in the same edit
Both prior rounds did this, and it had gone stale in a way that matters: the header claimed a residual of 8 and named holders (PRs #16215, #16202) that have since merged, while the live command printed 18.
That regrowth — 8 back up to 18 between rounds, because gate-header prose written in the interval added citations faster than round two removed them — is the most load-bearing reading here, and the header now says so. This is not a burn-down; it is a quantity that grows.
Acceptance, measured on this branch
Row-by-row
diffof the before and after listings: the only lines removed are the six above, plus the summary line changing from18 ... 10 bare-filename, 5 continuation, 3 directory-qualifiedto12 ... 8 bare-filename, 1 continuation, 3 directory-qualified. The other twelve rows are byte-identical and still listed.What is deliberately NOT here
judgeUntrackedLineAnchorsstaysfalse. Whether it should flip is the open question this card exists to put in front of triage, and it is now a sharper question than a counting one — see below.scripts/pm/check-governed-merges.mjs,scripts/pm/check-skill-line-ratchet.mjs,scripts/pm/check-prior-rulings.mjs,scripts/pm/check-half-states.mjs,scripts/pm/check-widening-tells.mjs(governed-surface andpmpatrol instruments) andscripts/check-spec-docblock-symbol-anchors.mjs(SUBJECT ispackages/specdocblocks). No card is filed for them here.Open question for triage
A flag that flips at residual zero flips into a gate that reds on the next author's first bare citation — and the 8 -> 18 regrowth measured above says there will be a next author, soon. So what the flip needs is a remedy for an unbindable abbreviation (a bare
engine.tsa resolver cannot bind to one of several files of that name), not a smaller number. Reaching zero and flipping the same day would hand the repo the permanently-red gate its own header says it retired.Part of #15809
Generated by Claude Code