Skip to content

docs(devx): mark check-type-check-coverage.mjs's global-setup example historical - #8383

Merged
qq9340100 merged 1 commit into
mainfrom
claude/issue-8189-worked-example-historical
Aug 13, 2026
Merged

docs(devx): mark check-type-check-coverage.mjs's global-setup example historical#8383
qq9340100 merged 1 commit into
mainfrom
claude/issue-8189-worked-example-historical

Conversation

@qq9340100

Copy link
Copy Markdown
Collaborator

Fixes#8189

scripts/check-type-check-coverage.mjs illustrates "widen a hidden test layer's include one file at a time and measure each" with @objectstack/example-showcase's handling of e2e/global-setup.ts, at two sites (the TEST_DEBT preamble and measureTestDebt()'s docblock — two halves of one worked example). PR #8178 (#8062) made both concrete claims stale:

  • The package's tsconfig now takes the wholesale e2e/**/* glob directly, not the narrow e2e/**/*.spec.ts these comments still described.
  • The 6 errors the narrow glob was avoiding are fixed at their source (a file-local declare const process, plus mkdirSync/writeFileSync on the node:fs shim and a minimal node:path module in examples/app-showcase/types/node-shim.d.ts) rather than excluded, so e2e/global-setup.ts is now read by the tsc program and type-checks clean.

Per the #8189 triage ruling, direction 2: keep the worked example, mark it historical, naming #8062 / PR #8178 as what changed. Both sites were updated together (they are two halves of one worked example — fixing only one would leave the file self-contradicting). The general lesson is unchanged and still stated plainly: a wholesale glob can bill a hidden test layer for a non-test file it never asked to cover, so hidden test layers get added one file at a time and each addition gets measured.

This is a prose-only change inside existing comments in scripts/check-type-check-coverage.mjs. Zero behavior change — verified by running the file's own gates before and after with identical verdicts.

Verification

Fresh worktree, pnpm install, then pnpm exec turbo run build --filter='./packages/*' --filter='./packages/*/*' to build the closure --re-measure needs.

pnpm check:type-check-coverage
✓ check:type-check-coverage --self-test — 23 semantic case(s) + 24 observation case(s) + 25 re-measure case(s) + 28 built-closure case(s) + 9 auto-lowering case(s) hold.
check-type-check-coverage: OK — 64/77 workspace packages type-checked (plus the root), 13 in the DEBT ledger (436 frozen raw errors), 1 exempt.
pnpm check:type-check-debt
✓ check:type-check-coverage --self-test — (same as above)
check-type-check-coverage --re-measure: OK — 33 ledger entr(ies) re-measured in 229.4s, 1969 raw tsc error(s) total, none above its recorded number.
surplus: none — every entry sits exactly at its measurement, so any new error is red.
pnpm check:type-source-resolution
check-type-source-resolution --self-test OK
check-type-source-resolution OK — 76 packages with a tsconfig.json scanned; 51 registered as still resolving a workspace dep's types through `dist/`.
pnpm exec eslint scripts/check-type-check-coverage.mjs
(clean, exit 0)
pnpm check:nul-bytes
check-nul-bytes: OK (scanned 7589 text file(s) -- 7589 tracked, 0 untracked-not-ignored; skipped 5 binary; no raw ASCII control bytes).

Re-derived the dispatch-gates mapping against the actual changed path (node scripts/pm/dispatch-gates.mjs scripts/check-type-check-coverage.mjs) — it surfaces exactly the three named gates above (check:type-check-coverage, check:type-check-debt, check:type-source-resolution), no additional family implicated by this diff.

Scripts-only prose change — skip-changeset label applied.

Generated by Claude Code


Generated by Claude Code

… historical
`scripts/check-type-check-coverage.mjs` illustrates "widen a hidden test
layer's include one file at a time" with `@objectstack/example-showcase`'s
handling of `e2e/global-setup.ts`. PR #8178 (#8062) made both concrete claims
stale: the package's tsconfig now takes the wholesale `e2e/**/*` glob
directly (not the narrow `e2e/**/*.spec.ts` this file still described), and
the 6 errors the narrow glob avoided are fixed at their source rather than
excluded, so `global-setup.ts` is now read by the program and type-checks
clean.
Per the #8189 triage ruling (direction 2): keep the worked example, mark it
historical at both sites (`:507` TEST_DEBT preamble, `:1705`
`measureTestDebt()` docblock — the two are two halves of one worked example
and move together), naming #8062 / PR #8178 as what changed. The general
lesson survives unchanged: a wholesale glob can bill a hidden test layer for
a non-test file it never asked to cover, so add hidden layers one file at a
time and measure each.
Prose-only change inside existing comments; zero behavior change.
Fixes#8189
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jqe56GnYFddggeAyfkZFVz
@vercel

vercelBot commented Aug 13, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
ProjectDeploymentActionsUpdated (UTC)
objectstackIgnoredIgnoredAug 13, 2026 10:44am

Request Review

@qq9340100qq9340100 added skip-changeset PR has no user-facing published change; bypasses the changeset gate and removed size/s labels Aug 13, 2026 — with Claude
@qq9340100
qq9340100 marked this pull request as ready for review August 13, 2026 10:52
@qq9340100
qq9340100 added this pull request to the merge queueAug 13, 2026
Merged via the queue into main with commit 220467eAug 13, 2026
27 checks passed
@qq9340100
qq9340100 deleted the claude/issue-8189-worked-example-historical branch August 13, 2026 11:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changesetPR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants

@qq9340100@claude