Problem
tsconfig.json:19 sets "include": ["src/**/*"] and vitest.config.ts has no typecheck block. Consequence: nothing in CI typechecks tests/.
This gap surfaced in PR #316 (feat/315-gate-attribution-flag): the headline compile-time guarantee of the EnvBooleanFlagDef | SettingBooleanFlagDef split cannot be locked in with a regression test (// @ts-expect-error), and a stray third argument in a makeTemplate(...) call went unnoticed until resolve pass. Without test typechecking, these slip through.
Current Status
Expected Behavior
- Typechecker covers both
src/**/* and tests/**/*
- Compile-time guarantees enforced in test assertions
- Runtime backstops (
as Type casts) replaced with // @ts-expect-error regression tests
- All type errors surfaced by CI before merge
Suggested Approach
Add a tsconfig.test.json (or vitest typecheck block) covering tests/**, run it in CI, and burn down the errors it surfaces.
Acceptance Criteria
Related
Problem
tsconfig.json:19sets"include": ["src/**/*"]andvitest.config.tshas notypecheckblock. Consequence: nothing in CI typecheckstests/.This gap surfaced in PR #316 (feat/315-gate-attribution-flag): the headline compile-time guarantee of the
EnvBooleanFlagDef | SettingBooleanFlagDefsplit cannot be locked in with a regression test (// @ts-expect-error), and a stray third argument in amakeTemplate(...)call went unnoticed until resolve pass. Without test typechecking, these slip through.Current Status
tests/tree, out of scope for feat: gate AI-attribution suppression behind typed flag with init wizard #316Expected Behavior
src/**/*andtests/**/*as Typecasts) replaced with// @ts-expect-errorregression testsSuggested Approach
Add a
tsconfig.test.json(or vitesttypecheckblock) coveringtests/**, run it in CI, and burn down the errors it surfaces.Acceptance Criteria
tests/**/*// @ts-expect-error) documentedRelated