Strategy (reference)
Vitest unit (progress, permissions, validators) → Drizzle + RLS integration on ephemeral branches → Playwright E2E (login → task lifecycle → viewer denial → mobile) → axe a11y + npm audit/semgrep. Gates run every phase.
Reference — live QA tracking ships with Phase M
Vitest unit (progress, permissions, validators) → Drizzle + RLS integration on ephemeral branches → Playwright E2E (login → task lifecycle → viewer denial → mobile) → axe a11y + npm audit/semgrep. Gates run every phase.