Found while implementing #10722 (the note-vs-field consistency check). Not fixed there: #10722's rule
deliberately reads only the tier itemisation and leaves per-code tallies alone, and this sits in the
half it does not read.
The entry
TEST_DEBT['@objectstack/plugin-rest'] in scripts/check-type-check-coverage.mjs opens:
TS2835 x67 (NodeNext extensions), TS7006 x57, TS2554 x13, TS2550 x10
(composition as counted at 153; not re-tallied by class at the 155 below).
67 + 57 + 13 + 10 = 147. The note declares the tally was taken at 153. The gap is 6, and the
note carries no clause accounting for it.
Why that reads as a gap rather than an abridgement
Every other per-code tally in either ledger that lists only its leading classes says so explicitly, in
the same sentence:
plugin-approvals — "TS2339 x296, TS2550 x20, TS2345 x16, TS18048 x10, plus 6 singletons (TS2554 x2, TS1470, TS2352, TS2353, TS6133)" — 296+20+16+10+6 = 348 = its errors.objectql — "code-tier 300 (… plus 8 singletons); config-tier 9; noise 46" — sums to its errors: 355.
plugin-rest has no such clause, so from the ledger alone it cannot be told whether 6 classes are
simply unlisted or the tally is 6 short. Both readings are plausible; neither is checkable without a
measurement.
Why it is worth recording rather than repairing on sight
It cannot be resolved from the ledger — it needs check:type-check-debt --re-measure against a built
workspace closure, which also settles the second question the note raises: the tally says 153 while
the entry records errors: 155, so the composition describes a pile two smaller than the field even on
its own account.
⛔ Do NOT "repair" this by editing the digits to make them sum. That is the exact failure mode #10722
is about — prose adjusted to agree with itself while nobody re-measured. The repair is a re-tally from
tsc, with the remainder either listed or admitted as a gap ("an invented attribution is worse than an
admitted gap" is this ledger's own rule).
Scope note
#10722's check abstains here by design, with evidence: per-code tallies are partial by construction, and
this very entry is the worked example in its docblock for why summing them would red an accurate entry.
Closing this finding is a data repair on one entry, not a change to that rule.
Generated by Claude Code
Generated by Claude Code
Found while implementing #10722 (the note-vs-field consistency check). Not fixed there: #10722's rule
deliberately reads only the tier itemisation and leaves per-code tallies alone, and this sits in the
half it does not read.
The entry
TEST_DEBT['@objectstack/plugin-rest']inscripts/check-type-check-coverage.mjsopens:67 + 57 + 13 + 10 = 147. The note declares the tally was taken at 153. The gap is 6, and the
note carries no clause accounting for it.
Why that reads as a gap rather than an abridgement
Every other per-code tally in either ledger that lists only its leading classes says so explicitly, in
the same sentence:
plugin-approvals— "TS2339 x296, TS2550 x20, TS2345 x16, TS18048 x10, plus 6 singletons (TS2554 x2, TS1470, TS2352, TS2353, TS6133)" — 296+20+16+10+6 = 348 = itserrors.objectql— "code-tier 300 (… plus 8 singletons); config-tier 9; noise 46" — sums to itserrors: 355.plugin-resthas no such clause, so from the ledger alone it cannot be told whether 6 classes aresimply unlisted or the tally is 6 short. Both readings are plausible; neither is checkable without a
measurement.
Why it is worth recording rather than repairing on sight
It cannot be resolved from the ledger — it needs
check:type-check-debt --re-measureagainst a builtworkspace closure, which also settles the second question the note raises: the tally says 153 while
the entry records
errors: 155, so the composition describes a pile two smaller than the field even onits own account.
⛔ Do NOT "repair" this by editing the digits to make them sum. That is the exact failure mode #10722
is about — prose adjusted to agree with itself while nobody re-measured. The repair is a re-tally from
tsc, with the remainder either listed or admitted as a gap ("an invented attribution is worse than an
admitted gap" is this ledger's own rule).
Scope note
#10722's check abstains here by design, with evidence: per-code tallies are partial by construction, and
this very entry is the worked example in its docblock for why summing them would red an accurate entry.
Closing this finding is a data repair on one entry, not a change to that rule.
Generated by Claude Code
Generated by Claude Code