Observation only — no gate is red.
Now that scripts/published-readme-exports.baseline.json holds entries: [], the success branch of scripts/check-published-readme-exports.mjs (lines 824-829) prints:
✓ check:published-readme-exports — N published document(s) across M workspace package(s); I import statement(s), T workspace type entr(ies).
0 known instance(s) still in scripts/published-readme-exports.baseline.json; 0 of the findings are call sites.
The first clause is fine at zero. "0 known instance(s) still in ..." carries the shrink-only direction in the word "still", and the header line immediately above reports the population that was actually read — so zero reads as "none left to repair", not as "nothing was scanned".
The second clause is the weak half.memberChecks counts call sites among ALL findings, baselined ones included, so with an empty baseline on a clean tree it is structurally always 0 of the findings are call sites — a ratio over an empty set. It was informative while the ledger was populated: it said how much of the baseline the call-site half accounted for. With the ledger empty it is the one place in an otherwise careful green line where a reader can hear "the call-site half measured nothing" — the #4690 ambiguity this gate is elsewhere emphatic about, and the call-site half is the half most likely to quietly stop matching, being an AST/text scan over prose.
Suggested shape, if triaged as worth doing
When findings.length === 0, report what the call-site half measured rather than what it found — for instance the number of resolved workspace-import names it checked members on, alongside the existing import-statement and type-entry counts. That distinguishes "ran and found nothing" from "matched nothing" without adding a second line. Whatever the shape, it changes author-facing output and should land with a self-test pin next to the ones already there (the gate pins its remedy text for exactly this reason: the token is interpolated, so a source scan proves nothing about the message).
Scale check before anyone spends much on it: this is one clause in one green line, and the reader it protects is the next person auditing whether the call-site half still works. A one-line change with a pin, not a project.
Found while landing #9649, which is scoped to the baseline's $comment by ruling and does not touch gate output. The card asked for a judgement on this line rather than an automatic build; this is that judgement, filed so the judgement is not lost.
Observation only — no gate is red.
Now that
scripts/published-readme-exports.baseline.jsonholdsentries: [], the success branch ofscripts/check-published-readme-exports.mjs(lines 824-829) prints:The first clause is fine at zero. "0 known instance(s) still in ..." carries the shrink-only direction in the word "still", and the header line immediately above reports the population that was actually read — so zero reads as "none left to repair", not as "nothing was scanned".
The second clause is the weak half.
memberCheckscounts call sites among ALL findings, baselined ones included, so with an empty baseline on a clean tree it is structurally always0 of the findings are call sites— a ratio over an empty set. It was informative while the ledger was populated: it said how much of the baseline the call-site half accounted for. With the ledger empty it is the one place in an otherwise careful green line where a reader can hear "the call-site half measured nothing" — the #4690 ambiguity this gate is elsewhere emphatic about, and the call-site half is the half most likely to quietly stop matching, being an AST/text scan over prose.Suggested shape, if triaged as worth doing
When
findings.length === 0, report what the call-site half measured rather than what it found — for instance the number of resolved workspace-import names it checked members on, alongside the existing import-statement and type-entry counts. That distinguishes "ran and found nothing" from "matched nothing" without adding a second line. Whatever the shape, it changes author-facing output and should land with a self-test pin next to the ones already there (the gate pins its remedy text for exactly this reason: the token is interpolated, so a source scan proves nothing about the message).Scale check before anyone spends much on it: this is one clause in one green line, and the reader it protects is the next person auditing whether the call-site half still works. A one-line change with a pin, not a project.
Found while landing #9649, which is scoped to the baseline's
$commentby ruling and does not touch gate output. The card asked for a judgement on this line rather than an automatic build; this is that judgement, filed so the judgement is not lost.