## Acceptance criteria - [ ] `vitest.config.ts` has `coverage.thresholds.lines = 75` (and branches/functions/statements) - [ ] CI runs `vitest run --coverage` and uploads HTML + lcov - [ ] README badge for coverage - [ ] HACKING documents how to read coverage locally
Acceptance criteria
vitest.config.tshascoverage.thresholds.lines = 75(and branches/functions/statements)vitest run --coverageand uploads HTML + lcov