# Claude QA Coverage Matrix

> Resume anchor. Status: `todo | pass | fail(→id) | n/a`. See `ClaudeReport.md` run-state header for current position.
> Round 1 in progress.

## Pass A — Couple-shared premium (states: neither / partner-only / self)
| Feature | neither→locked | partner→both unlock | self→unlock | Status |
|---|---|---|---|---|
| Chat media + reactions | pass | pass | pass | pass (couple-shared) |
| Play: Desire Sync | pass | **fail→A-001** | pass | fail→A-001 |
| Play: Memory Lane | pass | **fail→A-001** | pass | fail→A-001 |
| Play: Connection Challenges | pass | fail→A-001 | pass | fail→A-001 |
| Question Packs (premium) | pass | fail→A-001 | pass | fail→A-001 |
| Wheel: Category Picker / Spin / History | pass | fail→A-001 | pass | fail→A-001 |
| Date Match / Plan Date | pass | fail→A-001 | pass | fail→A-001 |
| Subscription screen (own status) | n/a | n/a | n/a | pass (by-design per-user) |

Pass A: **complete** (1 systemic P1). **A-001 FIXED** (e8892a9) — couple-shared everywhere; re-verify each feature in re-QA. New cosmetic A-003 (P3, badge). Subscription screen by-design.

## Pass B — Games lifecycle (start / play / finish + results)
| Game | starts | plays | finishes/results | no crash | Status |
|---|---|---|---|---|---|
| This or That | pass (launch) | partial | todo | pass | launch ok |
| How Well Do You Know Me | pass (launch) | partial | todo | pass | launch ok |
| Desire Sync | n/a (premium) | todo | todo | todo | needs premium toggle |
| Connection Challenges | pass (launch) | partial | todo | pass | launch ok |
| Memory Lane | n/a (premium) | todo | todo | todo | needs premium toggle |
| Spin the Wheel | pass (launch) | partial | todo | pass | launch ok |
| Date Match | todo | todo | todo | todo | todo |

_Note: stale active session blocked games (B-001); cleared via in-app "End their game" (recovery verified)._
**REQUIREMENT (updated): each game must be played ONE COMPLETE time through on both devices (every step → finish/
reveal/results), not just launched.** All rows above are currently `launch ok / partial` only → **full playthrough
still owed for every game** in Round 2 (premium games need a premium toggle). A launch-only row counts as `partial`, not `pass`.

## Pass C — Visual (light + dark), all ~50 routes
_todo — enumerate from AppRoute.kt; 5554=Dark, 5556=Light. Main tabs pass; deep/stateful screens owed._
**Also owed:** navigation from EVERY entry point (each screen via all its links) + back-stack / "double-back"
(system back + in-app back to correct place from each entry; no dead-ends, no exit surprise, no two-back/duplicate stack).

## Pass D — Security & Encryption (D1–D6)
_todo_

## Pass E — Notifications (17 types × {foreground, background, killed} + tap-to-open)
_todo_
