docs(ci-cd-pipeline): state the link-sweep populations instead of copying their counts (objectui#7886) - #7899
Merged
Conversation
…ying their counts (objectui#7886) The `Link Checking (check-links.yml)` section published the same two hand-copied document counts that objectui#7825 had just removed from that workflow's own header, in the present tense, on a page the site serves to readers. Both had drifted, and nothing went red over the whole distance because no gate anywhere reads either figure. Applies the remedy this repository has now landed three times (objectui#7448 twice, objectui#7825 once), and that this very page already applies to its own workflow count: state the population and point at the reading, instead of copying a count. The paragraph now names which trees, which extensions and the `apps/site/source.config.ts` declaration the content tree comes from, and points at two live readings — a `find` in any checkout, and Lychee's own run summary. The historical half is split out and marked past tense; it carries no live numeral. No ci command is added or removed, so the objectui#3653-pinned job table does not move. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KbJQ1y1J12nZxYzFWhP8Q3
Contributor
Author
|
The out-of-scope finding this PR reports under Measured: no pin watches these two sentences is filed as objectui#7901 — no assignee, label No pin was built here, per the card. Generated by Claude Code |
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 #7886
content/docs/guide/ci-cd-pipeline.md'sLink Checking (check-links.yml)section published the same two hand-copied document counts that objectui#7825 had just removed from that workflow's own header — in the present tense, on a page the site serves to readers, which is the most exposed of the four instances of the objectui#7448 class.Measured on
origin/main(d9580f464) at the time of this change:content/docs/**markdowndocs/**markdowncheck:shell-escape-residue's own verdict line corroborates the first reading independently, from a separate walk of the same tree:content/docs: 184 file(s), 1064 fence(s).Not a number refresh
Changing 183 to 184 and 15 to 17 would only reload the trap — nothing reads either figure, so nothing would go red the next time they drift. This applies the remedy this repository has now landed three times (objectui#7448 twice, objectui#7825 once), and that this very page already applies to its own workflow count at the top ("This page deliberately states no workflow count"): state the population, and point at the reading.
The paragraph now names which trees, which extensions, and the
apps/site/source.config.tsdeclaration the content tree comes from (dir: '../../content/docs', baseUrl/docs), says that theargsglob list decides the scope and nothing else, and points at the two live readings — afindin any checkout, and Lychee's own run summary. No numeral survives in the section that adding or deleting a document could falsify: the only digits left are issue references (objectui#7448,objectui#7825,objectui#7886,objectui#3449), which the class's own pin excludes by construction.Historical vs present tense
Read as the page actually worded it rather than assumed from the workflow header. The count-bearing sentence was wholly present tense ("Lychee sweeps both documentation trees…"); the historical claim was a separate sentence, already past tense, already carrying its PR number (objectui#3449), already carrying no live numeral — the shape the ruling asks for. It is kept, split into its own paragraph and labelled "Past tense on purpose — none of the following describes the scope today", so the boundary between the live claim and the history is visible rather than inferred. The still-live half of that sentence (the test derives the expected scope from the site config) moved up into the live paragraph, where it belongs.
objectui#3653's job table did not move — before and after, both green
This change adds and removes no ci command. The prose edited is a paragraph below the two-link-checker comparison table and unrelated to the
run:-step job table objectui#3653 pins; confirmed by reading the section before editing, and byscripts/__tests__/ci-cd-pipeline-doc.test.tscarrying no mention ofLychee,check-links,sweepsor either count.Test Files 1 passed (1)·Tests 36 passed (36)(os-verify-lock: VERDICT command-exit 0)Test Files 1 passed (1)·Tests 36 passed (36)(os-verify-lock: VERDICT command-exit 0)PR #7868's docs row for the report-only census step is untouched; the diff is 21 insertions and 7 deletions, all inside the one paragraph.
Measured: no pin watches these two sentences
The card asked for this reading, and explicitly not for the pin itself.
The shape is exactly the class. Run the pin regex objectui#7825 landed (
POPULATION_COUNTinscripts/__tests__/check-links-workflow.test.ts) over the pre-fix paragraph and it fires on both counts —["183 pages", "15 files"]. The narrower objectui#7448 twin regex (check-doc-fence-languages.test.ts,check-doc-component-types.test.ts) fires on both as well. Over the rewritten paragraph both return[].Nothing was reading it. All three copies of the pin read
.github/workflows/*.ymlheaders (the third also reads its own test file's header); none readscontent/docs/**. Nine other test files read this page —check-doc-expression-carriage,check-doc-example-shared-reader,check-handler-key-read-sites,check-skill-examples,check-skill-eval-tokens,merge-queue-reporting,lint-workflow,doc-version-claims,ci-cd-pipeline-doc— and not one asserts anything about the Lychee prose or either figure. A repo-wide grep for the two literals finds them only here and, as deliberate historical fixtures, insidecheck-links-workflow.test.ts.So the gap is real and unguarded, and it is reported rather than built: a fourth copy would introduce a new scan population over the
content/docstree, which this lane requires to land report-only first, and objectui#7888 is already working that pin family's own narrowness problem. Filed as an out-of-scope finding rather than carried here.Verification
Gate union re-run after the final commit, on
d6bf5f79a, withgit diff HEADempty (0 bytes):scripts/__tests__/ci-cd-pipeline-doc.test.ts+ 11 other readers of this pageTest Files 12 passed (12)·Tests 372 passed (372)check:doc-types✅ Every documented component type is registered.check:doc-snippetsEvery covered documentation snippet compiles against the built types.(after the scoped closure build the gate's own--build-filternames — its first run was EXIT=2, precondition not met, NOT MEASURED)check:doc-fences✅ check:doc-fences — every TypeScript block in 227 document(s) is fenced ts/tsx/typescript…check:shell-escape-residue✅ check-shell-escape-residue: OK (5/5 root(s) resolved …)docs:check-linksLinks are valid across 17 scan roots.check:control-bytes✅ check-control-bytes: OK (scanned 6393 tracked text file(s); skipped 85 binary).check:doc-example-readersOK 80 documented symbol(s) … no @example hand-spells one.check:handler-key-readsOK 106 arm(s) … every judged read is a declared member of its arm.Governed surface, verbatim:
✅ NOT GOVERNED — 1 path(s) checked against 5 governed surface(s); none matched./An ordinary pull request: the normal review and merge-queue route applies.Changeset, verbatim and obeyed rather than reasoned about:
Compared the working tree with d9580f464 (merge-base with origin/main): 1 file(s) changed, 0 of them published source of a package the release covers, 0 of them a manifest whose published contract moved, 0 under a package changesets ignores, 0 changeset(s) added./✅ No source or published contract of a released package changed in this range, so no changeset is owed.— so no changeset is added, not even the empty-frontmatter form.Repo-wide lint, narrowed and the narrowing measured (three readings, not an assumption):
files:block ineslint.config.jstargets**/*.{ts,tsx}; the singlemdoccurrence in that file is inside a comment.--format json: eslint over the changed path returns one entry,"File ignored because no matching configuration was supplied.", 0 errors — the file is not in the judged population at all..mdfile and adds or removes no.ts/.tsx, so eslint's judged population is byte-identical before and after and no untouched file's verdict can move.Clause-② is
no: prose only, no gate predicate and no scan population changed.🤖 Generated with Claude Code
Generated by Claude Code
Generated by Claude Code