PROJ-002 - QA Suite Completeness
Build repeatable, executable QA coverage for shipped Forseti features and clean up stale suite shells so release verification is durable, automatable, and auditable.
Project metadata
Type: delivery project
Status: in_progress
Priority: P2
PM: pm-forseti
Lead: pm-forseti / qa-forseti
Started: 2026-04-09
Product: forseti.life
Last scoped release: `20260412-forseti-release-h`
Progress SLA: 7 days without release-scoped work or a PM re-baseline/grooming update = breach
Progress status: On track
Current state
Phase 1 (triage) complete. Phase 2 (suite fill) dispatched to qa-forseti inbox `20260413-004107-suite-activate-*` items (4 release-h suites activated) and Phase 2 fill dispatch confirmed as `20260412-proj002-phase2-suite-fill` (check qa-forseti inbox — if not present, re-dispatch is needed). `suite.json` has 252 suites with 2 populated. Core problem (no executable regression tests) persists; Phase 2 fill work is the active priority.
Next step
qa-forseti to execute Phase 2 fill for the 52 priority suites from the triage report (`sessions/qa-forseti/artifacts/proj002-suite-triage/triage-report.md`). Target ≥2 test_cases per fill suite.
Queue status
Phase 2 dispatch: `sessions/qa-forseti/inbox/20260412-proj002-phase2-suite-fill/` (verify exists)
Goals
- Every shipped forseti feature has at least one executable, re-runnable test case in `suite.json`
- E2E Playwright pipeline unblocked — auth cookie provisioned automatically via `drush user:login`
- Cross-user isolation covered by a second QA user (`qa_tester_authenticated_2`)
- Stale/superseded suite shells retired or merged
- `python3 scripts/qa-suite-validate.py` passes clean on every cycle