v1.2.4
v1.2.4 — Fix CI coverage gate + improve agent instructions
Section titled “v1.2.4 — Fix CI coverage gate + improve agent instructions”Released: 2026-05-15
What’s fixed
Section titled “What’s fixed”Frontend function coverage back to 100%
Section titled “Frontend function coverage back to 100%”The CI Frontend job was failing with:
ERROR: Coverage for functions (89.06%) does not meet global threshold (90%)Five functions across three files had no unit tests:
| File | Functions |
|---|---|
front/src/lib/api/assets.ts | updateSnapshot, deleteSnapshot |
front/src/lib/theme.ts | initTheme |
front/src/lib/hooks/assets.ts | useUpdateAssetSnapshot, useDeleteAssetSnapshot |
Tests added:
lib/api/__tests__/assets.test.ts—updateSnapshotanddeleteSnapshotcovering PUT/DELETE callslib/__tests__/theme.test.ts—initThemewithwindow.matchMediamocklib/hooks/__tests__/assets.test.ts(new file) — both snapshot mutation hooks viarenderHook
Agent instruction files corrected
Section titled “Agent instruction files corrected”Instructions previously stated npm test enforces coverage thresholds — it does not. Updated:
.github/instructions/astro.instructions.md— added “Coverage Gate (CI-Enforced — MANDATORY)” section.github/instructions/nestjs.instructions.md— same section added.github/instructions/agents-plan-checklist.instructions.md— test gate commands corrected
Correct gate commands:
cd backend && npm run test:cov # backend — enforces thresholdscd front && npx vitest run --coverage # frontend — enforces thresholdsCoverage thresholds (both backend and frontend)
Section titled “Coverage thresholds (both backend and frontend)”| Metric | Threshold |
|---|---|
| Statements | 90% |
| Branches | 80% |
| Functions | 90% |
| Lines | 90% |