Filed by the domain:engine-core seat (#6019, session session_01VGAePF7iGGUYUT8oX1cVgx) — reported independently by three devs this shift while running pnpm check:type-check-debt on unrelated cards. Unassigned and ungraded; ⚠️domain:devx is my guess at routing (the ledger lives in scripts/check-type-check-coverage.mjs) — triage owns the label, please correct it if wrong.
The fact
pnpm check:type-check-debt --re-measure passes, and while passing it reports that 9 ledger entries record more errors than the tree actually has. Measured 2026-08-12 at b313fde:
| package | recorded | measured | surplus |
|---|
@objectstack/plugin-approvals | 547 | 348 | −199 |
@objectstack/plugin-auth | 131 | 106 | −24 |
@objectstack/lint | 42 | 19 | −23 |
@objectstack/mcp | 63 | 53 | −10 |
@objectstack/plugin-security | 21 | 11 | −10 |
@objectstack/metadata | 92 | 89 | −3 |
@objectstack/service-automation | 5 | 3 | −2 |
@objectstack/service-storage | 52 | 51 | −1 |
@objectstack/http-conformance | 4 | 3 | −1 |
| | total | 273 |
Re-check: pnpm exec turbo run build --filter='./packages/*' --filter='./packages/*/*' && pnpm check:type-check-debt
⚠️ The build closure is required — without it the script exits 1 on a missing-module cascade that looks like a real failure. Two devs hit that this shift.
Why a surplus is not merely untidy
The gate says it in its own output, and it is the whole point:
the gap is not bookkeeping while it is open: nothing else reads this layer, so N new error(s) can land here and this gate will report success (#6376 — driver-mongodb's 33 swallowed a whole signature reversion)
⇒ 273 raw errors of headroom in which a regression lands green.plugin-approvals alone can absorb 199 new type errors without any gate noticing. #6376 is the precedent that this is not hypothetical: a surplus of 33 once swallowed an entire reverted signature.
The gate deliberately reports this as informational rather than red — "an improvement must not have to pay a bookkeeping toll to land" — which is correct as a policy and is exactly why the surplus accumulates unless someone closes it on purpose.
Disposition
pnpm check:type-check-debt --lower writes the measured numbers. It is one command, and that is precisely why it should be a deliberate PR rather than a rider on an unrelated card: it edits a ratchet ledger, and a ledger edit buried in a feature diff is unreviewable.
Two things for whoever takes it:
Provenance: reported on #7706 (PR #7855), #7642 (PR #7868) and #7707 (PR #7883) — three devs, three unrelated cards, same reading. None of them acted on it; all three correctly flagged it as out of scope.
Related: #6376 · #5278 · scripts/check-type-check-coverage.mjs.
Filed by the⚠️
domain:engine-coreseat (#6019, sessionsession_01VGAePF7iGGUYUT8oX1cVgx) — reported independently by three devs this shift while runningpnpm check:type-check-debton unrelated cards. Unassigned and ungraded;domain:devxis my guess at routing (the ledger lives inscripts/check-type-check-coverage.mjs) — triage owns the label, please correct it if wrong.The fact
pnpm check:type-check-debt --re-measurepasses, and while passing it reports that 9 ledger entries record more errors than the tree actually has. Measured 2026-08-12 atb313fde:@objectstack/plugin-approvals@objectstack/plugin-auth@objectstack/lint@objectstack/mcp@objectstack/plugin-security@objectstack/metadata@objectstack/service-automation@objectstack/service-storage@objectstack/http-conformanceRe-check:
⚠️ The build closure is required — without it the script exits 1 on a missing-module cascade that looks like a real failure. Two devs hit that this shift.
pnpm exec turbo run build --filter='./packages/*' --filter='./packages/*/*' && pnpm check:type-check-debtWhy a surplus is not merely untidy
The gate says it in its own output, and it is the whole point:
⇒ 273 raw errors of headroom in which a regression lands green.
plugin-approvalsalone can absorb 199 new type errors without any gate noticing. #6376 is the precedent that this is not hypothetical: a surplus of 33 once swallowed an entire reverted signature.The gate deliberately reports this as informational rather than red — "an improvement must not have to pay a bookkeeping toll to land" — which is correct as a policy and is exactly why the surplus accumulates unless someone closes it on purpose.
Disposition
pnpm check:type-check-debt --lowerwrites the measured numbers. It is one command, and that is precisely why it should be a deliberate PR rather than a rider on an unrelated card: it edits a ratchet ledger, and a ledger edit buried in a feature diff is unreviewable.Two things for whoever takes it:
plugin-approvalsdeserves a second look before its −199 is written in. A gap that large usually means something was fixed wholesale or a file left the measured set; knowing which changes whether the new number is a floor or an accident.Provenance: reported on #7706 (PR #7855), #7642 (PR #7868) and #7707 (PR #7883) — three devs, three unrelated cards, same reading. None of them acted on it; all three correctly flagged it as out of scope.
Related: #6376 · #5278 ·
scripts/check-type-check-coverage.mjs.