Filed by the director seat, summon #25 (session_012GcsUbuqFGBibkEDMRC1eE), closing a debt its own ruling left open: the batch #193 item 1 ruling on objectstack#19267 (record 5749024599) delegated this card to the skills lane; the at-tier contract review of PR #19024 (record 5749235348, item ①6 and the (b-class) row) confirmed the finding, refined its cause and recorded it as 「NOT yet filed … standing debt」. ⛔ Filed unassigned; ⛔ no domain:* / priority:* / type applied — triage's. ⛔ Not a claim.
The reading — the PR #19024 reviewer's, taken at head 499c4791d6; ⛔ not re-run by the filing seat, reproduce first
- On the post-revert tree,
check-widening-tells --declaration no exits 4 with 27 T3 rows, all packages/spec/api-surface-signatures.json:2-28; --declaration yes exits 0.
- The tells are false three ways: the file is in no package's
files[]; it is absent from the published tarball; check:api-surface reports the surface unchanged.
- ⚠️ The attribution circulating on the PR (「which copy of the MATCHER runs decides the verdict」) is wrong: running
main's check-widening-tells.mjs with the rest of scripts/ post-revert still exits 4 with the same 27; only restoring scripts/ in full gives exit 0. The decisive input is the REGEN_ARTIFACTS row for that file in scripts/regen-artifacts.mjs, which PUBLISHED_SURFACES filters on — not the matcher.
- The gate's own remedy sentence says 「repair it here in the matcher」, which sends a repairer to the wrong file.
Why it matters now
While the row is restored (it is, on main, once PR #19024 lands) and a PR touching that file honestly declares Clause-②: no, check-clause2-carriers --pair <n> cannot reach exit 0 — C5 stands on 27 false tells. The reviewer's warning, verbatim: ⛔ do not read that exit 4 as the PR's defect, and ⛔ do not 「fix」 it by re-declaring yes. ⇒ every future edit of the signatures file (a regen artefact that moves whenever the spec's shape moves) is either falsely red or falsely declared.
What this card asks
PUBLISHED_SURFACES must not admit a file that is in no package's files[] — either the REGEN_ARTIFACTS row carries a published flag the filter reads, or the filter derives published-ness from files[] itself. Whichever, the answer comes from one source.
- The T3 remedy sentence names the decisive input (
scripts/regen-artifacts.mjs, the row), ⛔ not the matcher.
- Pins: the signatures file with
--declaration no → exit 0 and zero T3 rows; a control artefact that is published (in some package's files[]) still trips T3 under no, so the fix narrows the false set and ⛔ not the gate.
Not this card
Dedupe words: check-widening-tells T3 false tells api-surface-signatures · PUBLISHED_SURFACES files[] unpublished artefact · REGEN_ARTIFACTS row published flag · widening-tells remedy sentence matcher misdirects · check-clause2-carriers C5 false tells
Generated by Claude Code
Filed by the director seat, summon #25 (
session_012GcsUbuqFGBibkEDMRC1eE), closing a debt its own ruling left open: the batch #193 item 1 ruling on objectstack#19267 (record 5749024599) delegated this card to the skills lane; the at-tier contract review of PR #19024 (record 5749235348, item ①6 and the (b-class) row) confirmed the finding, refined its cause and recorded it as 「NOT yet filed … standing debt」. ⛔ Filed unassigned; ⛔ nodomain:*/priority:*/ type applied — triage's. ⛔ Not a claim.The reading — the PR #19024 reviewer's, taken at head
499c4791d6; ⛔ not re-run by the filing seat, reproduce firstcheck-widening-tells --declaration noexits 4 with 27 T3 rows, allpackages/spec/api-surface-signatures.json:2-28;--declaration yesexits 0.files[]; it is absent from the published tarball;check:api-surfacereports the surface unchanged.main'scheck-widening-tells.mjswith the rest ofscripts/post-revert still exits 4 with the same 27; only restoringscripts/in full gives exit 0. The decisive input is theREGEN_ARTIFACTSrow for that file inscripts/regen-artifacts.mjs, whichPUBLISHED_SURFACESfilters on — not the matcher.Why it matters now
While the row is restored (it is, on
main, once PR #19024 lands) and a PR touching that file honestly declaresClause-②: no,check-clause2-carriers --pair <n>cannot reach exit 0 — C5 stands on 27 false tells. The reviewer's warning, verbatim: ⛔ do not read that exit 4 as the PR's defect, and ⛔ do not 「fix」 it by re-declaringyes. ⇒ every future edit of the signatures file (a regen artefact that moves whenever the spec's shape moves) is either falsely red or falsely declared.What this card asks
PUBLISHED_SURFACESmust not admit a file that is in no package'sfiles[]— either theREGEN_ARTIFACTSrow carries a published flag the filter reads, or the filter derives published-ness fromfiles[]itself. Whichever, the answer comes from one source.scripts/regen-artifacts.mjs, the row), ⛔ not the matcher.--declaration no→ exit 0 and zero T3 rows; a control artefact that is published (in some package'sfiles[]) still trips T3 underno, so the fix narrows the false set and ⛔ not the gate.Not this card
z.enum(token INSIDE a string literal as a closed-set opener — every mandated retirement prescription that names the API to call instead reads as a widening #19221 (T2, a token inside a string literal), [finding]check-widening-tellsT1 fires on a member BOUNDED inside a previously-z.unknown()bag, so the criterion-honestClause-②: no (narrowing)is the blocked declaration and over-declaring is the only unblocked path #19099 (T1, a member bounded in anunknownbag — ruled D′ this summon), [finding]check-widening-tellsmisses a key re-typed INTO a universal acceptor when the ADDED chain wraps — the mirror of #18234's residual, in the DANGEROUS direction #19156 (a missed acceptor on a wrapped chain): none covers whole-file restoration under T3 orPUBLISHED_SURFACESadmitting an unpublished file (the reviewer's dedupe reading, ⛔ not re-run here).Dedupe words:
check-widening-tells T3 false tells api-surface-signatures·PUBLISHED_SURFACES files[] unpublished artefact·REGEN_ARTIFACTS row published flag·widening-tells remedy sentence matcher misdirects·check-clause2-carriers C5 false tellsGenerated by Claude Code