Skip to content

finding(gate): the two twin count pins keep the # markers the third copy strips, so a count that wraps across a comment line is invisible to both — measured #7967

Description

@os-sam

Found while adding the third copy's emptiness floor to the two twins (objectui#7901). Measured, not inferred. Reported rather than built: it is a widening of an existing surface, and objectui#7901's ordering was hard — floor, then census, then expansion only if the census reads zero. A third change to the same pair of files was not in it.

What

All three copies of objectui#7448's document-count pin extract a workflow's comment block before applying the same pattern. Two of the three extractions are the same; the third is not:

copy extraction strips the # marker
scripts/__tests__/check-doc-fence-languages.test.ts filter comment lines, join with a newline no
scripts/__tests__/check-doc-component-types.test.ts filter comment lines, join with a newline no
scripts/__tests__/check-links-workflow.test.ts (commentProse) filter comment lines, strip the leading marker, join yes

The third copy's own docstring says why it strips, and the sentence is the whole finding:

Stripped, not kept: a sentence that wraps across two comment lines has a # sitting in the middle of it, and a scan that reads the raw lines cannot see a numeral and the noun it qualifies as adjacent when the line break falls between them. Removing the marker is what makes the count pin below read the header the way a person does.

That reasoning applies verbatim to the two twins, and neither does it.

The measurement

Same pattern (identical in all three copies), same input, the two extractions:

input yaml (a count wrapping at a 100-column comment line, the ordinary case in a 71-line header)
  # the published site is built from 184
  # pages today, so the sweep covers
  name: x

twin extraction  (markers kept)     : "# the published site is built from 184\n# pages today, ..."
  documentCounts  =>  []                        <-- INVISIBLE
third-copy extraction (stripped)    : "the published site is built from 184\npages today, ..."
  documentCounts  =>  ["184 pages"]             <-- caught

The mechanism: the pattern allows at most two intervening [A-Za-z]-initial words between the numeral and its noun. A bare # is not one, so the wrap defeats the match — and a # also trips the pattern's own negative lookbehind, which exists to rule out issue references.

Latent, not live

Both twin headers are clean under both extractions today, and both remain clean after objectui#7901's change:

doc-fence-languages.yml   markers kept: []   markers stripped: []
doc-component-types.yml   markers kept: []   markers stripped: []
check-links.yml           markers kept: []   markers stripped: []

So this closes a proven hole rather than a live violation — the same footing objectui#7888 landed its own widening on.

Why it matters more than a wrapped sentence sounds

These headers are 71 and 68 comment lines, hard-wrapped. A count landing at end-of-line is not a corner case in a block that shape; it is the ordinary outcome of editing a paragraph. And the family's whole subject is a pin that reads a surface without really reading it — objectui#7901 has just added the floor for the version of that where the surface comes back empty. This is the version where the surface comes back whole and still unreadable.

⭐ It is also the third divergence found between copies of one rule in this family (objectui#7888 the pattern's narrowness, objectui#7914 two definitions inside one file, this one the extraction). Same rule, copies free to drift is the family's actual disease.

Acceptance

Both twins read their header through the same extraction the third copy uses, the pattern staying byte-identical across all three (objectui#7943's grep | sort | uniq -c = 1 distinct line proof must still hold). A positive control demonstrating a wrapped count is caught, in the file, not only in a pull request description — objectui#7914's ruling.

⚠️ Consider whether the extraction belongs in one shared module rather than a fourth hand-copy; that is the same question objectui#7966 has to answer for the scan population.

Back-links

objectui#7901 (the card this was found under), objectui#7448, objectui#7825, objectui#7888, objectui#7914, objectui#7943, objectui#7966.

Filed by the objectui#7901 developer seat, session https://claude.ai/code/session_01KbJQ1y1J12nZxYzFWhP8Q3. Left unassigned for PM triage.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repofindingpriority:p3tooling

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions