Skip to content

docs(devx): re-tally three type-check ledger notes onto their present state - #9025

Merged
os-project-manager merged 1 commit into
mainfrom
claude/issue-8982-stale-margin-notes
Aug 16, 2026
Merged

docs(devx): re-tally three type-check ledger notes onto their present state#9025
os-project-manager merged 1 commit into
mainfrom
claude/issue-8982-stale-margin-notes

Conversation

@os-project-manager

Copy link
Copy Markdown
Collaborator

Fixes#8982

Three per-entry notes in scripts/check-type-check-coverage.mjs still narrated a bootstrap margin that is gone. Each is re-tallied from a fresh measurement, not rescaled from the older composition.

Measurement

Measured at 62b2655d8 (this branch merged with main), with the workspace closure built exactly as lint.yml builds it before the gate:

pnpm exec turbo run build --filter='./packages/*' --filter='./packages/*/*'

The numbers reproduce: the same three tallies came out identical, class for class and file for file, at b849d9e33 and at 62b2655d8 — three --re-measure runs in total, each reporting 1926 raw tsc error(s) total and surplus: none. That satisfies the header's own determinism check, and it is the direct answer to the file's record that three readings of one entry were in circulation in a single day.

No errors field is lowered or raised, and none can be: every entry in both ledgers already sits exactly at its measurement, so there is no tightening worklist to fold in. The @objectstack/lint entry is untouched.

The three, and why one is not like the others

entryledgerfieldthe defect
@objectstack/mcpTEST_DEBT53note stated RECORDED 63 is a bootstrap margin
@objectstack/service-storageDEBT51note stated RECORDED 52 is a bootstrap margin, and its composition still summed to 42
@objectstack/objectqlTEST_DEBT355true as history, misleading as present tense

Note the middle row: @objectstack/service-storage is a DEBT entry, not TEST_DEBT as the card's title has it. The stale narration is exactly as described; only the ledger label differs.

@objectstack/mcp — 53

Re-tallied and unchanged class for class, so the existing composition is kept rather than rewritten: TS18046 x51, TS6133 x1, TS2352 x1, with the 51 in exactly the four files and counts already named. What the old tally never said is where the two singletons are, and both are now located: src/skill-prompts.test.ts(185,23) for the TS2352, src/__tests__/mcp-server-runtime.test.ts(7,1) for the TS6133. The margin sentence becomes history — lowered 63 to 53 by #7888 / PR #8225.

@objectstack/service-storage — 51

The note's composition described the 42-era pile and was never restated when the entry was lowered onto 51. Re-tallied at 51:

  • code-tier 8 — TS2339 x4, TS2347 x4
  • config-tier 26 — TS2835 x23, TS2550 x3
  • noise 17 — TS7006 x15, TS6196, TS6133

The useful finding is that the code tier is the half that did not move — the same 8, all of them in two files. The entire 42 to 51 delta is config-tier and noise (TS2835 21 to 23, TS7006 11 to 15, plus TS2550 x3, a class the old tally did not list at all). Which PRs contributed the +9 is not attributed: the pre-#8225 per-file counts were not retained, and an invented attribution is worse than an admitted gap. Both concentrations the old note gave for the 42 re-verify at 51 (11 and 7). One now-false reference is corrected: storage-adapter-list-retirement.test.ts no longer exists under that name.

@objectstack/objectql — 355 (the tense fix)

Kept deliberately distinct from the other two. Its margin was never tightened away — it was spent: real growth carried the measurement 345 to 355 while the slack absorbed it, so the recorded number stood still and the measurement rose to meet it. The note now says that the margin sentence is history, that this entry measures its recorded 355 exactly, and states the distinction plainly — the other four were tightened onto their measurement, this one was overtaken by its own. Both routes end in the same place, and only one shows up as a lowering in the history.

Re-tallied at 355 (the previous tally was taken at 333 and summed to 297, so it never described this entry at its recorded size):

  • code-tier 300 — TS2339 x115, TS2554 x113, TS2345 x24, TS2749 x14, TS2322 x14, TS18048 x8, TS2353 x4, plus 8 singletons
  • config-tier 9 — TS2550 x8, TS6059 x1
  • noise 46 — TS7006 x36, TS6133 x9, TS6196 x1

Growth is not uniform: TS2554 rose 93 to 113 and TS2345 19 to 24 while TS7006 fell 47 to 36. Per file, src/engine.test.ts x102 leads.

One older claim is discharged rather than carried: the note flagged two TS2304 unresolved names in src/save-meta-response-conformance.test.ts as lines that cannot run. That call was taken — the file reports zero errors today and the package has no TS2304 left anywhere.

Top-of-ledger paragraph

The BOOTSTRAP MARGINS block carried a paragraph stating that mcp's and service-storage's notes were still stale and were being left to their own cards. That is this card, so the paragraph is replaced by the settled statement, keeping the arithmetic-vs-tense distinction that makes the objectql case readable.

Verification

Gate union run after the final commit, at 59fca46af:

pnpm check:nul-bytes OK (5950 text files scanned, no raw ASCII control bytes)
pnpm check:type-check-coverage OK (64/77 packages type-checked, 13 DEBT, 1 exempt)
pnpm check:type-check-debt OK (33 entries re-measured in 213.0s, 1926 raw tsc errors,
none above its recorded number; surplus: none)

Gate families re-derived against the actual changed path with node scripts/pm/dispatch-gates.mjs scripts/check-type-check-coverage.mjs, which names these two families and no others.

skip-changeset: scripts/ is not published package source, so this PR releases nothing.


Generated by Claude Code

… state (#8982)
mcp and service-storage each stated a RECORDED bootstrap margin that the
`errors` field beside it already contradicted; objectql's note was true as
history and misleading as present tense, because its margin was never
tightened away but spent by real growth.
Each note is re-tallied from a fresh measurement at 62b2655 (closure built
as lint.yml builds it), not rescaled from the older composition:
mcp 53 unchanged class for class; the two singletons now located
service-storage 51 was described at its 42-era composition; code tier is the
half that did not move, the +9 is all config-tier/noise
objectql 355 previous tally was taken at 333 and summed to 297
No `errors` field is lowered or raised, and the @objectstack/lint entry is
untouched. The top-of-ledger paragraph asserting mcp and service-storage were
still stale is updated with them.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011RB4waLuNbdruCo6X9oobm
@vercel

vercelBot commented Aug 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
ProjectDeploymentActionsUpdated (UTC)
objectstackIgnoredIgnoredAug 16, 2026 6:53am

Request Review

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/mskip-changesetPR has no user-facing published change; bypasses the changeset gatetooling

Projects

None yet

2 participants

@os-project-manager@claude