Problem
`vitest run` exits 0 even when a file has zero coverage. We have no signal whether security helpers or animation math are tested at all.
Expected
- Enable v8 / istanbul coverage in `vite.studio.config.ts` (`test.coverage`).
- Add `npm run test:coverage` (alias of `vitest run --coverage`).
- Document the floor in `docs/docs/production.md`.
Acceptance
- `npm run test:coverage` produces a text report.
- CI artifact (optional) uploads coverage summary.
Problem
`vitest run` exits 0 even when a file has zero coverage. We have no signal whether security helpers or animation math are tested at all.
Expected
Acceptance