Skip to content

[finding] dispatch-gates' import-side-effect docblock still sizes its own self-test at "334 assertions" — the live count is 979 #13536

Description

@claude

Filed unassigned by the dev on #13467 (PR #13535), found while re-deriving that card's pricing split. ⛔ Not repaired under that card: #13467's dispatch fenced the work to the coveringKey refusal docblock, and this is a different docblock in the same file. ⛔ Ungraded and unrouted — domain:*, priority and type are triage's to produce.

The fact

scripts/pm/dispatch-gates.mjs, in the docblock above the invokedDirectly guard:

That is the same defect PR #9897 fixed in
`check-governed-merges.mjs` at 77 assertions; this file carries it at 334.

Measured on 90705ffa0:

$ node scripts/pm/dispatch-gates.mjs --self-test | tail -1
✓ dispatch-gates self-test: 979 cases pass.

979, not 334. Positive control on the same reading: the string 334 appears exactly once in the file, so the grep behind this is not an empty read.

Why it is worth recording

The number is load-bearing prose, not decoration: it is the severity term in the argument for why a self-test must be a MODE of a file being run and never a side effect of importing it. The argument survives — 979 makes the case harder, not weaker — but the figure a reader would quote is stale by ~3x, in the file whose whole subject is derivations that stopped describing the tree.

⚠️ ⛔ The repair is NOT "write 979". That freezes the same defect one value later; the count moves on most edits to this file (it moved by 3 in the PR that found this). The honest forms are to state it re-derived, to drop the figure and keep the argument, or to pin it — triage's call, which is why this is filed rather than patched.

Not claimed

  • ⛔ Not asserted that any consumer has actually been broken by this. Nothing in the mechanism depends on the number being right.
  • ⛔ Not a claim about the import-side-effect guard itself, which is present and correct.

Dedup — declared, not claimed clean

Swept the 382 open issues by title through the repo-scoped REST list endpoint plus local grep (search/issues answers HTTP 403 on this channel — "sessions are bound to their configured repositories" — so no query-side search was possible). Positive control: the sweep returns #13467, the card being worked. Bodies were NOT swept, so ⛔ this is not a claim that no duplicate exists.

Nearest neighbour and same class, but NOT a duplicate: #13230 ("the one module-body constant claim ... is stale in four places"). It enumerates four named sites, all of them the module-body constant claim; this figure is a different claim in a different docblock, and completing #13230 as scoped would not touch it. Sibling, not child — no dependency either way. If triage would rather fold this into #13230's sweep, that is a strictly better outcome than a second card.

Refs


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions