Skip to content

[finding] The cross-package detector's own comments still say "the two seeds" — the source the three stale copies were copied from #10565

Description

@os-zhuang

Observation-class, found while sweeping for #10163. No gate is red today. Filed unassigned, no pm:queue.

Measured

#10163 corrects four files outside scripts/check-cross-package-test-inputs.mjs that told authors the gate recognises "exactly two seeds". The phrase is also inside the detector itself, four times, and two of those instances are now inaccurate in the same way — measured on ceb33a9f12:

line text verdict
:660 // The two seeds NAME the directory; fileSegs names the FILE inside it. stale — four directory-naming seeds are resolved below it (dirname(fileURLToPath(import.meta.url)), __dirname, import.meta.dirname, dirname(import.meta.filename))
:673 // ... the two seeds above ... accurate in local context (exactly two cases precede it)
:679 // The two seeds above NAME the directory. stale — four directory seeds precede it
:695 // ... the same base as the two seeds above. stale by the same reading

The gate's published RECOGNISED_PATH_SPELLINGS (:530-542), which it prints verbatim in its failure text, is correct and lists all of them. Only the surrounding prose lags.

Why record it rather than shrug

This is where the copies came from. #8995 and #9763 each widened the resolved set and each updated RECOGNISED_PATH_SPELLINGS; neither swept the prose, and the phrase then propagated into three files outside the detector plus a fourth claim in the opposite direction. Leaving the phrase at its source is what makes a fifth copy likely.

The drift direction is benign — the prose is narrower than the code — which is exactly why nothing caught it.

Why it is not a rider on the #10163 PR

scripts/check-cross-package-test-inputs.mjs is edited by open PR #10450, so #10163's PR deliberately does not touch it. Cheapest landing is a wording pass on that PR's file or a small follow-up after it merges: replace the count with "the directory-naming seeds above", or point at RECOGNISED_PATH_SPELLINGS, the same shape #10163 used in the four external files.

Refs

#10163 (the external sweep) · #8995 and #9763 (the widenings) · PR #10450 (holds the file)

Activity

  1. claude commented on Aug 21, 2026

    @claude
    Contributor

    Claim — PM dispatch (devx seat), folded into #10566.

    • Session: c970724d-303c-5614-9d20-a3f92205cfad
    • Branch: claude/issue-10566-per-glob-holder (one PR covers both — same file)

    ⚠️ Correcting this card's table before dispatch: it is stale and short by one.

    The four sites listed here (:660/:673/:679/:695) were measured on ceb33a9f12. On
    origin/main = 55809a09a52734c8a26bc5186359f4ce3050deba (fetched 2026-08-21T08:28:14Z)
    the phrase occurs five times:

    line text reading
    :919 The two seeds NAME the directory; fileSegs names the FILE inside it. stale — four directory-naming seeds resolve below it
    :932 ...the modern spelling of the two seeds above. accurate — exactly two cases precede it
    :938 The two seeds above NAME the directory. stale
    :954 ...the same base as the two seeds above. stale
    :1104 ...the same base as the two seeds and as new URL(...) stale — #10452's resolver half, not in this card's table

    So the sweep is 4 sites, not 3, and one of the five (:932) is positionally true and
    must survive. That combination is the trap: a sed -i 's/two seeds/.../g' hits all five,
    exits 0, looks complete, and turns a true statement false. The dispatch brief requires
    per-site verification against the seed set actually resolved above each comment, with
    before/after anchor counts.

    The card's own diagnosis is otherwise confirmed unchanged: RECOGNISED_PATH_SPELLINGS
    (:671) lists all the spellings correctly and is printed verbatim in the failure text —
    only the surrounding prose lags.


    Generated by Claude Code

  2. claude commented on Aug 21, 2026

    @claude
    Contributor

    Dev report — folded into #10566, landed in PR #10690. The structured report lives on #10566 (comment marked os-dev-report); this is the #10565-specific half.

    The claim comment's correction is confirmed on 844bf29a84, and I found no sixth site. Five occurrences; four misdescribe the seed set that resolves above them, one does not:

    line seeds actually resolved above it verdict action
    :919 four directory-naming seeds resolve BELOW it (dirname(fileURLToPath(import.meta.url)), __dirname, import.meta.dirname, dirname(import.meta.filename)) stale rewritten, and it carries the one note on why the set is now named rather than counted
    :932 exactly two cases precede it — the ESM seed and __dirname accurate left byte-identical
    :938 four precede stale rewritten
    :954 four precede stale rewritten
    :1104 #10452's resolver half; four precede stale rewritten

    grep -c "two seeds" went 5 -> 1, and the survivor is :932. No blanket replace: each rewrite is an independently anchored substitution with its own before/after count printed, precisely because a sed -i over all five would have exited 0 and turned the one true statement false. The new wording names the set ("the directory-naming seeds") rather than counting it, the shape #10163 used in the four external files.

    One adjacent prose drift in the same table, recorded separately rather than ridden along: #10694.


    Generated by Claude Code


    Generated by Claude Code

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions