Measured on claude/issue-11332-manifest-container-retirement (base origin/main@7404925), while executing the #11332 retirement — found by the retirement's own cross-package reverse verification, filed rather than fixed (import hygiene and tsc-program scope are a different defect class from a dead-container retirement).
What is measured
packages/drivers/driver-memory/objectstack.config.ts and packages/plugins/plugin-hono-server/objectstack.config.ts both begin with an import of ObjectStackManifest from @objectstack/spec/system.@objectstack/spec/system does not export that name: packages/spec/src/system/index.ts never re-exports kernel/manifest.zod, and the built dist/system/index.d.ts has zero occurrences of ObjectStackManifest (the real home is @objectstack/spec/kernel).- If either file were inside a tsc program, that import would be a hard TS2305. Yet
pnpm --filter @objectstack/driver-memory typecheck exits 0 on the same tree. Conclusion: the config files are typechecked nowhere — the ObjectStackManifest annotation on the two manifests is decorative. - Positive control, same tree, same day: a probe file placed inside
packages/objectql/src importing the type from @objectstack/spec/kernel and authoring a retired key produced the expected error (first TS2305 under the /system spelling, then TS2322 against the tombstone under the /kernel spelling) — so the channel works wherever a file IS inside a program.
Why this matters now
The #11332 / #10724 / #4914 manifest retirements all lean on the retiredKey() double channel: tsc (input typed never) plus parse. The tsc half is blind at exactly the two in-repo manifest authoring sites — the only places in this repo where a plugin manifest is authored in TypeScript. The #11332 PR cleaned both by hand; nothing would catch a future re-introduction at author time.
Class neighbours (not duplicates)
#4311 is the framework-wide "tsup-built packages, nobody typechecks" worklist and #12511 records the test-file variant of invisible type errors; this card is sharper than both: the files sit outside even the programs that DO run, and carry an import that would fail the moment anyone widened the program. Fixing it is two small moves per package: import from @objectstack/spec/kernel, and include objectstack.config.ts in the package's tsc program.
Generated by Claude Code
Measured on
claude/issue-11332-manifest-container-retirement(baseorigin/main@7404925), while executing the #11332 retirement — found by the retirement's own cross-package reverse verification, filed rather than fixed (import hygiene and tsc-program scope are a different defect class from a dead-container retirement).What is measured
packages/drivers/driver-memory/objectstack.config.tsandpackages/plugins/plugin-hono-server/objectstack.config.tsboth begin with an import ofObjectStackManifestfrom@objectstack/spec/system.@objectstack/spec/systemdoes not export that name:packages/spec/src/system/index.tsnever re-exportskernel/manifest.zod, and the builtdist/system/index.d.tshas zero occurrences ofObjectStackManifest(the real home is@objectstack/spec/kernel).pnpm --filter @objectstack/driver-memory typecheckexits 0 on the same tree. Conclusion: the config files are typechecked nowhere — theObjectStackManifestannotation on the two manifests is decorative.packages/objectql/srcimporting the type from@objectstack/spec/kerneland authoring a retired key produced the expected error (first TS2305 under the/systemspelling, then TS2322 against the tombstone under the/kernelspelling) — so the channel works wherever a file IS inside a program.Why this matters now
The #11332 / #10724 / #4914 manifest retirements all lean on the
retiredKey()double channel: tsc (input typed never) plus parse. The tsc half is blind at exactly the two in-repo manifest authoring sites — the only places in this repo where a plugin manifest is authored in TypeScript. The #11332 PR cleaned both by hand; nothing would catch a future re-introduction at author time.Class neighbours (not duplicates)
#4311 is the framework-wide "tsup-built packages, nobody typechecks" worklist and #12511 records the test-file variant of invisible type errors; this card is sharper than both: the files sit outside even the programs that DO run, and carry an import that would fail the moment anyone widened the program. Fixing it is two small moves per package: import from
@objectstack/spec/kernel, and includeobjectstack.config.tsin the package's tsc program.Generated by Claude Code