Found while landing the third copy of objectui#7448's document-count pin on objectui#7825. Measured, not inferred.
What
objectui#7448 landed the same pin in two gate test files — scripts/__tests__/check-doc-fence-languages.test.ts and scripts/__tests__/check-doc-component-types.test.ts. Both docstrings state the rule as:
Deliberately narrow: a numeral DIRECTLY qualifying a document-population noun.
Both implement it as:
/\b\d+\s+`?(?:\.mdx|\.md|documents?|pages?|docs?|files?)\b/gi
The numeral and the noun must be adjacent. One adjective inside the noun phrase defeats it, and "15 INTERNAL documents" is a document count by any reading a person would give it.
The measurement
Run verbatim over check-links.yml's header as it stood on origin/main at 83fe6e741 — a header carrying two live drifted counts:
PRE-FIX check-links.yml header (origin/main 83fe6e741):
twin regex => ["183 files"]
#7825 regex => ["15 INTERNAL documents","183 files"]
One of two. The count that had drifted furthest (15 against a measured 17) is the one the twins' pattern scores as clean.
Live or latent
Latent, today. Both twin workflow headers are clean under both patterns as of 83fe6e741:
TWIN WORKFLOW doc-fence-languages.yml: twin => [] | #7825 => []
TWIN WORKFLOW doc-component-types.yml: twin => [] | #7825 => []
So no claim on either header is false right now. What is weaker than advertised is the instrument: the next count written into either header as "the 227 covered documents" is caught, and the next one written as "the 227 covered ts/tsx documents" is not — and the second spelling is the more natural one for a header that is trying to be precise about which population it means.
The shape that fixed it on objectui#7825
scripts/__tests__/check-links-workflow.test.ts (PR objectui#7885) carries the third copy with two widenings, both fixtured in both directions in that file:
- up to two intervening words between the numeral and the noun, which is the docstrings' stated intent implemented rather than a new rule;
- an issue reference excluded at the pattern level (a negative lookbehind on
# and word characters) rather than by luck — with intervening words allowed, #3449 named only the repo-root docs/** is close enough to a false positive to be worth ruling out by construction.
The noun set is unchanged. The negative fixtures worth copying are the ones that decide the reach: 04:17 UTC, one 502, node-version: 22, timeout-minutes: 10, "the third instance of the same shape", and ~297 site-absolute links — the last is the near miss that sets the two-word limit.
Whoever picks this up should decide whether the twins converge on that pattern or stay as they are with their docstrings corrected to say "adjacent" instead of "directly qualifying". Either closes the gap between what they claim and what they do; leaving both as-is does not.
Back-links: objectui#7448, objectui#7825, objectui#7885.
Generated by Claude Code
Found while landing the third copy of objectui#7448's document-count pin on objectui#7825. Measured, not inferred.
What
objectui#7448 landed the same pin in two gate test files —
scripts/__tests__/check-doc-fence-languages.test.tsandscripts/__tests__/check-doc-component-types.test.ts. Both docstrings state the rule as:Both implement it as:
/\b\d+\s+`?(?:\.mdx|\.md|documents?|pages?|docs?|files?)\b/giThe numeral and the noun must be adjacent. One adjective inside the noun phrase defeats it, and "15 INTERNAL documents" is a document count by any reading a person would give it.
The measurement
Run verbatim over
check-links.yml's header as it stood onorigin/mainat83fe6e741— a header carrying two live drifted counts:One of two. The count that had drifted furthest (15 against a measured 17) is the one the twins' pattern scores as clean.
Live or latent
Latent, today. Both twin workflow headers are clean under both patterns as of
83fe6e741:So no claim on either header is false right now. What is weaker than advertised is the instrument: the next count written into either header as "the 227 covered documents" is caught, and the next one written as "the 227 covered ts/tsx documents" is not — and the second spelling is the more natural one for a header that is trying to be precise about which population it means.
The shape that fixed it on objectui#7825
scripts/__tests__/check-links-workflow.test.ts(PR objectui#7885) carries the third copy with two widenings, both fixtured in both directions in that file:#and word characters) rather than by luck — with intervening words allowed,#3449 named only the repo-root docs/**is close enough to a false positive to be worth ruling out by construction.The noun set is unchanged. The negative fixtures worth copying are the ones that decide the reach:
04:17 UTC,one 502,node-version: 22,timeout-minutes: 10, "the third instance of the same shape", and~297 site-absolute links— the last is the near miss that sets the two-word limit.Whoever picks this up should decide whether the twins converge on that pattern or stay as they are with their docstrings corrected to say "adjacent" instead of "directly qualifying". Either closes the gap between what they claim and what they do; leaving both as-is does not.
Back-links: objectui#7448, objectui#7825, objectui#7885.
Generated by Claude Code