Measured by the #13232 dev seat while re-deriving that card's hint sets (PR #13311). Filed by the PM rather than the finder — see the dedup note at the bottom, which is itself the second finding here.
The defect
check:query-options-erasure's live hint set contains three literals that name files which have never existed in this tree:
scripts/__closure_fixture_gate__.mjs
scripts/__closure_fixture_helper__.mjs
scripts/__closure_fixture_deeper__.mjs
git ls-files count for each: 0. They are module-body fixture-name constants inside that gate's own --self-test, scraped by the hint extractor as though they were declared watch hints.
dispatch-gates --residue prints them verbatim in that family's names: line, with no dead annotation — so three of the five hints a reader is shown for this family are leads that cannot ever match anything.
Why nothing annotates them
The tool annotates dead literals only when the whole family is unreachable. This family has one live literal — its baseline — which keeps it reachable, so the dead siblings ride along unmarked.
⭐ That is precisely the survivor class isNonPathNamespace's own docblock already names as the expensive direction:
the same literal is scraped out of a dozen other gate sources where a real hint happens to sit beside it and hide the effect
This is a live, tracked instance of exactly that. The mechanism was documented; the instance was not.
Why it matters
A dispatching seat reads the names: line to decide which gates a card's edit reaches. Three of five entries here are fabricated, and nothing in the output says so — the same failure shape as a gate census that has silently stopped describing the tree (#13230, #13237), one level out, in the tool that routes the work rather than in a gate that checks it.
What this card does NOT decide
- ⛔ Whether the fix is in the extractor (don't scrape module-body constants inside
selfTest()), in the annotator (mark a dead literal even when its family is reachable), or in the gate (rename the fixtures so they cannot be mistaken for hints). All three are plausible and they have different blast radii.
- ⛔ It carries no
domain:*, priority or type label — triage's field.
- ⚠️ Scope is unmeasured: only
check:query-options-erasure was measured. Other families may carry the same shape, and the mechanism above says they would be equally unannotated. Re-derive the population before acting.
Reproduction
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --residue
git ls-files 'scripts/__closure_fixture_*' # 0
⚠️ Second finding: search_issues is returning FALSE ZEROS, and dedup rode on it
The finder refused to file this card, correctly. Its dedup query returned total_count: 0 — and so did its control query, which was the verbatim title of open issue #13232. Per the standing rule that a zeroed control means a broken channel rather than an empty space, it stopped and handed the finding over.
I reproduced it from the PM channel against #13232's own title: total_count: 0. Earlier in the same session that tool returned 6, 6 and 2 results for other dedup queries, so it degraded rather than never having worked.
⇒ A zero from search_issues is currently not a reading, and any seat whose dedup depends on it cannot discharge that step.
Dedup for this card was therefore done by list_issues instead, and its bound is stated rather than implied: the full domain:devx open population, 116 of 116 scanned across both pages. Nearest neighbours examined and rejected as distinct — #12797 (a wrong reason on a bare hint, "zero instances today"), #13207 (a gate whose declared population is its artifact), #12328 / #12289 (bare-root-worklist rows citing values the function does not produce, different file and mechanism). ⚠️ The listing covers this lane only; a duplicate filed under another domain:* would not have been seen.
Measured by the #13232 dev seat while re-deriving that card's hint sets (PR #13311). Filed by the PM rather than the finder — see the dedup note at the bottom, which is itself the second finding here.
The defect
check:query-options-erasure's live hint set contains three literals that name files which have never existed in this tree:git ls-filescount for each: 0. They are module-body fixture-name constants inside that gate's own--self-test, scraped by the hint extractor as though they were declared watch hints.dispatch-gates --residueprints them verbatim in that family'snames:line, with nodeadannotation — so three of the five hints a reader is shown for this family are leads that cannot ever match anything.Why nothing annotates them
The tool annotates dead literals only when the whole family is unreachable. This family has one live literal — its baseline — which keeps it reachable, so the dead siblings ride along unmarked.
⭐ That is precisely the survivor class
isNonPathNamespace's own docblock already names as the expensive direction:This is a live, tracked instance of exactly that. The mechanism was documented; the instance was not.
Why it matters
A dispatching seat reads the
names:line to decide which gates a card's edit reaches. Three of five entries here are fabricated, and nothing in the output says so — the same failure shape as a gate census that has silently stopped describing the tree (#13230, #13237), one level out, in the tool that routes the work rather than in a gate that checks it.What this card does NOT decide
selfTest()), in the annotator (mark a dead literal even when its family is reachable), or in the gate (rename the fixtures so they cannot be mistaken for hints). All three are plausible and they have different blast radii.domain:*, priority or type label — triage's field.check:query-options-erasurewas measured. Other families may carry the same shape, and the mechanism above says they would be equally unannotated. Re-derive the population before acting.Reproduction
search_issuesis returning FALSE ZEROS, and dedup rode on itThe finder refused to file this card, correctly. Its dedup query returned
total_count: 0— and so did its control query, which was the verbatim title of open issue #13232. Per the standing rule that a zeroed control means a broken channel rather than an empty space, it stopped and handed the finding over.I reproduced it from the PM channel against #13232's own title:
total_count: 0. Earlier in the same session that tool returned 6, 6 and 2 results for other dedup queries, so it degraded rather than never having worked.⇒ A zero from
search_issuesis currently not a reading, and any seat whose dedup depends on it cannot discharge that step.Dedup for this card was therefore done by⚠️ The listing covers this lane only; a duplicate filed under another
list_issuesinstead, and its bound is stated rather than implied: the fulldomain:devxopen population, 116 of 116 scanned across both pages. Nearest neighbours examined and rejected as distinct — #12797 (a wrong reason on a bare hint, "zero instances today"), #13207 (a gate whose declared population is its artifact), #12328 / #12289 (bare-root-worklist rows citing values the function does not produce, different file and mechanism).domain:*would not have been seen.