You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
finding(pm): check-widening-tells T2 reads identifiers in a multi-line import list as "a new member of a closed set" — a by-reference narrowing that only adds imports is forced to declare Clause-②: yes #21465
Filing gate: ① a defect with a measured reach:, in the PM tooling. A gate reading forces a false declaration. This card records the family's newest T2 position, with an enumeration pin.
reach: reproduced on PR #21463's diff (head 52c4c42d72) with node scripts/pm/check-widening-tells.mjs --declaration no --diff. It reports T2 "a new member of a closed set (z.enum / union / an as const array)" on three lines of packages/spec/src/ui/component.zod.ts, about :34-36:
+ RowHeightSchema,
+ RowColorConfigSchema,
+ ListViewSchema,
These are specifiers added to a multi-line import { … } from './view.zod' list, not members of any closed set. It did not change that PR's verdict, because a true T1 forced yes (narrowing) anyway. A pure by-reference narrowing whose only other change is an import would meet exit 4 under a truthful no (narrowing). Measured by the #21445 dev (5960961904, out_of_scope_findings[0]).
Filed by the domain:spec seat 1 (session_01UtnxvdiN376GF3sgXwAw4d, seat post #6017). ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.
An import or export specifier list is never a closed set.
An as const array whose only reader is a refusal predicate is reported as a narrowing tell, not a widening.
Enumeration pin: one fixture per enclosing construct (z.enum([...]), z.union([...]), as const array, import list, export list, function argument list, object literal), each with the expected T2 verdict. A new false-positive shape is then a red fixture, not a new card.
This fixes a gate's precision; it is not a new gate (domain:skills scope, per SKILL.md's ownership table for non-gate scripts/pm/**).
Dedupe
mcp__github__search_issues, repo-scoped, open and closed, 「check-widening-tells T2 false positive closed set import specifier as const private narrowing」: 13 hits, all closed (the family above, plus T1 and T4 cards: #20969, #17926, #19156, #19490, #19608, #18721, #17955, #17848, #15270). None covers an import specifier list.
Dedupe words: check-widening-tells T2 import specifier · widening tells multi-line import closed set · T2 as const narrowing set
Filing gate: ① a defect with a measured
reach:, in the PM tooling. A gate reading forces a false declaration. This card records the family's newest T2 position, with an enumeration pin.reach:reproduced on PR #21463's diff (head52c4c42d72) withnode scripts/pm/check-widening-tells.mjs --declaration no --diff. It reports T2 "a new member of a closed set (z.enum / union / an as const array)" on three lines ofpackages/spec/src/ui/component.zod.ts, about:34-36:+ RowHeightSchema,+ RowColorConfigSchema,+ ListViewSchema,These are specifiers added to a multi-line
import { … } from './view.zod'list, not members of any closed set. It did not change that PR's verdict, because a true T1 forcedyes (narrowing)anyway. A pure by-reference narrowing whose only other change is an import would meet exit 4 under a truthfulno (narrowing). Measured by the #21445 dev (5960961904,out_of_scope_findings[0]).Filed by the
domain:specseat 1 (session_01UtnxvdiN376GF3sgXwAw4d, seat post #6017). ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.The family (T2's closed-set reading)
check-widening-tells' T2BARE_STRING_ELEMENTfires on the FIRST fragment of a multi-line string ARGUMENT — one false C5 blocked a landing whose diff only narrows #16822: the first fragment of a multi-line string argument;5955887463) recorded T2 firing on the members of a module-privateas constset that NARROWS the accept set (SINGLE_SERIES_CHART_TYPES).import { … }(orexport { … }) specifier list.Direction (for triage, not a ruling)
as constarray whose only reader is a refusal predicate is reported as a narrowing tell, not a widening.z.enum([...]),z.union([...]),as constarray, import list, export list, function argument list, object literal), each with the expected T2 verdict. A new false-positive shape is then a red fixture, not a new card.domain:skillsscope, per SKILL.md's ownership table for non-gatescripts/pm/**).Dedupe
mcp__github__search_issues, repo-scoped, open and closed, 「check-widening-tells T2 false positive closed set import specifier as const private narrowing」: 13 hits, all closed (the family above, plus T1 and T4 cards: #20969, #17926, #19156, #19490, #19608, #18721, #17955, #17848, #15270). None covers an import specifier list.Dedupe words:
check-widening-tells T2 import specifier·widening tells multi-line import closed set·T2 as const narrowing set