--- description: "Run fast unit tests only (backend SQLite + frontend vitest). Designed for agent verify loop — runs in <30s." handoffs: - label: "Fix Test Failures" agent: "fullstack-coder" prompt: "Fix the following test failures from the unit test run. Review the error output and implement fixes." condition: "Tests failed" tools: "bash, grep, read" --- ## User Input $ARGUMENTS ## Goal Run ONLY fast unit tests on both backend and frontend. This is the **default verification step** during development — should complete in <30s with no Docker dependency. ## Required Skills MANDATORY USE `skill({name="semantics-testing"})` — test conventions, anti-tautology rules. ## Execution Steps ### 1. Run backend unit tests ```bash make test-unit ``` This excludes `tests/integration/` and uses SQLite in-memory/temp-file databases. No Docker required. If tests fail: - Read the failing test file to understand the contract - Check if the failure is in code you just changed - Handoff to Fix Test Failures if needed ### 2. Run frontend unit tests ```bash make test-frontend ``` This runs vitest with jsdom environment. All SvelteKit imports are mocked. ### 3. Linting (quick gate) ```bash make lint ``` ## Output Format ``` ## Unit Test Results ### Backend (pytest) - Total: N | Passed: N | Failed: N | Skipped: N - Time: X.Xs ### Frontend (vitest) - Total: N | Passed: N | Failed: N ### Linting - Backend: [PASS/FAIL] - Frontend: [PASS/FAIL] ### Overall: [PASS / FAIL] ``` ## Constraints - NEVER run `pip install` or `npm install`. - This target MUST complete in <120s (enforced by timeout wrapper). - If tests time out, report which files passed and which timed out. - For agent-driven fix loops: run `make test-unit` after every backend change, `make test-frontend` after every frontend change.