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

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions