feat: require a zero-error product typecheck and a test type-debt ratchet

Adds tsconfig.json (strict) over product code, fixes its remaining 90
diagnostics (type-only, interface corrections, and explicit narrowing),
and adds a typecheck job to the required free-tests aggregate running
bun run typecheck, the test-code ratchet (identity -> count baseline, fails
on new, repeated, or unlocked fixed diagnostics), and the lib/cso format
check. Reuses fixes from #2447 where they still applied.
This commit is contained in:
garrytan committed 2026-09-29 14:34:02 +00:00
1 parent 03e5911dba
commit 42e53413da
38 files changed
+1254 -62

No files matched your search

+2 -2
View File
@@ -36,7 +36,7 @@
* architecture_care: 0 = pragmatic, ship it ↔ 1 = principled, get it right
*/
import { QUESTIONS } from './question-registry';
import { QUESTIONS, type QuestionDef } from './question-registry';
/** The 5 dimensions of the developer psychographic. */
export type Dimension =
@@ -255,7 +255,7 @@ export function validateRegistrySignalKeys(): {
extra: string[];
} {
const registrySignalKeys = new Set<string>();
for (const q of Object.values(QUESTIONS)) {
for (const q of Object.values(QUESTIONS) as QuestionDef[]) {
if (q.signal_key) registrySignalKeys.add(q.signal_key);
}
const mapKeys = new Set(Object.keys(SIGNAL_MAP));