From 21504098c2062a373307ed98e3a5ed389a3deea2 Mon Sep 17 00:00:00 2001 From: null Date: Wed, 24 Jun 2026 22:27:40 -0500 Subject: [PATCH] =?UTF-8?q?qa(plan):=20Pass=20B=20=E2=80=94=20play-as-the-?= =?UTF-8?q?user=20mindset;=20report-first-then-workaround=20on=20any=20bro?= =?UTF-8?q?ken=20flow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ClaudeQAPlan.md | 11 +++++++++++ ClaudeReport.md | 1 + 2 files changed, 12 insertions(+) diff --git a/ClaudeQAPlan.md b/ClaudeQAPlan.md index dc5fa152..45778b72 100644 --- a/ClaudeQAPlan.md +++ b/ClaudeQAPlan.md @@ -137,6 +137,17 @@ Gated files (for the fix): `ui/play/PlayHubViewModel`, `ui/desiresync/DesireSync ### Pass B — Games lifecycle (MANDATORY: play each game ONE complete time through) Games: This or That, How Well Do You Know Me, Desire Sync, Connection Challenges, Memory Lane, Spin the Wheel, + Date Match. +- **PLAY AS THE USER (mandatory mindset for this pass):** drive every game **the way a real user would** — reach it + through the actual in-app navigation a person would tap (Play hub → the game's card → its buttons), **not** via + deep-links, admin pokes, forced state, or any shortcut a user doesn't have. **Expect what the user expects:** if a + tap/button/flow doesn't do the obvious thing, or a screen doesn't behave the way a normal user would assume, **that + itself is a finding** — log it. +- **When something doesn't work: REPORT FIRST, then a minimal workaround (in that order).** Do **not** silently + engineer around breakage by taking extra steps the user wouldn't take. The moment the natural user path fails: + (1) **log the issue** in `ClaudeReport.md` with severity + the exact user action that failed and what was expected; + (2) **only then** apply the smallest workaround needed to keep the pass moving. The workaround **never replaces** + the report — a flow that needs a workaround to proceed is, by definition, broken and must be filed to fix. If a + workaround is impossible, mark the game `fail→` (blocked) and continue with the next. - **A launch/crash check is NOT sufficient. Each game MUST be played one full way through, end-to-end, on BOTH devices** — start → answer/interact through **every** step/round/question on each device → reach the **finish/reveal/results** screen → confirm the result renders correctly for both partners. Verify each diff --git a/ClaudeReport.md b/ClaudeReport.md index a87066e6..28292349 100644 --- a/ClaudeReport.md +++ b/ClaudeReport.md @@ -2,6 +2,7 @@ > **RUN-STATE: Round 2 | Pass B in progress (1 game/chunk) | ✅ This or That, ✅ How Well (both full playthroughs, results match, no crash). NEXT ACTION: play Desire Sync → Connection Challenges → Memory Lane → Spin the Wheel → Date Match (Desire Sync + Memory Lane need a Sam-premium toggle; remember to exit games via Back to Play so the session closes). Then Pass C deep/stateful + nav/back; live notification matrix; D3 non-member; Pass F (incl. F-OBS).** > Pass-B note: a finished game keeps its session active until a player exits the results (Back to Play); leaving both on results blocks the next game until "End their game". Exit cleanly between games. +> **Pass-B MINDSET (user, 2026-06-24): PLAY AS THE USER** — navigate only via the real in-app path a person would tap (no deep-links/admin pokes/shortcuts); expect what a user expects. When the natural path fails, **REPORT FIRST** (log issue + severity + the user action that failed & what was expected), **THEN** a minimal workaround to proceed — never silently engineer around breakage; a flow needing a workaround is broken and must be filed. > R2-1 DONE: A-001 couple-shared re-verified live (Desire Sync/Memory Lane/Wheel enter when partner premium; free→paywall). **D-001 (P1) FIXED+DEPLOYED** (capsules/challenges rules; Memory Lane + Connection Challenges now load). Sam reverted to free (baseline). > Round 1 complete (all 5 passes run report-only; P0–P2 found were fixed in-line). Fixes: A-001 (e8892a9), E-001 (ce12abb). Open P3: A-003, B-001, E-002. > **EXECUTION MODE: autonomous run-to-completion — do NOT stop; fix blockers inline; keep cycling fix→re-QA until flawless. Do NOT hand back when context fills — the harness auto-compacts and you continue from THIS run-state (re-read it + coverage after any summary). Commit before interruptible work; recover stuck sessions via the session-start ritual.**