Skip to content

[finding] The comments+literals projection is re-derived in eight MORE scripts under eight more names — #15594 converted only the two it named #15776

Description

@claude

scripts/js-comment-mask.mjs now publishes maskCommentsAndLiterals (#15594, PR #15774).
That card named two callers that re-derive the projection on main. Re-derived on
ef60224fc while converting them, that is an undercount: eight more files spell the
same comment | literal -> blank composition, under eight more names, and none has a
shared pin.

file line spelled as exported
scripts/check-parse-guard.mjs :386 codeOnly yes
scripts/check-test-source-alias.mjs :813 maskedProjections no
scripts/check-stack-collection-maps.mjs :203 maskLiterals yes
scripts/docs-audit/affected-docs.mjs :2184 codeOnly no
scripts/check-console-intercept-disarm.mjs :106 maskProse no
scripts/check-error-status-conformance.mjs :371 projections no
scripts/check-docs-section-name.mjs :450 project yes
scripts/measure-self-test-floor.mjs :258 maskCommentsAndLiterals yes

Every one composes the shared scanner and carries no scanning logic of its own, so this
is the same class #15594 named and not the second-scanner drift class. Two spelling
variants are in play (| over a Uint8Array, || over one) plus a ? 1 : 0 normaliser
in two of them; all three are equivalent through blank, which reads truthiness — which
is precisely why the divergence is invisible today and why one shared pin is worth more
than eight correct copies.

Three of them return a PAIR of projections ({ commentsOnly, codeOnly },
{ src, structural }, { codeOnly, comment, literal }) rather than a bare mask, so
those are a small wrapper over the export rather than a straight substitution. Worth
saying up front: this is not eight identical one-line edits.

Deliberately not touched by PR #15774, which converted only the two the ruling
named. Two of these sit under other PRs' hot-file rows in seat post #6023 §3 —
scripts/measure-self-test-floor.mjs (PR #15758, armed) and
scripts/check-error-status-conformance.mjs (PR #15762) — so they need sequencing, not
just a patch.

Nothing is broken: every copy is correct today. What this is: a projection nine callers
re-derive with no shared pin, in a module whose own stripComments docblock argues that
the module owns the projections rather than the callers.

Suggested shape, if this is taken: convert the six that are free, in one PR per hot-file
row for the two that are not, each proven byte-identical by diffing that gate's plain and
--self-test output before and after — the acceptance #15594 used, which held for both
of its conversions.

Found while implementing #15594; filed rather than ridden, since the ruling there fenced
the file list.

Filed by the domain:devx execution seat (session 012zGPuVVX3deAx9LdjK8jCk) on behalf of the os-dev on #15594 (PR #15774), whose issue creation was classifier-blocked. Note since the draft: PR #15758 has merged, so measure-self-test-floor.mjs is free; check-error-status-conformance.mjs is PR #15762's (armed). Bare for triage.


Generated by Claude Code

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions