Skip to content

[finding] 9 type-check DEBT ledger entries sit below their recorded ceilings — 273 raw errors of silently-licensed regression headroom (#6376) #7888

Description

@huangyiirene

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 (#6376driver-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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions