package.json's typecheck script runs tsc for tsconfig.json, web/tsconfig.json, and docs-site/tsconfig.json — but not e2e/ui/tsconfig.json, and no workflow references it either (.github/workflows/ui-e2e.yml only runs npm run e2e:ui, and Playwright transpiles without type-checking). Worse, the tsconfig doesn't even compile: npx tsc -p e2e/ui/tsconfig.json fails with ~20 TS2304 errors inside playwright-core type declarations (Cannot find name 'HTMLElementTagNameMap' etc.) because it sets "lib": ["ES2023"] with no DOM lib and omits skipLibCheck — unlike every other tsconfig in the repo. Type errors in e2e/ui/*.spec.ts would only surface at runtime in the nightly browser smoke.
Impact: the e2e specs escape the repo's otherwise-universal typecheck gate, and the dangling tsconfig gives a false impression of coverage.
Acceptance: e2e/ui/tsconfig.json compiles cleanly (add skipLibCheck plus a DOM lib or @playwright/test types as needed) and npm run typecheck (or the ui-e2e workflow) includes tsc -p e2e/ui/tsconfig.json.
package.json'stypecheckscript runstscfortsconfig.json,web/tsconfig.json, anddocs-site/tsconfig.json— but note2e/ui/tsconfig.json, and no workflow references it either (.github/workflows/ui-e2e.ymlonly runsnpm run e2e:ui, and Playwright transpiles without type-checking). Worse, the tsconfig doesn't even compile:npx tsc -p e2e/ui/tsconfig.jsonfails with ~20 TS2304 errors insideplaywright-coretype declarations (Cannot find name 'HTMLElementTagNameMap'etc.) because it sets"lib": ["ES2023"]with no DOM lib and omitsskipLibCheck— unlike every other tsconfig in the repo. Type errors ine2e/ui/*.spec.tswould only surface at runtime in the nightly browser smoke.Impact: the e2e specs escape the repo's otherwise-universal typecheck gate, and the dangling tsconfig gives a false impression of coverage.
Acceptance:
e2e/ui/tsconfig.jsoncompiles cleanly (addskipLibCheckplus a DOM lib or@playwright/testtypes as needed) andnpm run typecheck(or the ui-e2e workflow) includestsc -p e2e/ui/tsconfig.json.