| PUZ-API-001 | Start game without authentication returns 401 Unauthenticated request rejected | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-002 | Start game with invalid mode returns 400 Invalid mode ID rejected | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-003 | Submit move for wrong puzzle returns 400 Move submission validates puzzle ID | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-004 | Submit move with invalid format returns 400 Move validation for UCI format | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-005 | Request hint when hints disabled returns 403 Hint rejected in Puzzle Rocket | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-006 | Request second hint returns 400 Only one hint per puzzle | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-007 | End session for non-existent game returns 404 Invalid game ID rejected | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-API-008 | End another user's game returns 403 Cannot end someone else's session | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-009 | Submit move for ended game returns 400 Cannot interact with completed session | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-010 | Start game when active session exists returns 409 Prevent duplicate sessions in same mode | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-011 | Get puzzles with invalid rating range returns 400 Rating range validation | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-API-012 | Rate limiting prevents abuse Too many requests throttled | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-API-013 | SQL injection attempt is blocked Malicious input sanitized | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-014 | XSS attempt in puzzle data is escaped Script tags in data don't execute | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-015 | Large payload rejected Request size limits enforced | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-API-016 | Expired JWT token returns 401 Token expiration enforced | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-017 | Concurrent move submissions handled Race condition prevention | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-API-018 | Network timeout handled gracefully Client-side timeout recovery | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-API-019 | Server error returns 500 with safe message Internal errors don't leak details | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-API-020 | Invalid theme ID in filter returns empty results Non-existent theme handled gracefully | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-CAL-001 | Calculation Mode is unrated User rating unchanged in all submodes | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CAL-002 | Default mode is Deep Think Deep Think selected by default | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-CAL-003 | Deep Think has no timer No time pressure in Deep Think | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CAL-004 | Deep Think uses long sequences Puzzles have 3+ moves | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-CAL-005 | Commitment Mode first move is untimed No time limit on move 1 | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CAL-006 | Commitment Mode 3s timer after first move Subsequent moves have 3 second limit | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CAL-007 | Commitment Mode timer expiry fails puzzle Failing to move in 3s = puzzle failure | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CAL-008 | Checkmate Climb starts at mate-in-1 Session starts with easiest checkmates | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CAL-009 | Checkmate Climb progresses to mate-in-2 Success advances to harder checkmates | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CAL-010 | Checkmate Climb resets to mate-in-1 on fail Failure resets progression | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CAL-011 | Checkmate Climb max level Verify highest mate-in-N available | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-CAL-012 | Hints allowed in Calculation Mode Hint works with no rating impact | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-CAL-013 | Rating range slider clamps correctly Min cannot exceed max | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-CAL-014 | Deep Think score decay to zero at 300s Score reaches 0 at max time | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-CAL-015 | Score can go negative after zero-point time Exceeding max time gives negative score | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-CAL-016 | Wrong attempt uses decayed score Failed attempt records current decayed score | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-CAL-017 | Retry attempt yields zero score Retrying a puzzle gives 0 score | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-CAL-018 | Commitment mode zero-point at 100s Score reaches 0 at 100 seconds | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-CAL-019 | Coming Soon when mode not available Fallback for unavailable mode | Kenny-Campbell chess-rocket | puzzle | P2 | both | |
| PUZ-CAL-020 | Commitment Mode timer is HIDDEN 3-second timer not visually shown to user | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-CAL-021 | Puzzle rating range selection works Puzzles served from selected rating range | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-CAL-022 | Session-end shows session stats Comprehensive stats on session end | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-CAL-023 | Puzzle-end shows depth (moves played) Completion screen shows move count | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-CAL-024 | Commitment Mode tests pre-calculation User must calculate full line before first move | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-CAL-025 | Mode selection changes start behavior Different submodes have different mechanics | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-CLM-001 | Puzzle Climb is rated (Glicko) User Glicko rating changes during session | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CLM-002 | No time pressure (no clock) No timer displayed or enforced | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CLM-003 | Difficulty increases after consecutive solves Puzzles get harder after wins | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-CLM-004 | Difficulty decreases after consecutive failures Puzzles get easier after losses | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-CLM-005 | Mixed performance difficulty adjustment Difficulty responds to win/loss pattern | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-CLM-006 | Wrong move fails puzzle immediately First incorrect move = puzzle failure | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CLM-007 | Rating gain on solve Successful solve increases user rating | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-CLM-008 | Next puzzle loads after solve Session continues after successful solve | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CLM-009 | Rating loss on fail Failed puzzle decreases user rating | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-CLM-010 | Next puzzle loads after fail (no game-over) Session continues after failure | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-CLM-011 | Hint reduces rating gain by 50% Hint penalty applies to Glicko calculation | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-CLM-012 | Puzzle-end completion screen shown Modal after each puzzle | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-CLM-013 | Start without rating prompts initialization New user without rating sees init flow | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-CLM-014 | Start without theme selection works No theme selection = all themes | Kenny-Campbell chess-rocket | puzzle | P2 | both | |
| PUZ-CLM-015 | Level up after required solves (if level-based) Progress to next level after consecutive solves | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-CLM-016 | Level down after consecutive fails (if level-based) Drop level after failures | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-CLM-017 | Level does not drop below 1 (if level-based) Minimum level is 1 | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-CLM-018 | Highest level persists after dropping Peak level recorded even after dropping | Kenny-Campbell chess-rocket | puzzle | P2 | both | |
| PUZ-CLM-019 | Start game failure shows error API error handling | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-CLM-020 | Coming Soon when mode not available Fallback for unavailable mode | Kenny-Campbell chess-rocket | puzzle | P2 | both | |
| PUZ-CLM-021 | First puzzle starts near user's rating Difficulty targeting begins at user's current rating | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-CLM-022 | Theme filtering works with single theme Puzzles match single selected theme | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-CLM-023 | Theme filtering works with multiple themes Puzzles match any of selected themes (OR logic) | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-CLM-024 | Session-end shows game session stats Comprehensive stats on session end | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-CLM-025 | User can exit session anytime Exit button ends session and saves progress | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-COM-001 | Empty solution string is handled safely System handles puzzle with empty or whitespace-only solution | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-COM-002 | Solution parsing ignores extra whitespace Puzzle solution with extra spaces/newlines is parsed correctly | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-COM-003 | Malformed UCI token is rejected Invalid UCI move format is handled gracefully | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-COM-004 | Invalid FEN is handled safely Puzzle with invalid or incomplete FEN doesn't crash | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-COM-005 | Promotion piece mismatch is marked wrong Promoting to wrong piece fails the puzzle | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-COM-006 | Underpromotion required is accepted Correct underpromotion move is accepted | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-COM-007 | User cannot move during opponent turn Board input disabled while waiting for opponent auto-response | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-COM-008 | Move history controls stop at boundaries Previous/next controls disabled at start/end of history | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-COM-009 | Progress percent handles zero moves gracefully No divide-by-zero when puzzle has zero moves | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-COM-010 | Puzzle solution cache expires correctly Cached solution is refreshed after TTL | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-COM-011 | Game backup restores state within 1 hour Browser refresh within 1 hour restores session | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-COM-012 | Game backup expires after 1 hour Old backup is discarded | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-COM-013 | Failed completion retried within 24 hours Offline completion is synced when connection restored | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-COM-014 | Failed completion expires after 24 hours Stale failed completion data is discarded | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-COM-015 | Multi-tab backup conflict uses latest save Latest backup wins in multi-tab scenario | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-COM-016 | Negative or NaN time does not break scoring Invalid time values handled gracefully | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-COM-017 | Very short maxTimeSeconds does not break time bonus Edge case scoring with maxTimeSeconds <= 5 | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-COM-018 | Castling move validated correctly Castling notation accepted when correct | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-COM-019 | En passant capture validated correctly En passant notation accepted when correct | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-COM-020 | Alternate correct line is accepted Puzzle accepts defined alternate winning moves | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-COMP-001 | Puzzle Tempo puzzle-end shows rating earned Modal displays rating change amount | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-COMP-002 | Puzzle Tempo puzzle-end shows rating loss Modal displays negative rating change | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-COMP-003 | Puzzle Climb puzzle-end shows rating format Same format as Tempo | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-COMP-004 | Calculation Mode puzzle-end shows depth Shows puzzle rating, moves played, time spent | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-COMP-005 | Session-end shows game session stats Comprehensive stats on session completion | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-COMP-006 | Practice mode shows Practice badge instead of rating No rating change display in practice | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-COMP-007 | Hint usage shown on completion Indicates if hint was used | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-COMP-008 | Puzzle Rocket session-end shows all stats Complete stats display for Rocket | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-COMP-009 | GM Move session-end shows accuracy Accuracy summary display | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-COMP-010 | Continue button advances to next puzzle Modal dismiss loads next puzzle | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-COMP-011 | View Solution button shows correct moves Solution replay available after failure | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-COMP-012 | Play Again starts fresh session Restart from session-end screen | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-COMP-013 | Back to Menu returns to mode selection Navigate away from session-end | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-COMP-014 | Puzzle rating shown on completion Difficulty indicator displayed | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-COMP-015 | Time spent shown on completion Solve time displayed | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-CUS-001 | Default rating range applied Default range is 1200-1800 | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-CUS-002 | Rating range clamps when min exceeds max Slider enforces valid range | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-CUS-003 | Start without theme selection works No theme = all themes | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-CUS-004 | Theme selection toggle and Select All Theme UI controls work | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-CUS-005 | Rating slider steps by 100 Slider increments correctly | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-CUS-006 | Start game failure shows error API error handling | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-CUS-007 | Coming Soon when mode not available Fallback for unavailable mode | Kenny-Campbell chess-rocket | puzzle | P2 | both | |
| PUZ-CUS-008 | Rating range persists while toggling themes Range not affected by theme changes | Kenny-Campbell chess-rocket | puzzle | P2 | both | |
| PUZ-EDGE-001 | Puzzle rating updates on solve (not just user) Glicko updates BOTH user AND puzzle rating | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-EDGE-002 | Puzzle rating updates on fail Puzzle gains rating when user fails | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-EDGE-003 | Empty puzzle database for filter No puzzles match filter criteria | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-EDGE-004 | Very long session memory handling 100+ puzzles in single session | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-EDGE-005 | User at minimum rating (100) cannot go lower Rating floor enforced | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-EDGE-006 | User at maximum rating (3500) cannot go higher Rating ceiling enforced | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-EDGE-007 | Network disconnect during puzzle Connection lost mid-solve | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-EDGE-008 | Session timeout after inactivity Long idle time handling | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-EDGE-009 | Rapid consecutive moves Fast clicking doesn't break state | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-EDGE-010 | Back button during puzzle Browser back navigation handling | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-EDGE-011 | Same puzzle served twice in session Avoid repeating puzzles | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-EDGE-012 | Puzzle with very long solution (10+ moves) Extended multi-move handling | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-EDGE-013 | Timer at exactly 0 (boundary) Precise timer boundary handling | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-EDGE-014 | Move submitted at exact timer expiry Race between move and timeout | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-EDGE-015 | Hint on final move of puzzle Hint on last remaining move | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-EDGE-016 | User has identical rating to puzzle Equal ratings edge case | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-EDGE-017 | Extremely low RD (high confidence) Established player small changes | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-EDGE-018 | Extremely high RD (new player) Provisional player large changes | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-EDGE-019 | Unicode in puzzle data Special characters handled | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-EDGE-020 | Stalemate position in puzzle Puzzle ending in stalemate | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-FRG-001 | Start button disabled until account selected Must select account before starting | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-FRG-002 | Selecting Chess.com enables Start Chess.com account selection works | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-FRG-003 | Selecting Lichess enables Start Lichess account selection works | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-FRG-004 | Switching accounts updates selection Only one account selected at a time | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-FRG-005 | Start navigates to play route Game starts after account selection | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-FRG-006 | Selection resets after page reload No persistent selection | Kenny-Campbell chess-rocket | puzzle | P2 | both | |
| PUZ-FRG-007 | Account cards display logos and labels Visual design of account cards | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-FRG-008 | Connected state uses correct styling Visual feedback for selection | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-GLO-001 | Glicko rating system used for rated modes Verify Glicko-1 algorithm calculates rating changes | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GLO-002 | Only Puzzle Tempo and Puzzle Climb are rated All other modes don't affect rating | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GLO-003 | Both user and puzzle ratings update on solve Glicko updates both ratings | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GLO-004 | Both user and puzzle ratings update on fail Glicko updates both on failure | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GLO-005 | Rating range selection triggers practice mode Custom range = no rating changes | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GLO-006 | Rating clamped at minimum 100 Rating cannot drop below 100 | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-GLO-007 | Rating clamped at maximum 3500 Rating cannot exceed 3500 | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-GLO-008 | One hint maximum per puzzle Second hint request rejected | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GLO-009 | Hint highlights piece to move only Hint shows which piece, not destination | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-GLO-010 | Hint reduces rating gain by 50% Hint penalty on solve | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-GLO-011 | Hint does not affect rating loss No penalty on fail | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-GLO-012 | Hints unavailable in Puzzle Rocket No hint functionality in Puzzle Rocket | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GLO-013 | Hint resets between puzzles Each puzzle gets fresh hint allowance | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-GLO-014 | Hint on multi-move puzzle highlights NEXT move Hint shows current move's piece, not first move | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-GLO-015 | Single-move puzzle completes after one move Immediate completion for 1-move puzzles | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GLO-016 | Multi-move puzzle requires all moves Must complete full sequence | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GLO-017 | Wrong move fails puzzle immediately First incorrect move = failure | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GLO-018 | Multi-move length does NOT affect rating Rating same regardless of puzzle length | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-GLO-019 | RD decreases after rated activity More certainty after each game | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-GLO-020 | Provisional rating indicator shown High RD shows provisional status | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-GLO-021 | Concurrent session prevention Cannot have same mode in multiple tabs | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GLO-022 | Puzzle Rocket shows session-end screen only No puzzle-end modal | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-GLO-023 | GM Move shows session-end screen only No per-move modal | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-GLO-024 | Other modes show puzzle-end completion Modal after each puzzle in Tempo, Climb, Calculation, Opening | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-GM-001 | GM Move is unrated User rating unchanged after session | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GM-002 | Board shows position from PGN Correct position displayed at each move | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GM-003 | User guesses next move User can make a guess for GM's move | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GM-004 | Correct guess feedback User sees positive feedback when matching GM | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GM-005 | Wrong guess shows actual GM move User sees what GM actually played | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GM-006 | Hints available in GM Move Hint functionality works (unrated) | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-GM-007 | Session-end shows accuracy summary Final screen shows overall accuracy | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GM-008 | No per-move completion modal Game flows continuously without modal | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-GM-009 | Game selection screen shows available games User can browse and select GM games | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-GM-010 | Filter by Grandmaster User can filter games by specific GM | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-GM-011 | Filter by Opening User can filter games by opening | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-GM-012 | Play button navigates to game Clicking Play starts selected game | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-GM-013 | Search input works User can search for games | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-GM-014 | Layout is responsive Works on mobile and desktop | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-GM-015 | Game starts at midgame position User guesses from midgame, not move 1 | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GM-016 | Admin uploads PGN with metadata Backend parses PGN correctly | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-GM-017 | Sequence ends after defined moves Session ends at configured end point | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-GM-018 | User can exit mid-game Exit before completing all moves | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-GM-019 | Opening label displayed if available Shows opening name from PGN metadata | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-GM-020 | Accuracy calculation is correct Correct moves / total moves guessed | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-OPN-001 | Opening Puzzles is unrated User rating unchanged after session | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-OPN-002 | Opening filter works Puzzles match selected opening | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-OPN-003 | Rating range filter works Puzzles match selected rating range | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-OPN-004 | Combined opening AND rating filter Both filters work together | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-OPN-005 | Wrong move fails puzzle First incorrect move = failure | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-OPN-006 | Session continues after failure No game-over on failure | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-OPN-007 | Hints allowed with no impact Hint works (unrated mode) | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-OPN-008 | Puzzle-end completion screen shown Modal after each puzzle | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-OPN-009 | Coming Soon when mode not available Fallback for unavailable mode | Kenny-Campbell chess-rocket | puzzle | P2 | both | |
| PUZ-OPN-010 | Banner renders correctly Page header displays | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-OPN-011 | Empty filter results handled Graceful handling when no puzzles match | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-OPN-012 | Multiple opening selection works Can select one or more openings | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-OPN-013 | Session continues after failure No game-over on failure | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-OPN-014 | User can exit session anytime Exit ends session and shows stats | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-OPN-015 | Session-end shows puzzle-end screen Both completion screens shown | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-RAMP-001 | Step Size calculation is correct Step Size = End Rating / Number of Puzzles | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-RAMP-002 | Index generation is correct Indexes calculated as Start + (n * Step) | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-RAMP-003 | Rating ranges use offset correctly Range = Index +/- Offset | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-RAMP-004 | Puzzle selected randomly from range One random puzzle per range | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-RAMP-005 | Handles Number of Puzzles = 0 gracefully No division by zero | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-RAMP-006 | Retry when no puzzle in range System retries to find puzzle | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-RAMP-007 | Max retries limit enforced No infinite loop on empty range | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-RAMP-008 | Negative Start Rating handled Edge case: negative input | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-RAMP-009 | Start Rating > End Rating handled Inverted range edge case | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-RAMP-010 | Very large Number of Puzzles handled Performance with many puzzles | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-ROC-001 | Puzzle Rocket is unrated User rating unchanged after any Puzzle Rocket session | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-ROC-002 | 1-minute duration ends at exactly 60 seconds Timer accuracy for 1-minute mode | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-ROC-003 | 2-minute duration ends at exactly 120 seconds Timer accuracy for 2-minute mode | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-ROC-004 | 3-minute duration ends at exactly 180 seconds Timer accuracy for 3-minute mode | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-ROC-005 | Survival mode has no time limit Survival continues indefinitely until 3 failures | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-ROC-006 | Wrong move fails puzzle immediately First incorrect move = puzzle failure | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-ROC-007 | First failure shows 1/3 Failure counter tracks correctly | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-ROC-008 | Third failure ends game immediately Session ends immediately on 3rd failure, even with time remaining | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-ROC-009 | Hints are NOT available in Puzzle Rocket No hint functionality in this mode | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-ROC-010 | Timer expiry ends session Timer reaching zero ends timed session | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-ROC-011 | Ramp-Up Formula applied to puzzle selection Difficulty increases progressively per Ramp-Up Formula | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-ROC-012 | Failure counter resets between sessions New session starts fresh | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-ROC-013 | No puzzle-end modal in Puzzle Rocket Puzzles transition immediately without completion dialog | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-ROC-014 | Session-end screen shows correct statistics Summary screen displays accurate stats | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-ROC-015 | Personal bests tracked (Today, Week, All Time) Best scores are recorded and displayed | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-ROC-016 | Duration options empty shows unavailable state Graceful handling when API returns no options | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-ROC-017 | Simultaneous 3rd failure and timer expiry Edge case: both end conditions trigger at once | Kenny-Campbell chess-rocket | puzzle | P2 | automation | |
| PUZ-ROC-018 | Browser refresh during timed session Behavior when user refreshes during active timer | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-ROC-019 | Duration selection UI shows all options All duration options visible and selectable | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-ROC-020 | Survival mode displays fire icon Visual distinction for survival option | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-ROC-021 | Game ends on timeout even with strikes remaining Timer takes precedence over strike count | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-ROC-022 | Start game API error surfaces to user Error handling for failed game start | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-ROC-023 | Give Up button ends game immediately User can quit mid-session using Give Up | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-ROC-024 | Play Again restarts with same settings Play Again preserves duration selection | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-ROC-025 | New Game returns to settings New Game allows changing settings | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-ROC-026 | Puzzles drawn from all themes No theme filtering - uses entire database | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-ROC-027 | Longest streak tracked correctly Consecutive solves counted accurately | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-ROC-028 | Average time per puzzle calculated Mean solve time shown on session-end | Kenny-Campbell chess-rocket | puzzle | P2 | both | |
| PUZ-TEM-001 | Puzzle Tempo is rated (Glicko) User Glicko rating changes after solving/failing | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-TEM-002 | Tactical theme filtering works Puzzles match selected tactical themes | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-TEM-003 | Multiple theme filtering (OR logic) Puzzles match ANY of selected themes | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-TEM-004 | No theme selection defaults to all themes Starting without theme selection works (all themes) | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-TEM-005 | Wrong move fails puzzle immediately First incorrect move = puzzle failure | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-TEM-006 | Fast solve gets maximum SCORE (time bonus) Quick solve maximizes game score via time bonus | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-TEM-007 | Slow solve gets reduced SCORE (time decay) Slow solve gives less game score | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-TEM-008 | Glicko rating gain is NOT affected by solve time Glicko calculation ignores time spent | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-TEM-009 | Hint reduces Glicko rating gain by 50% Hint penalty applies to Glicko calculation | Kenny-Campbell chess-rocket | puzzle | P0 | automation | |
| PUZ-TEM-010 | Streak multiplier increases game score Consecutive solves multiply game score | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-TEM-011 | Incorrect attempt resets streak and scores 0 Failure breaks streak and earns no score | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-TEM-012 | User exit ends session Exit button ends session anytime | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-TEM-013 | Session continues indefinitely until exit No automatic session end | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-TEM-014 | Puzzle-end completion screen shown Modal after each puzzle with rating change | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-TEM-015 | Rating range selection triggers practice mode Custom range = no Glicko changes | Kenny-Campbell chess-rocket | puzzle | P0 | both | |
| PUZ-TEM-016 | Start without rating prompts initialization New user without rating sees init flow | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-TEM-017 | Theme selection toggle and Select All Theme UI controls work correctly | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-TEM-018 | Ramp-Up Formula applied Difficulty increases per formula | Kenny-Campbell chess-rocket | puzzle | P1 | automation | |
| PUZ-TEM-019 | Rating check failure shows error API error handling for rating check | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-TEM-020 | Start game failure shows error API error handling for game start | Kenny-Campbell chess-rocket | puzzle | P1 | both | |
| PUZ-UI-001 | Board orientation can be flipped User can play from black's perspective | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-UI-002 | Legal move highlights shown Valid squares highlighted when piece selected | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-UI-003 | Last move highlighted on board Previous move squares marked | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-UI-004 | Correct move shows green feedback Positive visual feedback | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-UI-005 | Wrong move shows red feedback Negative visual feedback | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-UI-006 | Keyboard shortcuts work Navigate with keyboard | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-UI-007 | Sound effects can be toggled User can mute/unmute sounds | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-UI-008 | Board piece set can be changed Different piece styles available | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-UI-009 | Board theme can be changed Different board colors available | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-UI-010 | Move history displayed Shows moves made in puzzle | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-UI-011 | Rating display updates in real-time Rating shown in sidebar updates after each puzzle | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-UI-012 | Timer display accurate (Puzzle Rocket) Countdown timer shows correct time | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-UI-013 | Failure counter visible (Puzzle Rocket) Strike indicator shown | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-UI-014 | Hint button shows remaining hints Hint availability indicated | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-UI-015 | Loading state shown while fetching puzzle User feedback during load | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-UI-016 | Responsive layout on different screen sizes Works on mobile, tablet, desktop | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-UI-017 | Dark mode support Puzzle UI adapts to dark mode | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-UI-018 | Promotion dialog appears User can choose promotion piece | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-UI-019 | Check indicator shown King in check highlighted | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-UI-020 | Captured pieces shown Material count displayed | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-A11Y-0001 | User navigates puzzle with keyboard only Screen reader / keyboard-only user experience | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-A11Y-0002 | User uses screen reader with puzzle Screen reader announces puzzle state and moves | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-A11Y-0003 | User with color blindness plays puzzle Visual indicators don't rely solely on color | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-A11Y-0004 | User increases text size User with vision impairment zooms text | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-A11Y-0005 | User with motor impairment uses large click targets Buttons and controls have adequate size | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-A11Y-0006 | User with cognitive disability uses clear interface Interface is simple and consistent | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-A11Y-0007 | User pauses timed puzzle (if feature exists) User needs to pause during Puzzle Rocket | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-A11Y-0008 | User disables animations User with vestibular disorder reduces motion | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-A11Y-0009 | User in high contrast mode User using Windows high contrast mode | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-A11Y-0010 | User uses voice control User controls puzzle via voice commands | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-DAY-0001 | User plays daily puzzle User solves the puzzle of the day | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-DAY-0002 | User sees daily puzzle streak User tracks consecutive days of daily puzzle completion | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-DAY-0003 | User loses daily streak User misses a day and streak resets | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-DAY-0004 | User compares daily puzzle time with friends Social comparison for daily puzzle | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-DAY-0005 | User plays weekly puzzle challenge Weekly themed puzzle challenge | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-DAY-0006 | User participates in puzzle tournament Time-limited puzzle solving competition | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-DAY-0007 | User receives puzzle reminder notification User gets reminded to play daily puzzle | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-DAY-0008 | User views past daily puzzles User can replay or review previous daily puzzles | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-DAY-0009 | User completes monthly puzzle challenge Long-term challenge for dedicated players | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-DAY-0010 | User plays themed event puzzles Special event with themed puzzles | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-E2E-0001 | New user plays first puzzle ever Complete first-time user experience from registration to first puzzle completion | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-E2E-0002 | User plays complete Puzzle Rocket session (1 minute) Full user flow through timed Puzzle Rocket mode | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-E2E-0003 | User plays Puzzle Rocket Survival until game over User plays survival mode until 3 failures end the game | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-E2E-0004 | User plays rated Puzzle Tempo session with themes User selects tactical themes and plays rated Puzzle Tempo | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-E2E-0005 | User plays Puzzle Tempo in practice mode (rating range selected) User selects rating range which triggers practice mode | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-E2E-0006 | User plays Puzzle Climb and sees difficulty adapt User experiences dynamic difficulty adjustment in Puzzle Climb | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-E2E-0007 | User uses hint in rated mode User requests hint and sees 50% rating penalty applied | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-E2E-0008 | User plays Calculation Mode - Deep Think User plays long calculation puzzles without time pressure | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-E2E-0009 | User plays Calculation Mode - Commitment User plays with 3-second move timer after first move | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-E2E-0010 | User plays Calculation Mode - Checkmate Climb User progresses through mate-in-1, mate-in-2, etc. | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-E2E-0011 | User plays Opening Puzzles filtered by specific opening User practices tactics from their favorite opening | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-E2E-0012 | User plays Guess the Grandmaster Move User tries to predict grandmaster moves in a real game | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-E2E-0013 | User fails a puzzle and sees correct solution User makes wrong move and views the solution | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-E2E-0014 | User completes multi-move puzzle with opponent responses User plays through a complex puzzle with auto opponent moves | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-E2E-0015 | User quits session mid-puzzle User exits session before completing current puzzle | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-E2E-0016 | User views their puzzle statistics User checks their puzzle history and performance | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-E2E-0017 | User returns to continue previous session (if applicable) User returns and resumes interrupted session | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-E2E-0018 | User plays on mobile device Full puzzle experience on mobile phone | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-E2E-0019 | User experiences rating progression over multiple sessions User plays over days and sees rating change | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-E2E-0020 | User explores all puzzle modes from menu User browses and understands all available modes | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-ERR-0001 | User loses internet connection during puzzle Network drops while user is solving puzzle | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-ERR-0002 | User session expires during puzzle Authentication token expires mid-session | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-ERR-0003 | User refreshes page during timed puzzle User accidentally refreshes in Puzzle Rocket | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-ERR-0004 | User navigates back button during session User clicks browser back during puzzle | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-ERR-0005 | User encounters server error Backend returns 500 error | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-ERR-0006 | User double-clicks move too fast User rapidly clicks causing duplicate submissions | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-ERR-0007 | User tries to move during opponent's turn User clicks during computer response animation | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-ERR-0008 | User on very slow connection User with high latency network | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-ERR-0009 | User browser crashes during rated puzzle Browser force-closes during rated session | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-ERR-0010 | User on unsupported browser User using very old browser version | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-ERR-0011 | User encounters puzzle that fails to load Specific puzzle data corrupted or missing | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-ERR-0012 | User on mobile rotates device mid-puzzle Device orientation changes during gameplay | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-ERR-0013 | User has JavaScript disabled User browsing with JS disabled | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-ERR-0014 | User opens puzzle in multiple tabs Same user plays in two browser tabs | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-ERR-0015 | User's clock differs from server Client system time is wrong | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-INT-0001 | User moves piece by drag and drop Standard drag-and-drop piece movement on desktop | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-INT-0002 | User moves piece by click-click Alternative click-to-select, click-to-move method | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-INT-0003 | User attempts illegal move User tries to make a move that's not legal in position | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-INT-0004 | User moves piece on touch device Touch interaction on mobile/tablet | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-INT-0005 | User sees opponent's response animated After user moves, opponent's reply is animated | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-INT-0006 | User flips board orientation User can view board from black's perspective | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-INT-0007 | User views move history during puzzle User can see moves made so far in current puzzle | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-INT-0008 | User uses keyboard controls Keyboard shortcuts for power users | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-INT-0009 | User promotes pawn Pawn reaches 8th rank and user chooses promotion piece | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-INT-0010 | User makes castling move User castles kingside or queenside | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-INT-0011 | User makes en passant capture User performs en passant pawn capture | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-INT-0012 | User sees check and checkmate indicators Visual indicators when king is in check or checkmate | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-INT-0013 | User sees correct/incorrect move feedback Visual and audio feedback on move quality | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-INT-0014 | User adjusts audio settings User controls puzzle audio feedback | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-INT-0015 | User adjusts board theme/colors User customizes board appearance | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-INT-0016 | User right-clicks to draw arrows/highlight User can annotate board while thinking | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-INT-0017 | User gives up on puzzle User surrenders and views solution | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-INT-0018 | User retries failed puzzle (if available) User replays same puzzle after failure | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-INT-0019 | User shares puzzle with friend User shares interesting puzzle via link | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-INT-0020 | User reports incorrect puzzle User flags puzzle with wrong solution or position | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-ONB-0001 | New user sees puzzle tutorial on first visit First-time user gets guided introduction to puzzle interface | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-ONB-0002 | User can replay tutorial from help menu Returning user accesses tutorial again if needed | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-ONB-0003 | New user plays guided first puzzle First puzzle has extra guidance/hints | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-ONB-0004 | User sees mode introduction on first selection Selecting a mode for first time shows explanation | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-ONB-0005 | User sets initial skill level New user can indicate their chess level for better starting puzzles | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-ONB-0006 | User links external chess rating User imports rating from Chess.com or Lichess | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-ONB-0007 | Guest user can play puzzles without account Anonymous user experience for puzzles | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-ONB-0008 | User sees tooltips on hover for UI elements Contextual help via hover tooltips | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-ONB-0009 | User accesses help/FAQ during puzzle User can get help without leaving puzzle | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-ONB-0010 | User understands rating confidence/provisional New user understands why rating has '?' mark | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-REV-0001 | User reviews failed puzzle with solution User studies correct solution after failing | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-REV-0002 | User analyzes completed puzzle position User explores variations after solving/failing | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-REV-0003 | User bookmarks puzzle for later review User saves interesting puzzle to collection | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-REV-0004 | User views puzzle explanation/annotation User reads expert commentary on puzzle | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-REV-0005 | User sees related puzzles by theme After solving, user offered similar puzzles | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-REV-0006 | User retries failed puzzle immediately User attempts same puzzle again after failure | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-REV-0007 | User views puzzle difficulty after completion User sees how hard puzzle was rated | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-REV-0008 | User sees solve statistics for puzzle User sees how others performed on this puzzle | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-REV-0009 | User practices specific weakness User focuses on tactical theme they struggle with | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-REV-0010 | User compares solve to previous attempt User sees improvement on previously failed puzzle | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-REV-0011 | User reviews entire session performance Detailed session breakdown after ending | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-REV-0012 | User exports puzzle as PGN/image User downloads puzzle for external study | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-SET-0001 | User changes board theme User customizes chessboard colors | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-SET-0002 | User changes piece set User selects different chess piece style | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-SET-0003 | User enables/disables move sounds User controls audio feedback | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-SET-0004 | User enables/disables notifications User controls puzzle-related notifications | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-SET-0005 | User enables dark mode User switches to dark theme | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-SET-0006 | User enables coordinates on board User shows/hides rank and file labels | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-SET-0007 | User enables move confirmation User requires confirmation before move submits | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-SET-0008 | User enables auto-promote to Queen User skips promotion dialog | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-SET-0009 | User adjusts animation speed User controls piece movement animation speed | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-SET-0010 | User sets default puzzle mode User's preferred mode opens by default | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-SET-0011 | User enables legal move highlights User sees where selected piece can move | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-SET-0012 | User enables last move highlight User sees what move opponent just played | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-SET-0013 | User resets all settings to default User can restore factory settings | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-SET-0014 | User settings sync across devices Settings persist when user switches devices | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-STAT-0001 | User views current puzzle rating User checks their puzzle rating from multiple locations | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-STAT-0002 | User sees rating change in real-time Rating updates immediately after completing puzzle | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-STAT-0003 | User views rating history graph User sees visual chart of rating over time | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-STAT-0004 | User sees session summary statistics End-of-session stats provide complete picture | Kenny-Campbell chess-rocket | puzzle | P0 | manual | |
| PUZ-USR-STAT-0005 | User views lifetime puzzle statistics User checks overall puzzle performance | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-STAT-0006 | User views performance by tactical theme User sees which tactics they're good/bad at | Kenny-Campbell chess-rocket | puzzle | P1 | manual | |
| PUZ-USR-STAT-0007 | User sees personal best records User tracks their best performances | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-STAT-0008 | User views recent puzzle attempts User reviews individual puzzle history | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-STAT-0009 | User earns achievement/badge User unlocks achievement for puzzle milestone | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-STAT-0010 | User sees daily/weekly puzzle streaks User tracking consecutive days of puzzle play | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-STAT-0011 | User compares stats with friends User sees leaderboard or friend comparison | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-STAT-0012 | User exports puzzle statistics User downloads their puzzle data | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-STAT-0013 | User sees improvement suggestions System recommends what to practice | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |
| PUZ-USR-STAT-0014 | User sees time-of-day performance User learns when they perform best | Kenny-Campbell chess-rocket | puzzle | P3 | manual | |
| PUZ-USR-STAT-0015 | User rating shows provisional indicator New user's rating marked as provisional | Kenny-Campbell chess-rocket | puzzle | P2 | manual | |