Skip to content

finding(app-shell,core): the same "tests are compiled by nothing" claim is stale in two more packages, and ~10 headers still cite a tsconfig.typetests.json that no longer exists #6465

Description

@claude

Observational finding, found while implementing #6426 (which fixes the same defect class in plugin-dashboard). Filed unassigned. No behaviour is affected — these are stale claims in test headers, and like #6426 some of them prescribe rather than merely describe.

Two distinct stale claims, both measured on origin/main at e929c562a

(1) "this package's tests are compiled by nothing" — false for app-shell and core

Both packages now chain a test project:

packages/app-shell -> type-check: tsc --noEmit && tsc -p tsconfig.test.json
packages/core -> type-check: tsc --noEmit && tsc -p tsconfig.test.json

and node scripts/check-type-check-coverage.mjs reports test type-check coverage: 41/41 packages compile their tests, 0 declared debt. TEST_DEBT in scripts/check-type-check-coverage.mjs is literally export const TEST_DEBT = {};.

Headers still asserting otherwise:

  • packages/app-shell/src/views/metadata-admin/previews/simulator/__tests__/flow-simulator.test.ts:26"tsc never sees this file (the package tsconfig excludes **/*.test.ts, and app-shell's test tree is still TEST_DEBT)"
  • packages/app-shell/src/views/metadata-admin/inspectors/_shared.labels.test.tsx:429"A @ts-expect-error in this file would be read by no compiler ... so it would neither fail when the error disappeared nor when it was never there"prescriptive, and now false, the same shape finding(plugin-dashboard): a test header still says this package's tests are compiled by nothing — that debt was paid #6426 was filed for
  • packages/core/src/actions/__tests__/ActionParamDef.options.test.ts:22"this package excludes its own test files from tsc (TEST_DEBT ...), so nothing here can fail because a TYPE re-narrowed"
  • packages/core/src/utils/__tests__/dataset-result-field-spec-parity.test.ts:24"@object-ui/core is still in scripts/check-type-check-coverage.mjs's TEST_DEBT, so no other tsc invocation reads this tree either"
  • packages/app-shell/src/__tests__/spec-symbol-parity.test.ts:54"app-shell's wider test tree still has a pre-existing error backlog, tracked as TEST_DEBT"

(2) tsconfig.typetests.json is cited in the present tense, but zero exist

find . -name tsconfig.typetests.json -not -path '*/node_modules/*' returns nothing (positive control: the same find for tsconfig.test.json returns 36). objectui#4291 retired the last six, and scripts/__tests__/check-type-check-coverage.test.ts pins the terminal state — expect(pkg.hasTypeTestsConfig).toBe(false) for every package.

Yet these headers tell the reader that a listing in such a project is what makes their assertions load-bearing:

  • packages/app-shell/src/views/metadata-admin/previews/flow-designer-edge.types.test.ts:17"it is listed in packages/app-shell/tsconfig.typetests.json. Without that listing they would be commentary"
  • packages/app-shell/src/views/metadata-admin/previews/simulator/__tests__/flow-sim-edge.types.test.ts:25
  • packages/app-shell/src/views/metadata-admin/inspectors/InspectorComboField.naming.types.test.tsx:21,30
  • packages/app-shell/src/views/metadata-admin/inspectors/_shared.labels.test.tsx:433
  • packages/app-shell/src/__tests__/spec-symbol-parity.test.ts:51,297
  • packages/app-shell/src/utils/resolveActionParams.test.ts:389,502
  • packages/core/src/actions/__tests__/actionKeys.types.test.ts:136
  • packages/core/src/utils/__tests__/dataset-result-field-spec-parity.test.ts:26"packages/core/tsconfig.typetests.json lists this file explicitly and is chained off the package's type-check script" — the sharpest one: it names a path that does not exist and a chaining that is not in the script.

Why it is worth fixing rather than leaving

Same reasoning as #6426. Two of these actively route the next author away from a compile-time assertion that would in fact be checked, and several point at a config file a reader will not find — which reads as "the enforcement is somewhere I can't see" rather than "the enforcement is tsconfig.test.json". The assertions themselves are fine and are genuinely compiled today; only the prose is wrong.

Not verified here

Whether any of these files' assertions are actually in their package's tsconfig.test.json include set was not measured per-file — the coverage gate's 41/41 is a package-level statement. Whoever picks this up should confirm per file with tsc -p tsconfig.test.json --listFiles, the way #6426 did.

Suggested disposition

Comment-only, per package, plus an empty-frontmatter changeset. Splitting app-shell and core into two cards is reasonable — they are independent surfaces.

Related


Generated by Claude Code


Generated by Claude Code

Metadata

Metadata

Assignees

Labels

domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpm:dispatched

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions