docs(check-doc-links): re-derive two stale scan-surface claims from SCAN_ROOTS - #6410
Merged
Conversation
…heck-doc-links surface `readme-shadcn-sync-categories.test.ts`'s "## Scan surface" docblock said `README_SHADCN_SYNC.md` had "never been scanned by anything" and that widening the scan root was "a separate change with its own entry price". Both became false with objectui#4938: `check-doc-links.mjs`'s `packages/*` row excludes only the basenames `README.md`/`CHANGELOG.md`, and this file is neither -- it is scanned today (re-verified against the live SCAN_ROOTS table, 17 rows). The test survives anyway, for reasons unrelated to scan-surface width: every in-repo path this README names is a backticked code span, never a `[text](href)` markdown link, and check-doc-links.mjs blanks inline code spans before its link regex runs by design -- so scanning this file resolves zero repo-relative targets today (verified: its only 8 markdown links are all external). The other four assertions compare README prose against `shadcn-components.json`, a JSON-manifest question no link checker can ask. Part of objectui#6280.
…AN_ROOTS
Both surface descriptions -- the prose in "Internal Docs Links" and the
two-link-checkers table in "Link Checking" -- ended at "the internal `docs/`
tree and every package `README.md`", the surface as of objectui#3622. It has
widened three times since (objectui#4148, objectui#4938, objectui#6026) and
neither list knew.
Re-derived directly from the live `check-doc-links.mjs` SCAN_ROOTS table (17
rows) rather than from the card history, and cross-checked against the gate's
own printed verdict ("Links are valid across 17 scan roots").
Part of objectui#6280.
Contributor
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
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.
Fixes #6280
Two stale claims about
scripts/check-doc-links.mjs's scan surface, both corrected byre-deriving from the live
SCAN_ROOTStable rather than from card history.(a) The test docblock's justification was two cards stale
packages/components/src/__tests__/readme-shadcn-sync-categories.test.ts's## Scan surfacedocblock saidREADME_SHADCN_SYNC.md"has never been scanned by anything" andthat widening the scan root was "a separate change with its own entry price."
Verified false, not assumed:
check-doc-links.mjs'spackages/*row excludes only the basenamesREADME.md/CHANGELOG.md(objectui#4938);README_SHADCN_SYNC.mdis neither, so it is inside thatrow today.
Assertion-by-assertion: does the test still earn its keep? Per the ruling, yes, keep
it if its checks exceed what the link checker asserts — they do, on every one of the
file's 5
itblocks, and for two independent reasons:check-doc-links.mjs?shadcn-components.json); not a link at allcomponents-registry key inlineFor #5, the closest analog: I measured what
check-doc-links.mjsactually sees in thisfile today —
All 8 of this README's actual
[text](href)markdown links are external URLs. Everyin-repo path it names (
shadcn-components.json,scripts/shadcn-sync.js,scripts/shadcn-local-patches.mjs) is written as a backticked code span, never asmarkdown-link syntax — and
check-doc-links.mjs's ownstripCode()blanks every inlinecode span before its link regex ever runs, by design (so a command example like
`pnpm shadcn:update button`can't be misread as a broken link). So even scanningthis file today, check-doc-links resolves zero repo-relative targets in it.
Conclusion: the test survives, for reasons unrelated to scan-surface width — 4 of 5
assertions ask a question no link checker can ask (prose vs. JSON manifest), and the 5th
checks a syntax (backticked paths) the link checker structurally never inspects. Rewrote
the docblock to argue from this, not from "not yet scanned."
(b) Both
ci-cd-pipeline.mdsurface lists were frozen at #3622The page described
check-doc-links.mjs's surface twice (prose in "Internal Docs Links",the two-link-checkers table in "Link Checking"), both ending at "the internal
docs/tree and every package
README.md" — the surface as of #3622. Widened three times since(#4148, #4938, #6026) and neither list knew.
Re-derived from the script itself, not from the card table:
SCAN_ROOTS(17 rows):content/docs(docs rule);examples, rootREADME.md,CONTRIBUTING.md,ROADMAP.md,docs(disk);packages/*/README.md,apps/*/README.md(disk);packages/*/apps/*excludingREADME.md+CHANGELOG.mdat every depth (disk, #4938);
packages/*/*/apps/*/*collecting only nestedREADME.md(disk, #6026); rootAGENTS.md,CHANGELOG.md,CLAUDE.md,LICENSE-THIRD-PARTY.md,QUICK_REFERENCE.md(disk, #4148). 17 matches the gate's ownprinted verdict above — the cheap cross-check the dispatch order suggested.
Both lists rewritten to enumerate this surface instead of the #3622 shape.
Sequencing
content/docs/guide/ci-cd-pipeline.mdwas contended 4 times today; per the dispatchorder I waited for #6408 to land (
9e35810ba) before touching the file, merged it intothis branch (
git merge origin/main, no rebase), and re-ran the surface re-derivation ontop of that merge — both spots were untouched by #6408 (which edited a different
section), and
SCAN_ROOTSitself was untouched, so 17 held before and after the merge.Per the dispatch order,
#6308's section of this page (the fold triage suggested and thePM seat declined) is untouched here, and the
skip-changeset/#4912staleness the PMseat flagged is not addressed in this PR.
Tests
Full tree, per dispatch instruction (this page carries
ci-cd-pipeline-doc.test.ts,merge-queue-reporting.test.ts, and the doc-version-claims ledger, and none of them pinthe exact prose I rewrote — verified by grep before editing):
(HEAD
bd2ce2abf,git rev-parse --short HEAD.)Plus targeted doc gates:
Notes
Generated by Claude Code