Problem
No integration tests for the generation state machine or model download flow. No E2E smoke tests. No coverage enforcement in CI. The test pyramid has a wide base (unit) but missing middle (integration) and top (E2E).
Scope
- Rust integration tests for model download and generation state machine
- Playwright smoke tests (3 happy paths: setup, generate, history)
- Performance benchmark script (
scripts/bench.mjs) with markdown output for release notes
- Database migration tests (schema v1 → latest)
- Playwright screenshot comparison for key pages
- Expand frontend unit tests from 42 to 120+ across 16+ files
- Add Vitest coverage via
@vitest/coverage-v8
- CI coverage reporting and threshold enforcement (60% minimum)
Acceptance criteria
Problem
No integration tests for the generation state machine or model download flow. No E2E smoke tests. No coverage enforcement in CI. The test pyramid has a wide base (unit) but missing middle (integration) and top (E2E).
Scope
scripts/bench.mjs) with markdown output for release notes@vitest/coverage-v8Acceptance criteria
pnpm test:coverageenforces 60% line coverage minimum