# AEG-X-002 — Frontend Typecheck Emit Remediation

- **WBS / Requirement:** AEG-X-002 / REQ-PLAT-TOOL
- **Classification:** behavior-preserving frontend toolchain refactoring
- **Selected on:** 2026-08-08

## Source / Assumption / Unknown / Decision Required

- **Source:** `frontend/package.json`, `frontend/tsconfig.json`, and the tracked `*.vue.js` changes produced by the current build command.
- **Assumption:** Vite, not TypeScript, is the approved JavaScript production emitter. Type checking must not modify tracked source-adjacent JavaScript files.
- **Unknown:** none for this local toolchain correction.
- **Decision Required:** none. The command retains the same type validation and Vite production build; it removes only unintended TypeScript emit.

## Change

- Replace `vue-tsc -b && vite build` with `vue-tsc --noEmit && vite build`.
- Configure Vite bare-import resolution to prefer `.ts` and `.vue` before co-located legacy `.js` files, so the checked TypeScript source is the runtime source.

## Acceptance Evidence

- `pnpm build` completed successfully on 2026-08-08; the preserved output is `evidence/AEG-X-002/frontend-build-noemit_20260808.log`.
- Before/after SHA-256 comparison of the previously dirtied tracked `*.vue.js` files found no changed file after the no-emit build.
- Full frontend regression was executed before this command-only change: 26 files / 57 tests passed.
- The build still reports a 501.14 kB gzip initial JavaScript chunk. It is recorded as a separate performance concern, not hidden by changing Vite's warning limit.

## Follow-up evidence

- `pnpm test` passed: 27 files / 60 tests. Output: `evidence/AEG-X-002/frontend-regression-ts-first-resolution_20260808.log`.
- `pnpm build` passed: `evidence/AEG-X-002/frontend-build-ts-first-resolution_20260808.log`.
- No functional or output-size regression was observed. The existing Vite raw-size warning remains unmasked.

No provider, API, schema, runtime configuration value, policy, or feature semantics changes.
