Skip to content

UI Coverage

Sharp Ninja edited this page Oct 30, 2026 · 5 revisions

Source/screen/state/flow/transition → FR/TR → AC → TEST

293inventoryelements; all original diagram nodes, edges and39sequence messages retained. Gap decisions are supplemental specified behavior; implementation and execution are not inferred from designs. Selected UI-DEC cases now have scoped execution evidence. Other row entries remain documentation coverage. See source revision/hash manifest and gap decisions.

Element / kind Source / frame Screen/state/flow/transition Role Specific FR/TR → AC TEST Documentation state
SUG-FLOW / flow word_association_category_suggestion.svg Complete directed category suggestion story Player FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CATEGORYSUGGESTIONS-017#DEC-09; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CONTENTVALIDATION-016; TEST-CATEGORYSUGGESTIONUNLOCK-019; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
SUG-NODE-A / state/decision/activity word_association_category_suggestion.svg Player records 10 game wins Content staff / proposer FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#DEC-09 TEST-CATEGORYSUGGESTIONUNLOCK-019 documented UI observation; not executed
SUG-NODE-B / state/decision/activity word_association_category_suggestion.svg Unlock category suggestion Content staff / proposer FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#DEC-09 TEST-CATEGORYSUGGESTIONUNLOCK-019 documented UI observation; not executed
SUG-NODE-C / state/decision/activity word_association_category_suggestion.svg Suggest a relationship category Content staff / proposer FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#DEC-09 TEST-CATEGORYSUGGESTIONUNLOCK-019 documented UI observation; not executed
SUG-NODE-D / state/decision/activity word_association_category_suggestion.svg Submit three word pairs for the category Content staff / proposer FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#DEC-09 TEST-CATEGORYSUGGESTIONUNLOCK-019 documented UI observation; not executed
SUG-NODE-E / state/decision/activity word_association_category_suggestion.svg Review and moderate submission Content staff / proposer FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
SUG-NODE-F / state/decision/activity word_association_category_suggestion.svg Approved? Content staff / proposer FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
SUG-NODE-G / state/decision/activity word_association_category_suggestion.svg Reject or request changes Content staff / proposer FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; FR-REVIEWCHANGES-027#UI-CHANGES-01; FR-REVIEWCHANGES-027#UI-CHANGES-02; FR-REVIEWCHANGES-027#UI-CHANGES-03; FR-REVIEWCHANGES-027#UI-CHANGES-04; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115; TEST-REVIEWCHANGES-140 specified case documented; not executed / Resolved UI-DEC-01
SUG-NODE-H / state/decision/activity word_association_category_suggestion.svg Prepare complete curated content Content staff / proposer FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CONTENTVALIDATION-016; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
SUG-NODE-I / state/decision/activity word_association_category_suggestion.svg Make approved pairs eligible for future games Content staff / proposer FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CONTENTVALIDATION-016; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
SUG-TRANS-A-B / transition word_association_category_suggestion.svg Player records 10 game wins → [] → Unlock category suggestion Player FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#DEC-09 TEST-CATEGORYSUGGESTIONUNLOCK-019 documented UI observation; not executed
SUG-TRANS-B-C / transition word_association_category_suggestion.svg Unlock category suggestion → [] → Suggest a relationship category Player FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#DEC-09 TEST-CATEGORYSUGGESTIONUNLOCK-019 documented UI observation; not executed
SUG-TRANS-C-D / transition word_association_category_suggestion.svg Suggest a relationship category → [] → Submit three word pairs for the category Player FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#DEC-09 TEST-CATEGORYSUGGESTIONUNLOCK-019 documented UI observation; not executed
SUG-TRANS-D-E / transition word_association_category_suggestion.svg Submit three word pairs for the category → [] → Review and moderate submission Player FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CATEGORYSUGGESTIONS-017#DEC-09; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CATEGORYSUGGESTIONUNLOCK-019; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
SUG-TRANS-E-F / transition word_association_category_suggestion.svg Review and moderate submission → [] → Approved? Player FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
SUG-TRANS-F-G / transition word_association_category_suggestion.svg Approved? → [No] → Reject or request changes Player FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; FR-REVIEWCHANGES-027#UI-CHANGES-01; FR-REVIEWCHANGES-027#UI-CHANGES-02; FR-REVIEWCHANGES-027#UI-CHANGES-03; FR-REVIEWCHANGES-027#UI-CHANGES-04; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115; TEST-REVIEWCHANGES-140 specified case documented; not executed / Resolved UI-DEC-01
SUG-TRANS-F-H / transition word_association_category_suggestion.svg Approved? → [Yes] → Prepare complete curated content Player FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CONTENTVALIDATION-016; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
SUG-TRANS-H-I / transition word_association_category_suggestion.svg Prepare complete curated content → [] → Make approved pairs eligible for future games Player FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CONTENTVALIDATION-016; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
ID-FLOW / flow word_association_identity_profile.svg Complete directed identity profile story Player FR-IDENTITY-018#AC-20; FR-IDENTITY-018#AC-21; FR-IDENTITY-018#AC-46; FR-IDENTITY-018#DEC-10; FR-IDENTITY-018#DEC-11; FR-LOBBYLIFECYCLE-003#AC-01; FR-PLAYERPROFILE-002#AC-03; FR-PLAYERPROFILE-002#AC-20; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11; FR-PUBLICLANDING-022#AC-43; FR-PUBLICLANDING-022#DEC-19; FR-ROOMACCESS-001#AC-01; TR-IDENTITY-AUTHENTICATION-016#DEC-10; TR-IDENTITY-AUTHENTICATION-016#TR-16-C01; TR-LANDING-PRIVACY-030#DEC-19; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PROFILEICON-003; TEST-OPENAIOIDCPROFILE-020; TEST-GUESTPLAY-021; TEST-PUBLICGAMELANDINGPAGE-043; TEST-OIDCTOKENVALIDATION-046 documented UI observation; not executed
ID-NODE-A / state/decision/activity word_association_identity_profile.svg Open game Player FR-IDENTITY-018#AC-21; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11; FR-PUBLICLANDING-022#AC-43; FR-PUBLICLANDING-022#DEC-19; TR-LANDING-PRIVACY-030#DEC-19 TEST-GUESTPLAY-021; TEST-PUBLICGAMELANDINGPAGE-043 documented UI observation; not executed
ID-NODE-B / state/decision/activity word_association_identity_profile.svg Choose entry mode Player FR-IDENTITY-018#AC-20; FR-IDENTITY-018#AC-21; FR-IDENTITY-018#DEC-10; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-20; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11; TR-IDENTITY-AUTHENTICATION-016#DEC-10 TEST-OPENAIOIDCPROFILE-020; TEST-GUESTPLAY-021 documented UI observation; not executed
ID-NODE-C / state/decision/activity word_association_identity_profile.svg Authenticate with OpenAI OIDC Player FR-IDENTITY-018#AC-20; FR-IDENTITY-018#AC-46; FR-IDENTITY-018#DEC-10; FR-PLAYERPROFILE-002#AC-20; TR-IDENTITY-AUTHENTICATION-016#DEC-10; TR-IDENTITY-AUTHENTICATION-016#TR-16-C01 TEST-OPENAIOIDCPROFILE-020; TEST-OIDCTOKENVALIDATION-046 documented UI observation; not executed
ID-NODE-D / state/decision/activity word_association_identity_profile.svg Create or load game profile Player FR-IDENTITY-018#AC-20; FR-IDENTITY-018#DEC-10; FR-PLAYERPROFILE-002#AC-20; TR-IDENTITY-AUTHENTICATION-016#DEC-10 TEST-OPENAIOIDCPROFILE-020 documented UI observation; not executed
ID-NODE-E / state/decision/activity word_association_identity_profile.svg Create same-browser persistent guest identity Player FR-IDENTITY-018#AC-21; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11 TEST-GUESTPLAY-021 documented UI observation; not executed
ID-NODE-F / state/decision/activity word_association_identity_profile.svg Choose profile icon Player FR-PLAYERPROFILE-002#AC-03 TEST-PROFILEICON-003 documented UI observation; not executed
ID-NODE-G / state/decision/activity word_association_identity_profile.svg Create or join room by code Player FR-LOBBYLIFECYCLE-003#AC-01; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001 documented UI observation; not executed
ID-TRANS-A-B / transition word_association_identity_profile.svg Open game → [] → Choose entry mode Player FR-IDENTITY-018#AC-20; FR-IDENTITY-018#AC-21; FR-IDENTITY-018#DEC-10; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-20; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11; FR-PUBLICLANDING-022#AC-43; FR-PUBLICLANDING-022#DEC-19; TR-IDENTITY-AUTHENTICATION-016#DEC-10; TR-LANDING-PRIVACY-030#DEC-19 TEST-OPENAIOIDCPROFILE-020; TEST-GUESTPLAY-021; TEST-PUBLICGAMELANDINGPAGE-043 documented UI observation; not executed
ID-TRANS-B-C / transition word_association_identity_profile.svg Choose entry mode → [Account] → Authenticate with OpenAI OIDC Player FR-IDENTITY-018#AC-20; FR-IDENTITY-018#AC-21; FR-IDENTITY-018#AC-46; FR-IDENTITY-018#DEC-10; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-20; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11; TR-IDENTITY-AUTHENTICATION-016#DEC-10; TR-IDENTITY-AUTHENTICATION-016#TR-16-C01 TEST-OPENAIOIDCPROFILE-020; TEST-GUESTPLAY-021; TEST-OIDCTOKENVALIDATION-046 documented UI observation; not executed
ID-TRANS-C-D / transition word_association_identity_profile.svg Authenticate with OpenAI OIDC → [] → Create or load game profile Player FR-IDENTITY-018#AC-20; FR-IDENTITY-018#AC-46; FR-IDENTITY-018#DEC-10; FR-PLAYERPROFILE-002#AC-20; TR-IDENTITY-AUTHENTICATION-016#DEC-10; TR-IDENTITY-AUTHENTICATION-016#TR-16-C01 TEST-OPENAIOIDCPROFILE-020; TEST-OIDCTOKENVALIDATION-046 documented UI observation; not executed
ID-TRANS-B-E / transition word_association_identity_profile.svg Choose entry mode → [Guest] → Create same-browser persistent guest identity Player FR-IDENTITY-018#AC-20; FR-IDENTITY-018#AC-21; FR-IDENTITY-018#DEC-10; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-20; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11; TR-IDENTITY-AUTHENTICATION-016#DEC-10 TEST-OPENAIOIDCPROFILE-020; TEST-GUESTPLAY-021 documented UI observation; not executed
ID-TRANS-D-F / transition word_association_identity_profile.svg Create or load game profile → [] → Choose profile icon Player FR-IDENTITY-018#AC-20; FR-IDENTITY-018#DEC-10; FR-PLAYERPROFILE-002#AC-03; FR-PLAYERPROFILE-002#AC-20; TR-IDENTITY-AUTHENTICATION-016#DEC-10 TEST-PROFILEICON-003; TEST-OPENAIOIDCPROFILE-020 documented UI observation; not executed
ID-TRANS-E-F / transition word_association_identity_profile.svg Create same-browser persistent guest identity → [] → Choose profile icon Player FR-IDENTITY-018#AC-21; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-03; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11 TEST-PROFILEICON-003; TEST-GUESTPLAY-021 documented UI observation; not executed
ID-TRANS-F-G / transition word_association_identity_profile.svg Choose profile icon → [] → Create or join room by code Player FR-LOBBYLIFECYCLE-003#AC-01; FR-PLAYERPROFILE-002#AC-03; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PROFILEICON-003 documented UI observation; not executed
DISC-FLOW / flow word_association_lobby_discovery.svg Complete directed lobby discovery story Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; TR-LOBBY-MATCHING-017#TR-17-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002; TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023 documented UI observation; not executed
DISC-NODE-A / state/decision/activity word_association_lobby_discovery.svg Player opens lobby discovery Player FR-LOBBYDISCOVERY-019#AC-22; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-BROWSEOPENLOBBIES-022 documented UI observation; not executed
DISC-NODE-B / state/decision/activity word_association_lobby_discovery.svg Browse open lobbies or quick match Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023 documented UI observation; not executed
DISC-NODE-C / state/decision/activity word_association_lobby_discovery.svg Joinable lobby found? Player FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-QUICKMATCH-023 documented UI observation; not executed
DISC-NODE-D / state/decision/activity word_association_lobby_discovery.svg Request a seat Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023 documented UI observation; not executed
DISC-NODE-E / state/decision/activity word_association_lobby_discovery.svg Seat still available? Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; FR-LOBBYLIFECYCLE-003#AC-02; FR-ROOMACCESS-001#AC-02; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-PLAYERLIMIT-002; TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023 documented UI observation; not executed
DISC-NODE-F / state/decision/activity word_association_lobby_discovery.svg Join lobby Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYLIFECYCLE-003#AC-01; FR-ROOMACCESS-001#AC-01; TR-LOBBY-MATCHING-017#TR-17-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-BROWSEOPENLOBBIES-022 documented UI observation; not executed
DISC-NODE-G / state/decision/activity word_association_lobby_discovery.svg Show no matching lobby Player FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-QUICKMATCH-023 documented UI observation; not executed
DISC-TRANS-A-B / transition word_association_lobby_discovery.svg Player opens lobby discovery → [] → Browse open lobbies or quick match Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023 documented UI observation; not executed
DISC-TRANS-B-C / transition word_association_lobby_discovery.svg Browse open lobbies or quick match → [] → Joinable lobby found? Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023 documented UI observation; not executed
DISC-TRANS-C-D / transition word_association_lobby_discovery.svg Joinable lobby found? → [Yes] → Request a seat Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023 documented UI observation; not executed
DISC-TRANS-D-E / transition word_association_lobby_discovery.svg Request a seat → [] → Seat still available? Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; FR-LOBBYLIFECYCLE-003#AC-02; FR-ROOMACCESS-001#AC-02; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-PLAYERLIMIT-002; TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023 documented UI observation; not executed
DISC-TRANS-E-F / transition word_association_lobby_discovery.svg Seat still available? → [Yes] → Join lobby Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; TR-LOBBY-MATCHING-017#TR-17-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002; TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023 documented UI observation; not executed
DISC-TRANS-E-B / transition word_association_lobby_discovery.svg Seat still available? → [No] → Browse open lobbies or quick match Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; FR-LOBBYLIFECYCLE-003#AC-02; FR-ROOMACCESS-001#AC-02; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-PLAYERLIMIT-002; TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023 documented UI observation; not executed
DISC-TRANS-C-G / transition word_association_lobby_discovery.svg Joinable lobby found? → [No] → Show no matching lobby Player FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-QUICKMATCH-023 documented UI observation; not executed
NOM-FLOW / flow word_association_nomination_flow.svg Complete directed nomination flow story Player FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#AC-17; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-CONTENTVALIDATION-016; TEST-NOMINATIONELIGIBILITY-017; TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
NOM-NODE-A / state/decision/activity word_association_nomination_flow.svg Player solves before any hint Content staff / proposer FR-NOMINATIONS-016#AC-17 TEST-NOMINATIONELIGIBILITY-017 documented UI observation; not executed
NOM-NODE-B / state/decision/activity word_association_nomination_flow.svg Player submits a candidate answer word Content staff / proposer FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-17; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONELIGIBILITY-017; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
NOM-NODE-C / state/decision/activity word_association_nomination_flow.svg Count nominations for the candidate Content staff / proposer FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
NOM-NODE-D / state/decision/activity word_association_nomination_flow.svg At least 10 nominations? Content staff / proposer FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#DEC-07; TR-NOMINATION-MODERATION-014#DEC-07 TEST-NOMINATIONTHRESHOLDANDMODERATION-018 documented UI observation; not executed
NOM-NODE-E / state/decision/activity word_association_nomination_flow.svg Keep collecting nominations Content staff / proposer FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#DEC-07; TR-NOMINATION-MODERATION-014#DEC-07 TEST-NOMINATIONTHRESHOLDANDMODERATION-018 documented UI observation; not executed
NOM-NODE-F / state/decision/activity word_association_nomination_flow.svg Moderation review Content staff / proposer FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
NOM-NODE-G / state/decision/activity word_association_nomination_flow.svg Approved? Content staff / proposer FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
NOM-NODE-H / state/decision/activity word_association_nomination_flow.svg Reject or hold candidate Content staff / proposer FR-CANDIDATEHOLD-028#UI-HOLD-01; FR-CANDIDATEHOLD-028#UI-HOLD-02; FR-CANDIDATEHOLD-028#UI-HOLD-03; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114; TEST-CANDIDATEHOLD-141 specified case documented; not executed / Resolved UI-DEC-02
NOM-NODE-I / state/decision/activity word_association_nomination_flow.svg Add to future-eligible answer pool Content staff / proposer FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#DEC-07; TR-NOMINATION-MODERATION-014#DEC-07 TEST-NOMINATIONTHRESHOLDANDMODERATION-018 documented UI observation; not executed
NOM-NODE-J / state/decision/activity word_association_nomination_flow.svg Curate complete word pair before play Content staff / proposer FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#DEC-07; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-07 TEST-CONTENTVALIDATION-016; TEST-NOMINATIONTHRESHOLDANDMODERATION-018 documented UI observation; not executed
NOM-TRANS-A-B / transition word_association_nomination_flow.svg Player solves before any hint → [] → Player submits a candidate answer word Player FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-17; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONELIGIBILITY-017; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
NOM-TRANS-B-C / transition word_association_nomination_flow.svg Player submits a candidate answer word → [] → Count nominations for the candidate Player FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-17; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONELIGIBILITY-017; TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
NOM-TRANS-C-D / transition word_association_nomination_flow.svg Count nominations for the candidate → [] → At least 10 nominations? Player FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
NOM-TRANS-D-E / transition word_association_nomination_flow.svg At least 10 nominations? → [No] → Keep collecting nominations Player FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#DEC-07; TR-NOMINATION-MODERATION-014#DEC-07 TEST-NOMINATIONTHRESHOLDANDMODERATION-018 documented UI observation; not executed
NOM-TRANS-E-C / transition word_association_nomination_flow.svg Keep collecting nominations → [] → Count nominations for the candidate Player FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
NOM-TRANS-D-F / transition word_association_nomination_flow.svg At least 10 nominations? → [Yes] → Moderation review Player FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
NOM-TRANS-F-G / transition word_association_nomination_flow.svg Moderation review → [] → Approved? Player FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
NOM-TRANS-G-H / transition word_association_nomination_flow.svg Approved? → [No] → Reject or hold candidate Player FR-CANDIDATEHOLD-028#UI-HOLD-01; FR-CANDIDATEHOLD-028#UI-HOLD-02; FR-CANDIDATEHOLD-028#UI-HOLD-03; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114; TEST-CANDIDATEHOLD-141 specified case documented; not executed / Resolved UI-DEC-02
NOM-TRANS-G-I / transition word_association_nomination_flow.svg Approved? → [Yes] → Add to future-eligible answer pool Player FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
NOM-TRANS-I-J / transition word_association_nomination_flow.svg Add to future-eligible answer pool → [] → Curate complete word pair before play Player FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#DEC-07; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-07 TEST-CONTENTVALIDATION-016; TEST-NOMINATIONTHRESHOLDANDMODERATION-018 documented UI observation; not executed
ROOM-FLOW / flow word_association_room_creation.svg Complete directed room creation story Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-24; FR-LOBBYLIFECYCLE-003#AC-25; FR-LOBBYLIFECYCLE-003#AC-26; FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#AC-28; FR-OBSERVERS-020#DEC-13; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-24; FR-ROOMACCESS-001#AC-25; FR-ROOMACCESS-001#AC-26; TR-LOBBY-MATCHING-017#TR-17-C01; TR-OBSERVER-PERMISSIONS-018#TR-18-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002; TEST-BROWSEOPENLOBBIES-022; TEST-CONFIGUREDCAPACITY-024; TEST-ROOMINVITATIONS-025; TEST-DEEPLINKJOINANDFULLROOM-026; TEST-FULLROOMOBSERVER-027; TEST-OBSERVERPERSPECTIVEANDPERMISSIONS-028 documented UI observation; not executed
ROOM-NODE-A / state/decision/activity word_association_room_creation.svg Create room Player FR-LOBBYLIFECYCLE-003#AC-24; FR-ROOMACCESS-001#AC-24 TEST-CONFIGUREDCAPACITY-024 documented UI observation; not executed
ROOM-NODE-B / state/decision/activity word_association_room_creation.svg Set capacity from 2 to 25 Player FR-LOBBYLIFECYCLE-003#AC-24; FR-ROOMACCESS-001#AC-24 TEST-CONFIGUREDCAPACITY-024 documented UI observation; not executed
ROOM-NODE-C / state/decision/activity word_association_room_creation.svg Browse, room code, or deep link Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-25; FR-LOBBYLIFECYCLE-003#AC-26; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-25; FR-ROOMACCESS-001#AC-26; TR-LOBBY-MATCHING-017#TR-17-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-BROWSEOPENLOBBIES-022; TEST-ROOMINVITATIONS-025; TEST-DEEPLINKJOINANDFULLROOM-026 documented UI observation; not executed
ROOM-NODE-D / state/decision/activity word_association_room_creation.svg Open player slot? Player FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002 documented UI observation; not executed
ROOM-NODE-E / state/decision/activity word_association_room_creation.svg Join as player Player FR-LOBBYLIFECYCLE-003#AC-01; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001 documented UI observation; not executed
ROOM-NODE-H / state/decision/activity word_association_room_creation.svg Invited to room? Player FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-26; FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#DEC-13; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-26; TR-OBSERVER-PERMISSIONS-018#TR-18-C01 TEST-PLAYERLIMIT-002; TEST-DEEPLINKJOINANDFULLROOM-026; TEST-FULLROOMOBSERVER-027 documented UI observation; not executed
ROOM-NODE-I / state/decision/activity word_association_room_creation.svg Choose observe? Player FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#DEC-13; TR-OBSERVER-PERMISSIONS-018#TR-18-C01 TEST-FULLROOMOBSERVER-027 documented UI observation; not executed
ROOM-NODE-J / state/decision/activity word_association_room_creation.svg Observe from inviter perspective Player FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#AC-28; FR-OBSERVERS-020#DEC-13; TR-OBSERVER-PERMISSIONS-018#TR-18-C01 TEST-FULLROOMOBSERVER-027; TEST-OBSERVERPERSPECTIVEANDPERMISSIONS-028 documented UI observation; not executed
ROOM-NODE-F / state/decision/activity word_association_room_creation.svg Reject player join Player FR-LOBBYLIFECYCLE-003#AC-02; FR-ROOMACCESS-001#AC-02 TEST-PLAYERLIMIT-002 documented UI observation; not executed
ROOM-NODE-G / state/decision/activity word_association_room_creation.svg Issue room code and share link Player FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYLIFECYCLE-003#AC-25; FR-ROOMACCESS-001#AC-25 TEST-ROOMINVITATIONS-025 documented UI observation; not executed
ROOM-TRANS-A-B / transition word_association_room_creation.svg Create room → [] → Set capacity from 2 to 25 Player FR-LOBBYLIFECYCLE-003#AC-24; FR-ROOMACCESS-001#AC-24 TEST-CONFIGUREDCAPACITY-024 documented UI observation; not executed
ROOM-TRANS-C-D / transition word_association_room_creation.svg Browse, room code, or deep link → [] → Open player slot? Player FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-25; FR-LOBBYLIFECYCLE-003#AC-26; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-25; FR-ROOMACCESS-001#AC-26; TR-LOBBY-MATCHING-017#TR-17-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002; TEST-BROWSEOPENLOBBIES-022; TEST-ROOMINVITATIONS-025; TEST-DEEPLINKJOINANDFULLROOM-026 documented UI observation; not executed
ROOM-TRANS-D-E / transition word_association_room_creation.svg Open player slot? → [Yes] → Join as player Player FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002 documented UI observation; not executed
ROOM-TRANS-D-H / transition word_association_room_creation.svg Open player slot? → [No] → Invited to room? Player FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-26; FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#DEC-13; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-26; TR-OBSERVER-PERMISSIONS-018#TR-18-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002; TEST-DEEPLINKJOINANDFULLROOM-026; TEST-FULLROOMOBSERVER-027 documented UI observation; not executed
ROOM-TRANS-H-I / transition word_association_room_creation.svg Invited to room? → [Yes] → Choose observe? Player FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-26; FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#DEC-13; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-26; TR-OBSERVER-PERMISSIONS-018#TR-18-C01 TEST-PLAYERLIMIT-002; TEST-DEEPLINKJOINANDFULLROOM-026; TEST-FULLROOMOBSERVER-027 documented UI observation; not executed
ROOM-TRANS-I-J / transition word_association_room_creation.svg Choose observe? → [Yes] → Observe from inviter perspective Player FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#AC-28; FR-OBSERVERS-020#DEC-13; TR-OBSERVER-PERMISSIONS-018#TR-18-C01 TEST-FULLROOMOBSERVER-027; TEST-OBSERVERPERSPECTIVEANDPERMISSIONS-028 documented UI observation; not executed
ROOM-TRANS-I-F / transition word_association_room_creation.svg Choose observe? → [No] → Reject player join Player FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#DEC-13; FR-ROOMACCESS-001#AC-02; TR-OBSERVER-PERMISSIONS-018#TR-18-C01 TEST-PLAYERLIMIT-002; TEST-FULLROOMOBSERVER-027 documented UI observation; not executed
ROOM-TRANS-H-F / transition word_association_room_creation.svg Invited to room? → [No] → Reject player join Player FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-26; FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#DEC-13; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-26; TR-OBSERVER-PERMISSIONS-018#TR-18-C01 TEST-PLAYERLIMIT-002; TEST-DEEPLINKJOINANDFULLROOM-026; TEST-FULLROOMOBSERVER-027 documented UI observation; not executed
ROOM-TRANS-B-G / transition word_association_room_creation.svg Set capacity from 2 to 25 → [] → Issue room code and share link Player FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYLIFECYCLE-003#AC-24; FR-LOBBYLIFECYCLE-003#AC-25; FR-ROOMACCESS-001#AC-24; FR-ROOMACCESS-001#AC-25 TEST-CONFIGUREDCAPACITY-024; TEST-ROOMINVITATIONS-025 documented UI observation; not executed
ROOM-TRANS-G-D / transition word_association_room_creation.svg Issue room code and share link → [] → Open player slot? Player FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-25; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-25; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002; TEST-ROOMINVITATIONS-025 documented UI observation; not executed
ROUND-FLOW / flow word_association_round_flow.svg Complete directed round flow story Player FR-ANCHORSELECTION-007#AC-04; FR-ANCHORSELECTION-007#AC-11; FR-ANSWERREVEAL-012#AC-08; FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-08; FR-ANSWERSTAGES-008#AC-09; FR-ANSWERSTAGES-008#AC-45; FR-ANSWERSTAGES-008#DEC-01; FR-CATEGORIES-005#AC-04; FR-CATEGORIES-005#AC-05; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYART-006#AC-05; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-FINALSTANDINGS-014#AC-13; FR-FINALSTANDINGS-014#AC-14; FR-FINALSTANDINGS-014#DEC-01; FR-FINALSTANDINGS-014#DEC-04; FR-LIVESCORECARD-011#AC-10; FR-LOBBYLIFECYCLE-003#AC-01; FR-ROOMACCESS-001#AC-01; FR-ROUNDSUMMARY-013#AC-12; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-10; FR-SCORELOCK-010#AC-14; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; FR-SCORING-009#AC-08; FR-SCORING-009#AC-14; TR-ANCHOR-RANDOMNESS-013#TR-13-C01; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-ART-RENDER-007#TR-07-C01; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-CLOCK-CONSISTENCY-008#TR-08-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-FIRSTCATEGORY-004; TEST-CATEGORYART-005; TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-UNSOLVEDRESULT-008; TEST-HINTPROGRESSION-009; TEST-LIVESCORECARD-010; TEST-CATEGORYCHOICE-011; TEST-ROUNDSUMMARY-012; TEST-FINALSTANDINGS-013; TEST-TIMETIEBREAK-014; TEST-CONTENTVALIDATION-016; TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
ROUND-NODE-A / state/decision/activity word_association_round_flow.svg Create or join room Player FR-LOBBYLIFECYCLE-003#AC-01; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001 documented UI observation; not executed
ROUND-NODE-B / state/decision/activity word_association_round_flow.svg Game selects anchor player Player FR-ANCHORSELECTION-007#AC-04; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004 documented UI observation; not executed
ROUND-NODE-C / state/decision/activity word_association_round_flow.svg Anchor chooses first category Player FR-ANCHORSELECTION-007#AC-04; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004 documented UI observation; not executed
ROUND-NODE-D / state/decision/activity word_association_round_flow.svg Load predefined pair and category background Player FR-CATEGORIES-005#AC-05; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYART-006#AC-05; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; TR-ART-RENDER-007#TR-07-C01; TR-CATALOG-INTEGRITY-006#TR-06-C01 TEST-CATEGORYART-005; TEST-CONTENTVALIDATION-016 documented UI observation; not executed
ROUND-NODE-E / state/decision/activity word_association_round_flow.svg Show prompt with no hint Player FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-45; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03 TEST-NOHINTSOLVE-006; TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
ROUND-NODE-F / state/decision/activity word_association_round_flow.svg Unsolved players submit a word Player FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-45; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03 TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
ROUND-NODE-G / state/decision/activity word_association_round_flow.svg Confirm correct players and lock their scores Player FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-10; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-CLOCK-CONSISTENCY-008#TR-08-C01 TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-LIVESCORECARD-010 documented UI observation; not executed
ROUND-NODE-H / state/decision/activity word_association_round_flow.svg Any unsolved players and hints remain? Player FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-08; FR-ANSWERSTAGES-008#AC-09; FR-SCORING-009#AC-08; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01 TEST-UNSOLVEDRESULT-008; TEST-HINTPROGRESSION-009 documented UI observation; not executed
ROUND-NODE-I / state/decision/activity word_association_round_flow.svg Show next hint to unsolved players Player FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-09; FR-SCORELOCK-010#AC-07; FR-SCORING-009#AC-07; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01 TEST-HINTSCORING-007; TEST-HINTPROGRESSION-009 documented UI observation; not executed
ROUND-NODE-J / state/decision/activity word_association_round_flow.svg Reveal answer and show round summary Player FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-08; FR-ROUNDSUMMARY-013#AC-12; FR-SCORING-009#AC-08 TEST-UNSOLVEDRESULT-008; TEST-ROUNDSUMMARY-012 documented UI observation; not executed
ROUND-NODE-K / state/decision/activity word_association_round_flow.svg Game complete? Player FR-ANSWERSTAGES-008#DEC-01; FR-FINALSTANDINGS-014#AC-13; FR-FINALSTANDINGS-014#DEC-01 TEST-FINALSTANDINGS-013 documented UI observation; not executed
ROUND-NODE-L / state/decision/activity word_association_round_flow.svg First correct solver selects next category Player FR-ANCHORSELECTION-007#AC-11 TEST-CATEGORYCHOICE-011 documented UI observation; not executed
ROUND-NODE-M / state/decision/activity word_association_round_flow.svg Rank final scores and apply time tiebreak Player FR-ANSWERSTAGES-008#DEC-01; FR-FINALSTANDINGS-014#AC-13; FR-FINALSTANDINGS-014#AC-14; FR-FINALSTANDINGS-014#DEC-01; FR-FINALSTANDINGS-014#DEC-04; FR-SCORELOCK-010#AC-14; FR-SCORING-009#AC-14 TEST-FINALSTANDINGS-013; TEST-TIMETIEBREAK-014 documented UI observation; not executed
ROUND-TRANS-A-B / transition word_association_round_flow.svg Create or join room → [] → Game selects anchor player Player FR-ANCHORSELECTION-007#AC-04; FR-CATEGORIES-005#AC-04; FR-LOBBYLIFECYCLE-003#AC-01; FR-ROOMACCESS-001#AC-01; TR-ANCHOR-RANDOMNESS-013#TR-13-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-FIRSTCATEGORY-004 documented UI observation; not executed
ROUND-TRANS-B-C / transition word_association_round_flow.svg Game selects anchor player → [] → Anchor chooses first category Player FR-ANCHORSELECTION-007#AC-04; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004 documented UI observation; not executed
ROUND-TRANS-C-D / transition word_association_round_flow.svg Anchor chooses first category → [] → Load predefined pair and category background Player FR-ANCHORSELECTION-007#AC-04; FR-CATEGORIES-005#AC-04; FR-CATEGORIES-005#AC-05; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYART-006#AC-05; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; TR-ANCHOR-RANDOMNESS-013#TR-13-C01; TR-ART-RENDER-007#TR-07-C01; TR-CATALOG-INTEGRITY-006#TR-06-C01 TEST-FIRSTCATEGORY-004; TEST-CATEGORYART-005; TEST-CONTENTVALIDATION-016 documented UI observation; not executed
ROUND-TRANS-D-E / transition word_association_round_flow.svg Load predefined pair and category background → [] → Show prompt with no hint Player FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-05; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYART-006#AC-05; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-ART-RENDER-007#TR-07-C01; TR-CATALOG-INTEGRITY-006#TR-06-C01 TEST-CATEGORYART-005; TEST-NOHINTSOLVE-006; TEST-CONTENTVALIDATION-016; TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
ROUND-TRANS-E-F / transition word_association_round_flow.svg Show prompt with no hint → [] → Unsolved players submit a word Player FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-45; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03 TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
ROUND-TRANS-F-G / transition word_association_round_flow.svg Unsolved players submit a word → [] → Confirm correct players and lock their scores Player FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-45; FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-10; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-CLOCK-CONSISTENCY-008#TR-08-C01 TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-LIVESCORECARD-010; TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
ROUND-TRANS-G-H / transition word_association_round_flow.svg Confirm correct players and lock their scores → [] → Any unsolved players and hints remain? Player FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-08; FR-ANSWERSTAGES-008#AC-09; FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-10; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; FR-SCORING-009#AC-08; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-CLOCK-CONSISTENCY-008#TR-08-C01 TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-UNSOLVEDRESULT-008; TEST-HINTPROGRESSION-009; TEST-LIVESCORECARD-010 documented UI observation; not executed
ROUND-TRANS-H-I / transition word_association_round_flow.svg Any unsolved players and hints remain? → [Yes] → Show next hint to unsolved players Player FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-08; FR-ANSWERSTAGES-008#AC-09; FR-SCORELOCK-010#AC-07; FR-SCORING-009#AC-07; FR-SCORING-009#AC-08; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01 TEST-HINTSCORING-007; TEST-UNSOLVEDRESULT-008; TEST-HINTPROGRESSION-009 documented UI observation; not executed
ROUND-TRANS-I-F / transition word_association_round_flow.svg Show next hint to unsolved players → [] → Unsolved players submit a word Player FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-09; FR-ANSWERSTAGES-008#AC-45; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03 TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-HINTPROGRESSION-009; TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
ROUND-TRANS-H-J / transition word_association_round_flow.svg Any unsolved players and hints remain? → [No] → Reveal answer and show round summary Player FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-08; FR-ANSWERSTAGES-008#AC-09; FR-ROUNDSUMMARY-013#AC-12; FR-SCORING-009#AC-08; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01 TEST-UNSOLVEDRESULT-008; TEST-HINTPROGRESSION-009; TEST-ROUNDSUMMARY-012 documented UI observation; not executed
ROUND-TRANS-J-K / transition word_association_round_flow.svg Reveal answer and show round summary → [] → Game complete? Player FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-08; FR-ANSWERSTAGES-008#DEC-01; FR-FINALSTANDINGS-014#AC-13; FR-FINALSTANDINGS-014#DEC-01; FR-ROUNDSUMMARY-013#AC-12; FR-SCORING-009#AC-08 TEST-UNSOLVEDRESULT-008; TEST-ROUNDSUMMARY-012; TEST-FINALSTANDINGS-013 documented UI observation; not executed
ROUND-TRANS-K-L / transition word_association_round_flow.svg Game complete? → [No] → First correct solver selects next category Player FR-ANCHORSELECTION-007#AC-11; FR-ANSWERSTAGES-008#DEC-01; FR-FINALSTANDINGS-014#AC-13; FR-FINALSTANDINGS-014#DEC-01 TEST-CATEGORYCHOICE-011; TEST-FINALSTANDINGS-013 documented UI observation; not executed
ROUND-TRANS-L-D / transition word_association_round_flow.svg First correct solver selects next category → [] → Load predefined pair and category background Player FR-ANCHORSELECTION-007#AC-11; FR-CATEGORIES-005#AC-05; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYART-006#AC-05; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; TR-ART-RENDER-007#TR-07-C01; TR-CATALOG-INTEGRITY-006#TR-06-C01 TEST-CATEGORYART-005; TEST-CATEGORYCHOICE-011; TEST-CONTENTVALIDATION-016 documented UI observation; not executed
ROUND-TRANS-K-M / transition word_association_round_flow.svg Game complete? → [Yes] → Rank final scores and apply time tiebreak Player FR-ANSWERSTAGES-008#DEC-01; FR-FINALSTANDINGS-014#AC-13; FR-FINALSTANDINGS-014#AC-14; FR-FINALSTANDINGS-014#DEC-01; FR-FINALSTANDINGS-014#DEC-04; FR-SCORELOCK-010#AC-14; FR-SCORING-009#AC-14 TEST-FINALSTANDINGS-013; TEST-TIMETIEBREAK-014 documented UI observation; not executed
MSG-M01 / message/transition word_association_client_message_flow.svg Message 1: Create room Sender/receiver shown in sequence diagram FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYLIFECYCLE-003#AC-24; FR-LOBBYLIFECYCLE-003#AC-25; FR-ROOMACCESS-001#AC-24; FR-ROOMACCESS-001#AC-25 TEST-CONFIGUREDCAPACITY-024; TEST-ROOMINVITATIONS-025 documented UI observation; not executed
MSG-M02 / message/transition word_association_client_message_flow.svg Message 2: Room code and lobby state Sender/receiver shown in sequence diagram FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYLIFECYCLE-003#AC-24; FR-LOBBYLIFECYCLE-003#AC-25; FR-ROOMACCESS-001#AC-24; FR-ROOMACCESS-001#AC-25 TEST-CONFIGUREDCAPACITY-024; TEST-ROOMINVITATIONS-025 documented UI observation; not executed
MSG-M03 / message/transition word_association_client_message_flow.svg Message 3: Join with room code Sender/receiver shown in sequence diagram FR-LOBBYLIFECYCLE-003#AC-01; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-ROOMJOINING-001; TEST-ROOMSYNC-139 documented UI observation; not executed
MSG-M04 / message/transition word_association_client_message_flow.svg Message 4: Lobby update Sender/receiver shown in sequence diagram FR-LOBBYLIFECYCLE-003#AC-01; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-ROOMJOINING-001; TEST-ROOMSYNC-139 documented UI observation; not executed
MSG-M05 / message/transition word_association_client_message_flow.svg Message 5: Lobby state Sender/receiver shown in sequence diagram FR-LOBBYLIFECYCLE-003#AC-01; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-ROOMJOINING-001; TEST-ROOMSYNC-139 documented UI observation; not executed
MSG-M06 / message/transition word_association_client_message_flow.svg Message 6: All players ready; start 10-second countdown and lock roster Sender/receiver shown in sequence diagram FR-LOBBYDISCOVERY-019#AC-31; FR-LOBBYLIFECYCLE-003#AC-31; FR-LOBBYLIFECYCLE-003#DEC-14; FR-LOBBYLIFECYCLE-003#DEC-15 TEST-READYCOUNTDOWNANDROSTERLOCK-031 documented UI observation; not executed
MSG-M07 / message/transition word_association_client_message_flow.svg Message 7: Draw random roster index 1..N Sender/receiver shown in sequence diagram FR-ANCHORSELECTION-007#AC-04; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004 documented UI observation; not executed
MSG-M08 / message/transition word_association_client_message_flow.svg Message 8: Anchor assignment by matching index Sender/receiver shown in sequence diagram FR-ANCHORSELECTION-007#AC-04; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004 documented UI observation; not executed
MSG-M09 / message/transition word_association_client_message_flow.svg Message 9: Anchor assignment by matching index Sender/receiver shown in sequence diagram FR-ANCHORSELECTION-007#AC-04; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004 documented UI observation; not executed
MSG-M10 / message/transition word_association_client_message_flow.svg Message 10: Anchor assignment by matching index Sender/receiver shown in sequence diagram FR-ANCHORSELECTION-007#AC-04; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004 documented UI observation; not executed
MSG-M11 / message/transition word_association_client_message_flow.svg Message 11: Choose first category Sender/receiver shown in sequence diagram FR-ANCHORSELECTION-007#AC-04; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004 documented UI observation; not executed
MSG-M12 / message/transition word_association_client_message_flow.svg Message 12: Choose first category Sender/receiver shown in sequence diagram FR-ANCHORSELECTION-007#AC-04; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004 documented UI observation; not executed
MSG-M13 / message/transition word_association_client_message_flow.svg Message 13: Choose first category Sender/receiver shown in sequence diagram FR-ANCHORSELECTION-007#AC-04; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004 documented UI observation; not executed
MSG-M14 / message/transition word_association_client_message_flow.svg Message 14: Load pair for selected category Sender/receiver shown in sequence diagram FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-SCORELOCK-010#AC-45; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-CATALOG-INTEGRITY-006#TR-06-C01 TEST-CONTENTVALIDATION-016; TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
MSG-M15 / message/transition word_association_client_message_flow.svg Message 15: Prompt, target, hints, and category background Sender/receiver shown in sequence diagram FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-SCORELOCK-010#AC-45; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-CATALOG-INTEGRITY-006#TR-06-C01 TEST-CONTENTVALIDATION-016; TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
MSG-M16 / message/transition word_association_client_message_flow.svg Message 16: Prompt and background Sender/receiver shown in sequence diagram FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-05; FR-CATEGORYART-006#AC-05; FR-SCORELOCK-010#AC-45; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-ART-RENDER-007#TR-07-C01 TEST-CATEGORYART-005; TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
MSG-M17 / message/transition word_association_client_message_flow.svg Message 17: Prompt and background Sender/receiver shown in sequence diagram FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-05; FR-CATEGORYART-006#AC-05; FR-SCORELOCK-010#AC-45; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-ART-RENDER-007#TR-07-C01 TEST-CATEGORYART-005; TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
MSG-M18 / message/transition word_association_client_message_flow.svg Message 18: Prompt and background Sender/receiver shown in sequence diagram FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-05; FR-CATEGORYART-006#AC-05; FR-SCORELOCK-010#AC-45; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-ART-RENDER-007#TR-07-C01 TEST-CATEGORYART-005; TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
MSG-M19 / message/transition word_association_client_message_flow.svg Message 19: Send menu-selected emoji reaction Sender/receiver shown in sequence diagram FR-REACTIONS-021#AC-29; FR-REACTIONS-021#DEC-18; TR-REACTION-DELIVERY-019#DEC-18 TEST-INROUNDEMOJIREACTION-029 documented UI observation; not executed
MSG-M20 / message/transition word_association_client_message_flow.svg Message 20: Broadcast reaction Sender/receiver shown in sequence diagram FR-REACTIONS-021#AC-29; FR-REACTIONS-021#DEC-18; TR-REACTION-DELIVERY-019#DEC-18 TEST-INROUNDEMOJIREACTION-029 documented UI observation; not executed
MSG-M21 / message/transition word_association_client_message_flow.svg Message 21: Broadcast reaction Sender/receiver shown in sequence diagram FR-REACTIONS-021#AC-29; FR-REACTIONS-021#DEC-18; TR-REACTION-DELIVERY-019#DEC-18 TEST-INROUNDEMOJIREACTION-029 documented UI observation; not executed
MSG-M22 / message/transition word_association_client_message_flow.svg Message 22: Broadcast reaction Sender/receiver shown in sequence diagram FR-REACTIONS-021#AC-29; FR-REACTIONS-021#DEC-18; TR-REACTION-DELIVERY-019#DEC-18 TEST-INROUNDEMOJIREACTION-029 documented UI observation; not executed
MSG-M23 / message/transition word_association_client_message_flow.svg Message 23: Submit guess privately Sender/receiver shown in sequence diagram FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-45; FR-SCORELOCK-010#AC-45; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03 TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
MSG-M24 / message/transition word_association_client_message_flow.svg Message 24: Submit guess privately Sender/receiver shown in sequence diagram FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-45; FR-SCORELOCK-010#AC-45; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03 TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
MSG-M25 / message/transition word_association_client_message_flow.svg Message 25: Submit guess privately Sender/receiver shown in sequence diagram FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-45; FR-SCORELOCK-010#AC-45; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03 TEST-AUTHORITATIVEANSWERHANDLING-045 documented UI observation; not executed
MSG-M26 / message/transition word_association_client_message_flow.svg Message 26: Validate, timestamp, and lock correct scores Sender/receiver shown in sequence diagram FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-10; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-CLOCK-CONSISTENCY-008#TR-08-C01 TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-LIVESCORECARD-010 documented UI observation; not executed
MSG-M27 / message/transition word_association_client_message_flow.svg Message 27: Live scorecard update Sender/receiver shown in sequence diagram FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-10; TR-CLOCK-CONSISTENCY-008#TR-08-C01; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-LIVESCORECARD-010; TEST-ROOMSYNC-139 documented UI observation; not executed
MSG-M28 / message/transition word_association_client_message_flow.svg Message 28: Live scorecard update Sender/receiver shown in sequence diagram FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-10; TR-CLOCK-CONSISTENCY-008#TR-08-C01; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-LIVESCORECARD-010; TEST-ROOMSYNC-139 documented UI observation; not executed
MSG-M29 / message/transition word_association_client_message_flow.svg Message 29: Live scorecard update Sender/receiver shown in sequence diagram FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-10; TR-CLOCK-CONSISTENCY-008#TR-08-C01; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-LIVESCORECARD-010; TEST-ROOMSYNC-139 documented UI observation; not executed
MSG-M30 / message/transition word_association_client_message_flow.svg Message 30: Next hint Sender/receiver shown in sequence diagram FR-ANSWERSTAGES-008#AC-09; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01 TEST-HINTPROGRESSION-009 documented UI observation; not executed
MSG-M31 / message/transition word_association_client_message_flow.svg Message 31: Next hint Sender/receiver shown in sequence diagram FR-ANSWERSTAGES-008#AC-09; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01 TEST-HINTPROGRESSION-009 documented UI observation; not executed
MSG-M32 / message/transition word_association_client_message_flow.svg Message 32: Next hint to unsolved clients only Sender/receiver shown in sequence diagram FR-ANSWERSTAGES-008#AC-09; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01 TEST-HINTPROGRESSION-009 documented UI observation; not executed
MSG-M33 / message/transition word_association_client_message_flow.svg Message 33: Reveal answer and round summary Sender/receiver shown in sequence diagram FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-08; FR-ROUNDSUMMARY-013#AC-12; FR-SCORING-009#AC-08 TEST-UNSOLVEDRESULT-008; TEST-ROUNDSUMMARY-012 documented UI observation; not executed
MSG-M34 / message/transition word_association_client_message_flow.svg Message 34: Reveal answer and round summary Sender/receiver shown in sequence diagram FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-08; FR-ROUNDSUMMARY-013#AC-12; FR-SCORING-009#AC-08 TEST-UNSOLVEDRESULT-008; TEST-ROUNDSUMMARY-012 documented UI observation; not executed
MSG-M35 / message/transition word_association_client_message_flow.svg Message 35: Reveal answer and round summary Sender/receiver shown in sequence diagram FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-08; FR-ROUNDSUMMARY-013#AC-12; FR-SCORING-009#AC-08 TEST-UNSOLVEDRESULT-008; TEST-ROUNDSUMMARY-012 documented UI observation; not executed
MSG-M36 / message/transition word_association_client_message_flow.svg Message 36: First correct solver selects next category Sender/receiver shown in sequence diagram FR-ANCHORSELECTION-007#AC-11 TEST-CATEGORYCHOICE-011 documented UI observation; not executed
MSG-M37 / message/transition word_association_client_message_flow.svg Message 37: Next category and background Sender/receiver shown in sequence diagram FR-ANCHORSELECTION-007#AC-11 TEST-CATEGORYCHOICE-011 documented UI observation; not executed
MSG-M38 / message/transition word_association_client_message_flow.svg Message 38: Next category and background Sender/receiver shown in sequence diagram FR-ANCHORSELECTION-007#AC-11 TEST-CATEGORYCHOICE-011 documented UI observation; not executed
MSG-M39 / message/transition word_association_client_message_flow.svg Message 39: Next category and background Sender/receiver shown in sequence diagram FR-ANCHORSELECTION-007#AC-11 TEST-CATEGORYCHOICE-011 documented UI observation; not executed
MSG-FLOW / flow word_association_client_message_flow.svg Full room → round → summary client sequence with alternate anchor and conditional hint recipients Player FR-ANCHORSELECTION-007#AC-04; FR-ANCHORSELECTION-007#AC-11; FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-09; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-04; FR-LIVESCORECARD-011#AC-10; FR-LOBBYDISCOVERY-019#AC-31; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-31; FR-LOBBYLIFECYCLE-003#DEC-14; FR-LOBBYLIFECYCLE-003#DEC-15; FR-REACTIONS-021#AC-29; FR-REACTIONS-021#DEC-18; FR-ROOMACCESS-001#AC-01; FR-SCORELOCK-010#AC-10; FR-SCORELOCK-010#AC-45; TR-ANCHOR-RANDOMNESS-013#TR-13-C01; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-CLOCK-CONSISTENCY-008#TR-08-C01; TR-REACTION-DELIVERY-019#DEC-18; TR-REALTIME-SYNC-002#TR-02-C01; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-ROOMJOINING-001; TEST-FIRSTCATEGORY-004; TEST-HINTPROGRESSION-009; TEST-LIVESCORECARD-010; TEST-CATEGORYCHOICE-011; TEST-INROUNDEMOJIREACTION-029; TEST-READYCOUNTDOWNANDROSTERLOCK-031; TEST-AUTHORITATIVEANSWERHANDLING-045; TEST-ROOMSYNC-139 documented UI observation; not executed
SCREEN-LANDING / screen word_association_game_requirements.md Public landing Visitor/player/observer as applicable FR-PUBLICLANDING-022#AC-43; FR-PUBLICLANDING-022#AC-50; FR-PUBLICLANDING-022#DEC-19; TR-LANDING-PRIVACY-030#DEC-19 TEST-PUBLICGAMELANDINGPAGE-043; TEST-LANDINGPAGEPUBLICDATA-050 documented UI observation; not executed
STATE-LANDING-01 / state word_association_game_requirements.md anonymous; populated Visitor/player/observer as applicable FR-PUBLICLANDING-022#AC-43; FR-PUBLICLANDING-022#AC-50; FR-PUBLICLANDING-022#DEC-19; TR-LANDING-PRIVACY-030#DEC-19 TEST-PUBLICGAMELANDINGPAGE-043; TEST-LANDINGPAGEPUBLICDATA-050 documented UI observation; not executed
STATE-LANDING-02 / state word_association_game_requirements.md empty Visitor/player/observer as applicable FR-PUBLICLANDING-022#AC-43; FR-PUBLICLANDING-022#AC-50; FR-PUBLICLANDING-022#DEC-19; TR-LANDING-PRIVACY-030#DEC-19 TEST-PUBLICGAMELANDINGPAGE-043; TEST-LANDINGPAGEPUBLICDATA-050 documented UI observation; not executed
STATE-LANDING-03 / state word_association_game_requirements.md unavailable Visitor/player/observer as applicable FR-PUBLICLANDING-022#AC-43; FR-PUBLICLANDING-022#AC-50; FR-PUBLICLANDING-022#DEC-19; TR-LANDING-PRIVACY-030#DEC-19 TEST-PUBLICGAMELANDINGPAGE-043; TEST-LANDINGPAGEPUBLICDATA-050 documented UI observation; not executed
SCREEN-ENTRY / screen word_association_identity_profile.svg Identity entry Visitor/player/observer as applicable FR-IDENTITY-018#AC-20; FR-IDENTITY-018#AC-21; FR-IDENTITY-018#AC-46; FR-IDENTITY-018#DEC-10; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-20; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11; TR-IDENTITY-AUTHENTICATION-016#DEC-10; TR-IDENTITY-AUTHENTICATION-016#TR-16-C01 TEST-OPENAIOIDCPROFILE-020; TEST-GUESTPLAY-021; TEST-OIDCTOKENVALIDATION-046 documented UI observation; not executed
STATE-ENTRY-01 / state word_association_identity_profile.svg guest Visitor/player/observer as applicable FR-IDENTITY-018#AC-20; FR-IDENTITY-018#AC-21; FR-IDENTITY-018#AC-46; FR-IDENTITY-018#DEC-10; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-20; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11; TR-IDENTITY-AUTHENTICATION-016#DEC-10; TR-IDENTITY-AUTHENTICATION-016#TR-16-C01 TEST-OPENAIOIDCPROFILE-020; TEST-GUESTPLAY-021; TEST-OIDCTOKENVALIDATION-046 documented UI observation; not executed
STATE-ENTRY-02 / state word_association_identity_profile.svg account; returning Visitor/player/observer as applicable FR-IDENTITY-018#AC-20; FR-IDENTITY-018#AC-21; FR-IDENTITY-018#AC-46; FR-IDENTITY-018#DEC-10; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-20; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11; TR-IDENTITY-AUTHENTICATION-016#DEC-10; TR-IDENTITY-AUTHENTICATION-016#TR-16-C01 TEST-OPENAIOIDCPROFILE-020; TEST-GUESTPLAY-021; TEST-OIDCTOKENVALIDATION-046 documented UI observation; not executed
STATE-ENTRY-03 / state word_association_identity_profile.svg invalid callback Visitor/player/observer as applicable FR-IDENTITY-018#AC-20; FR-IDENTITY-018#AC-21; FR-IDENTITY-018#AC-46; FR-IDENTITY-018#DEC-10; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-20; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11; TR-IDENTITY-AUTHENTICATION-016#DEC-10; TR-IDENTITY-AUTHENTICATION-016#TR-16-C01 TEST-OPENAIOIDCPROFILE-020; TEST-GUESTPLAY-021; TEST-OIDCTOKENVALIDATION-046 documented UI observation; not executed
SCREEN-PROFILE / screen word_association_identity_profile.svg Profile icon Visitor/player/observer as applicable FR-IDENTITY-018#AC-21; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-03; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11 TEST-PROFILEICON-003; TEST-GUESTPLAY-021 documented UI observation; not executed
STATE-PROFILE-01 / state word_association_identity_profile.svg selected Visitor/player/observer as applicable FR-IDENTITY-018#AC-21; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-03; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11 TEST-PROFILEICON-003; TEST-GUESTPLAY-021 documented UI observation; not executed
STATE-PROFILE-02 / state word_association_identity_profile.svg unselected; browser persistence Visitor/player/observer as applicable FR-IDENTITY-018#AC-21; FR-IDENTITY-018#DEC-11; FR-PLAYERPROFILE-002#AC-03; FR-PLAYERPROFILE-002#AC-21; FR-PLAYERPROFILE-002#DEC-11 TEST-PROFILEICON-003; TEST-GUESTPLAY-021 documented UI observation; not executed
SCREEN-DISCOVERY / screen word_association_lobby_discovery.svg Lobby browser/quick match Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; FR-LOBBYLIFECYCLE-003#AC-02; FR-ROOMACCESS-001#AC-02; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023; TEST-PLAYERLIMIT-002 documented UI observation; not executed
STATE-DISCOVERY-01 / state word_association_lobby_discovery.svg eligible Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; FR-LOBBYLIFECYCLE-003#AC-02; FR-ROOMACCESS-001#AC-02; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023; TEST-PLAYERLIMIT-002 documented UI observation; not executed
STATE-DISCOVERY-02 / state word_association_lobby_discovery.svg no-match Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; FR-LOBBYLIFECYCLE-003#AC-02; FR-ROOMACCESS-001#AC-02; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023; TEST-PLAYERLIMIT-002 documented UI observation; not executed
STATE-DISCOVERY-03 / state word_association_lobby_discovery.svg seat-lost race Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-22; FR-LOBBYDISCOVERY-019#AC-23; FR-LOBBYDISCOVERY-019#DEC-12; FR-LOBBYLIFECYCLE-003#AC-02; FR-ROOMACCESS-001#AC-02; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-BROWSEOPENLOBBIES-022; TEST-QUICKMATCH-023; TEST-PLAYERLIMIT-002 documented UI observation; not executed
SCREEN-CREATE / screen word_association_room_creation.svg Create room Visitor/player/observer as applicable FR-LOBBYLIFECYCLE-003#AC-24; FR-ROOMACCESS-001#AC-24 TEST-CONFIGUREDCAPACITY-024 documented UI observation; not executed
STATE-CREATE-01 / state word_association_room_creation.svg valid and out-of-range capacity Visitor/player/observer as applicable FR-LOBBYLIFECYCLE-003#AC-24; FR-ROOMACCESS-001#AC-24 TEST-CONFIGUREDCAPACITY-024 documented UI observation; not executed
SCREEN-JOIN / screen word_association_room_creation.svg Code/link join Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-25; FR-LOBBYLIFECYCLE-003#AC-26; FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#DEC-13; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-25; FR-ROOMACCESS-001#AC-26; TR-OBSERVER-PERMISSIONS-018#TR-18-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002; TEST-ROOMINVITATIONS-025; TEST-DEEPLINKJOINANDFULLROOM-026; TEST-FULLROOMOBSERVER-027 documented UI observation; not executed
STATE-JOIN-01 / state word_association_room_creation.svg open Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-25; FR-LOBBYLIFECYCLE-003#AC-26; FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#DEC-13; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-25; FR-ROOMACCESS-001#AC-26; TR-OBSERVER-PERMISSIONS-018#TR-18-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002; TEST-ROOMINVITATIONS-025; TEST-DEEPLINKJOINANDFULLROOM-026; TEST-FULLROOMOBSERVER-027 documented UI observation; not executed
STATE-JOIN-02 / state word_association_room_creation.svg full Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-25; FR-LOBBYLIFECYCLE-003#AC-26; FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#DEC-13; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-25; FR-ROOMACCESS-001#AC-26; TR-OBSERVER-PERMISSIONS-018#TR-18-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002; TEST-ROOMINVITATIONS-025; TEST-DEEPLINKJOINANDFULLROOM-026; TEST-FULLROOMOBSERVER-027 documented UI observation; not executed
STATE-JOIN-03 / state word_association_room_creation.svg invited Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-25; FR-LOBBYLIFECYCLE-003#AC-26; FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#DEC-13; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-25; FR-ROOMACCESS-001#AC-26; TR-OBSERVER-PERMISSIONS-018#TR-18-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002; TEST-ROOMINVITATIONS-025; TEST-DEEPLINKJOINANDFULLROOM-026; TEST-FULLROOMOBSERVER-027 documented UI observation; not executed
STATE-JOIN-04 / state word_association_room_creation.svg uninvited Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-25; FR-LOBBYLIFECYCLE-003#AC-26; FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#DEC-13; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-25; FR-ROOMACCESS-001#AC-26; TR-OBSERVER-PERMISSIONS-018#TR-18-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002; TEST-ROOMINVITATIONS-025; TEST-DEEPLINKJOINANDFULLROOM-026; TEST-FULLROOMOBSERVER-027 documented UI observation; not executed
STATE-JOIN-05 / state word_association_room_creation.svg observer declined Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-25; FR-LOBBYDISCOVERY-019#AC-26; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-02; FR-LOBBYLIFECYCLE-003#AC-25; FR-LOBBYLIFECYCLE-003#AC-26; FR-LOBBYLIFECYCLE-003#AC-27; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#DEC-13; FR-ROOMACCESS-001#AC-01; FR-ROOMACCESS-001#AC-02; FR-ROOMACCESS-001#AC-25; FR-ROOMACCESS-001#AC-26; TR-OBSERVER-PERMISSIONS-018#TR-18-C01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PLAYERLIMIT-002; TEST-ROOMINVITATIONS-025; TEST-DEEPLINKJOINANDFULLROOM-026; TEST-FULLROOMOBSERVER-027 documented UI observation; not executed
SCREEN-LOBBY / screen word_association_game_requirements.md Room lobby Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-30; FR-LOBBYDISCOVERY-019#AC-31; FR-LOBBYDISCOVERY-019#AC-32; FR-LOBBYDISCOVERY-019#AC-33; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-30; FR-LOBBYLIFECYCLE-003#AC-31; FR-LOBBYLIFECYCLE-003#AC-32; FR-LOBBYLIFECYCLE-003#AC-33; FR-LOBBYLIFECYCLE-003#DEC-14; FR-LOBBYLIFECYCLE-003#DEC-15; FR-LOBBYLIFECYCLE-003#DEC-16; FR-OBSERVERS-020#AC-30; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PRECOUNTDOWNOBSERVERPROMOTION-030; TEST-READYCOUNTDOWNANDROSTERLOCK-031; TEST-HOLDOUTWARNINGANDREMOVAL-032; TEST-IDLELOBBYREADINESSPROMPT-033 documented UI observation; not executed
STATE-LOBBY-01 / state word_association_game_requirements.md waiting Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-30; FR-LOBBYDISCOVERY-019#AC-31; FR-LOBBYDISCOVERY-019#AC-32; FR-LOBBYDISCOVERY-019#AC-33; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-30; FR-LOBBYLIFECYCLE-003#AC-31; FR-LOBBYLIFECYCLE-003#AC-32; FR-LOBBYLIFECYCLE-003#AC-33; FR-LOBBYLIFECYCLE-003#DEC-14; FR-LOBBYLIFECYCLE-003#DEC-15; FR-LOBBYLIFECYCLE-003#DEC-16; FR-OBSERVERS-020#AC-30; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PRECOUNTDOWNOBSERVERPROMOTION-030; TEST-READYCOUNTDOWNANDROSTERLOCK-031; TEST-HOLDOUTWARNINGANDREMOVAL-032; TEST-IDLELOBBYREADINESSPROMPT-033 documented UI observation; not executed
STATE-LOBBY-02 / state word_association_game_requirements.md full Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-30; FR-LOBBYDISCOVERY-019#AC-31; FR-LOBBYDISCOVERY-019#AC-32; FR-LOBBYDISCOVERY-019#AC-33; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-30; FR-LOBBYLIFECYCLE-003#AC-31; FR-LOBBYLIFECYCLE-003#AC-32; FR-LOBBYLIFECYCLE-003#AC-33; FR-LOBBYLIFECYCLE-003#DEC-14; FR-LOBBYLIFECYCLE-003#DEC-15; FR-LOBBYLIFECYCLE-003#DEC-16; FR-OBSERVERS-020#AC-30; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PRECOUNTDOWNOBSERVERPROMOTION-030; TEST-READYCOUNTDOWNANDROSTERLOCK-031; TEST-HOLDOUTWARNINGANDREMOVAL-032; TEST-IDLELOBBYREADINESSPROMPT-033 documented UI observation; not executed
STATE-LOBBY-03 / state word_association_game_requirements.md idle Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-30; FR-LOBBYDISCOVERY-019#AC-31; FR-LOBBYDISCOVERY-019#AC-32; FR-LOBBYDISCOVERY-019#AC-33; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-30; FR-LOBBYLIFECYCLE-003#AC-31; FR-LOBBYLIFECYCLE-003#AC-32; FR-LOBBYLIFECYCLE-003#AC-33; FR-LOBBYLIFECYCLE-003#DEC-14; FR-LOBBYLIFECYCLE-003#DEC-15; FR-LOBBYLIFECYCLE-003#DEC-16; FR-OBSERVERS-020#AC-30; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PRECOUNTDOWNOBSERVERPROMOTION-030; TEST-READYCOUNTDOWNANDROSTERLOCK-031; TEST-HOLDOUTWARNINGANDREMOVAL-032; TEST-IDLELOBBYREADINESSPROMPT-033 documented UI observation; not executed
STATE-LOBBY-04 / state word_association_game_requirements.md holdout Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-30; FR-LOBBYDISCOVERY-019#AC-31; FR-LOBBYDISCOVERY-019#AC-32; FR-LOBBYDISCOVERY-019#AC-33; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-30; FR-LOBBYLIFECYCLE-003#AC-31; FR-LOBBYLIFECYCLE-003#AC-32; FR-LOBBYLIFECYCLE-003#AC-33; FR-LOBBYLIFECYCLE-003#DEC-14; FR-LOBBYLIFECYCLE-003#DEC-15; FR-LOBBYLIFECYCLE-003#DEC-16; FR-OBSERVERS-020#AC-30; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PRECOUNTDOWNOBSERVERPROMOTION-030; TEST-READYCOUNTDOWNANDROSTERLOCK-031; TEST-HOLDOUTWARNINGANDREMOVAL-032; TEST-IDLELOBBYREADINESSPROMPT-033 documented UI observation; not executed
STATE-LOBBY-05 / state word_association_game_requirements.md countdown Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-30; FR-LOBBYDISCOVERY-019#AC-31; FR-LOBBYDISCOVERY-019#AC-32; FR-LOBBYDISCOVERY-019#AC-33; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-30; FR-LOBBYLIFECYCLE-003#AC-31; FR-LOBBYLIFECYCLE-003#AC-32; FR-LOBBYLIFECYCLE-003#AC-33; FR-LOBBYLIFECYCLE-003#DEC-14; FR-LOBBYLIFECYCLE-003#DEC-15; FR-LOBBYLIFECYCLE-003#DEC-16; FR-OBSERVERS-020#AC-30; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PRECOUNTDOWNOBSERVERPROMOTION-030; TEST-READYCOUNTDOWNANDROSTERLOCK-031; TEST-HOLDOUTWARNINGANDREMOVAL-032; TEST-IDLELOBBYREADINESSPROMPT-033 documented UI observation; not executed
STATE-LOBBY-06 / state word_association_game_requirements.md closed Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-30; FR-LOBBYDISCOVERY-019#AC-31; FR-LOBBYDISCOVERY-019#AC-32; FR-LOBBYDISCOVERY-019#AC-33; FR-LOBBYLIFECYCLE-003#AC-01; FR-LOBBYLIFECYCLE-003#AC-30; FR-LOBBYLIFECYCLE-003#AC-31; FR-LOBBYLIFECYCLE-003#AC-32; FR-LOBBYLIFECYCLE-003#AC-33; FR-LOBBYLIFECYCLE-003#DEC-14; FR-LOBBYLIFECYCLE-003#DEC-15; FR-LOBBYLIFECYCLE-003#DEC-16; FR-OBSERVERS-020#AC-30; FR-ROOMACCESS-001#AC-01; TR-REALTIME-SYNC-002#TR-02-C01 TEST-ROOMJOINING-001; TEST-PRECOUNTDOWNOBSERVERPROMOTION-030; TEST-READYCOUNTDOWNANDROSTERLOCK-031; TEST-HOLDOUTWARNINGANDREMOVAL-032; TEST-IDLELOBBYREADINESSPROMPT-033 documented UI observation; not executed
SCREEN-CHOOSER / screen word_association_round_flow.svg Category chooser Visitor/player/observer as applicable FR-ANCHORSELECTION-007#AC-04; FR-ANCHORSELECTION-007#AC-11; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004; TEST-CATEGORYCHOICE-011 documented UI observation; not executed
STATE-CHOOSER-01 / state word_association_round_flow.svg anchor Visitor/player/observer as applicable FR-ANCHORSELECTION-007#AC-04; FR-ANCHORSELECTION-007#AC-11; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004; TEST-CATEGORYCHOICE-011 documented UI observation; not executed
STATE-CHOOSER-02 / state word_association_round_flow.svg next solver Visitor/player/observer as applicable FR-ANCHORSELECTION-007#AC-04; FR-ANCHORSELECTION-007#AC-11; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004; TEST-CATEGORYCHOICE-011 documented UI observation; not executed
STATE-CHOOSER-03 / state word_association_round_flow.svg non-chooser Visitor/player/observer as applicable FR-ANCHORSELECTION-007#AC-04; FR-ANCHORSELECTION-007#AC-11; FR-CATEGORIES-005#AC-04; TR-ANCHOR-RANDOMNESS-013#TR-13-C01 TEST-FIRSTCATEGORY-004; TEST-CATEGORYCHOICE-011 documented UI observation; not executed
SCREEN-ROUND / screen word_association_round_flow.svg Active round Visitor/player/observer as applicable FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-09; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-05; FR-CATEGORYART-006#AC-05; FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-10; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-ART-RENDER-007#TR-07-C01; TR-CLOCK-CONSISTENCY-008#TR-08-C01; TR-CONNECTION-RECOVERY-009#DEC-17; TR-CONNECTION-RECOVERY-009#TR-09-C01; TR-ROOM-CODES-010#DEC-17; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-CATEGORYART-005; TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-HINTPROGRESSION-009; TEST-LIVESCORECARD-010; TEST-AUTHORITATIVEANSWERHANDLING-045; TEST-CONNECTIONRECOVERY-109; TEST-ROOMSYNC-139 documented UI observation; not executed
STATE-ROUND-01 / state word_association_round_flow.svg no hint Visitor/player/observer as applicable FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-09; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-05; FR-CATEGORYART-006#AC-05; FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-10; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-ART-RENDER-007#TR-07-C01; TR-CLOCK-CONSISTENCY-008#TR-08-C01; TR-CONNECTION-RECOVERY-009#DEC-17; TR-CONNECTION-RECOVERY-009#TR-09-C01; TR-ROOM-CODES-010#DEC-17; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-CATEGORYART-005; TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-HINTPROGRESSION-009; TEST-LIVESCORECARD-010; TEST-AUTHORITATIVEANSWERHANDLING-045; TEST-CONNECTIONRECOVERY-109; TEST-ROOMSYNC-139 documented UI observation; not executed
STATE-ROUND-02 / state word_association_round_flow.svg hints1..3 Visitor/player/observer as applicable FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-09; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-05; FR-CATEGORYART-006#AC-05; FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-10; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-ART-RENDER-007#TR-07-C01; TR-CLOCK-CONSISTENCY-008#TR-08-C01; TR-CONNECTION-RECOVERY-009#DEC-17; TR-CONNECTION-RECOVERY-009#TR-09-C01; TR-ROOM-CODES-010#DEC-17; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-CATEGORYART-005; TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-HINTPROGRESSION-009; TEST-LIVESCORECARD-010; TEST-AUTHORITATIVEANSWERHANDLING-045; TEST-CONNECTIONRECOVERY-109; TEST-ROOMSYNC-139 documented UI observation; not executed
STATE-ROUND-03 / state word_association_round_flow.svg submitted Visitor/player/observer as applicable FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-09; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-05; FR-CATEGORYART-006#AC-05; FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-10; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-ART-RENDER-007#TR-07-C01; TR-CLOCK-CONSISTENCY-008#TR-08-C01; TR-CONNECTION-RECOVERY-009#DEC-17; TR-CONNECTION-RECOVERY-009#TR-09-C01; TR-ROOM-CODES-010#DEC-17; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-CATEGORYART-005; TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-HINTPROGRESSION-009; TEST-LIVESCORECARD-010; TEST-AUTHORITATIVEANSWERHANDLING-045; TEST-CONNECTIONRECOVERY-109; TEST-ROOMSYNC-139 documented UI observation; not executed
STATE-ROUND-04 / state word_association_round_flow.svg solved Visitor/player/observer as applicable FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-09; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-05; FR-CATEGORYART-006#AC-05; FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-10; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-ART-RENDER-007#TR-07-C01; TR-CLOCK-CONSISTENCY-008#TR-08-C01; TR-CONNECTION-RECOVERY-009#DEC-17; TR-CONNECTION-RECOVERY-009#TR-09-C01; TR-ROOM-CODES-010#DEC-17; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-CATEGORYART-005; TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-HINTPROGRESSION-009; TEST-LIVESCORECARD-010; TEST-AUTHORITATIVEANSWERHANDLING-045; TEST-CONNECTIONRECOVERY-109; TEST-ROOMSYNC-139 documented UI observation; not executed
STATE-ROUND-05 / state word_association_round_flow.svg unsolved Visitor/player/observer as applicable FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-09; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-05; FR-CATEGORYART-006#AC-05; FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-10; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-ART-RENDER-007#TR-07-C01; TR-CLOCK-CONSISTENCY-008#TR-08-C01; TR-CONNECTION-RECOVERY-009#DEC-17; TR-CONNECTION-RECOVERY-009#TR-09-C01; TR-ROOM-CODES-010#DEC-17; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-CATEGORYART-005; TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-HINTPROGRESSION-009; TEST-LIVESCORECARD-010; TEST-AUTHORITATIVEANSWERHANDLING-045; TEST-CONNECTIONRECOVERY-109; TEST-ROOMSYNC-139 documented UI observation; not executed
STATE-ROUND-06 / state word_association_round_flow.svg recovering Visitor/player/observer as applicable FR-ANSWERREVEAL-012#AC-45; FR-ANSWERSTAGES-008#AC-06; FR-ANSWERSTAGES-008#AC-07; FR-ANSWERSTAGES-008#AC-09; FR-ANSWERSTAGES-008#AC-45; FR-CATEGORIES-005#AC-05; FR-CATEGORYART-006#AC-05; FR-LIVESCORECARD-011#AC-10; FR-SCORELOCK-010#AC-06; FR-SCORELOCK-010#AC-07; FR-SCORELOCK-010#AC-10; FR-SCORELOCK-010#AC-45; FR-SCORING-009#AC-06; FR-SCORING-009#AC-07; TR-ANSWER-CONFIDENTIALITY-005#TR-05-C01; TR-ANSWER-VALIDATION-004#DEC-03; TR-ART-RENDER-007#TR-07-C01; TR-CLOCK-CONSISTENCY-008#TR-08-C01; TR-CONNECTION-RECOVERY-009#DEC-17; TR-CONNECTION-RECOVERY-009#TR-09-C01; TR-ROOM-CODES-010#DEC-17; TR-ROOM-SYNCRECOVERY-038#LIVE-02; TR-ROOM-SYNCRECOVERY-038#LIVE-03; TR-ROOM-SYNCRECOVERY-038#LIVE-07 TEST-CATEGORYART-005; TEST-NOHINTSOLVE-006; TEST-HINTSCORING-007; TEST-HINTPROGRESSION-009; TEST-LIVESCORECARD-010; TEST-AUTHORITATIVEANSWERHANDLING-045; TEST-CONNECTIONRECOVERY-109; TEST-ROOMSYNC-139 documented UI observation; not executed
SCREEN-OBSERVER / screen word_association_room_creation.svg Inviter perspective Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-30; FR-LOBBYLIFECYCLE-003#AC-27; FR-LOBBYLIFECYCLE-003#AC-30; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#AC-28; FR-OBSERVERS-020#AC-30; FR-OBSERVERS-020#DEC-13; TR-OBSERVER-PERMISSIONS-018#TR-18-C01 TEST-FULLROOMOBSERVER-027; TEST-OBSERVERPERSPECTIVEANDPERMISSIONS-028; TEST-PRECOUNTDOWNOBSERVERPROMOTION-030 documented UI observation; not executed
STATE-OBSERVER-01 / state word_association_room_creation.svg following Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-30; FR-LOBBYLIFECYCLE-003#AC-27; FR-LOBBYLIFECYCLE-003#AC-30; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#AC-28; FR-OBSERVERS-020#AC-30; FR-OBSERVERS-020#DEC-13; TR-OBSERVER-PERMISSIONS-018#TR-18-C01 TEST-FULLROOMOBSERVER-027; TEST-OBSERVERPERSPECTIVEANDPERMISSIONS-028; TEST-PRECOUNTDOWNOBSERVERPROMOTION-030 documented UI observation; not executed
STATE-OBSERVER-02 / state word_association_room_creation.svg promoted Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-30; FR-LOBBYLIFECYCLE-003#AC-27; FR-LOBBYLIFECYCLE-003#AC-30; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#AC-28; FR-OBSERVERS-020#AC-30; FR-OBSERVERS-020#DEC-13; TR-OBSERVER-PERMISSIONS-018#TR-18-C01 TEST-FULLROOMOBSERVER-027; TEST-OBSERVERPERSPECTIVEANDPERMISSIONS-028; TEST-PRECOUNTDOWNOBSERVERPROMOTION-030 documented UI observation; not executed
STATE-OBSERVER-03 / state word_association_room_creation.svg read-only Visitor/player/observer as applicable FR-LOBBYDISCOVERY-019#AC-30; FR-LOBBYLIFECYCLE-003#AC-27; FR-LOBBYLIFECYCLE-003#AC-30; FR-OBSERVERS-020#AC-27; FR-OBSERVERS-020#AC-28; FR-OBSERVERS-020#AC-30; FR-OBSERVERS-020#DEC-13; TR-OBSERVER-PERMISSIONS-018#TR-18-C01 TEST-FULLROOMOBSERVER-027; TEST-OBSERVERPERSPECTIVEANDPERMISSIONS-028; TEST-PRECOUNTDOWNOBSERVERPROMOTION-030 documented UI observation; not executed
SCREEN-SUMMARY / screen word_association_round_flow.svg Round reveal/summary Visitor/player/observer as applicable FR-ANCHORSELECTION-007#AC-11; FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-08; FR-ROUNDSUMMARY-013#AC-12; FR-SCORING-009#AC-08 TEST-UNSOLVEDRESULT-008; TEST-CATEGORYCHOICE-011; TEST-ROUNDSUMMARY-012 documented UI observation; not executed
STATE-SUMMARY-01 / state word_association_round_flow.svg solved Visitor/player/observer as applicable FR-ANCHORSELECTION-007#AC-11; FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-08; FR-ROUNDSUMMARY-013#AC-12; FR-SCORING-009#AC-08 TEST-UNSOLVEDRESULT-008; TEST-CATEGORYCHOICE-011; TEST-ROUNDSUMMARY-012 documented UI observation; not executed
STATE-SUMMARY-02 / state word_association_round_flow.svg unsolved Visitor/player/observer as applicable FR-ANCHORSELECTION-007#AC-11; FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-08; FR-ROUNDSUMMARY-013#AC-12; FR-SCORING-009#AC-08 TEST-UNSOLVEDRESULT-008; TEST-CATEGORYCHOICE-011; TEST-ROUNDSUMMARY-012 documented UI observation; not executed
STATE-SUMMARY-03 / state word_association_round_flow.svg next round Visitor/player/observer as applicable FR-ANCHORSELECTION-007#AC-11; FR-ANSWERREVEAL-012#AC-08; FR-ANSWERSTAGES-008#AC-08; FR-ROUNDSUMMARY-013#AC-12; FR-SCORING-009#AC-08 TEST-UNSOLVEDRESULT-008; TEST-CATEGORYCHOICE-011; TEST-ROUNDSUMMARY-012 documented UI observation; not executed
SCREEN-FINAL / screen word_association_round_flow.svg Final standings Visitor/player/observer as applicable FR-ANSWERSTAGES-008#DEC-01; FR-FINALSTANDINGS-014#AC-13; FR-FINALSTANDINGS-014#AC-14; FR-FINALSTANDINGS-014#DEC-01; FR-FINALSTANDINGS-014#DEC-04; FR-SCORELOCK-010#AC-14; FR-SCORING-009#AC-14 TEST-FINALSTANDINGS-013; TEST-TIMETIEBREAK-014 documented UI observation; not executed
STATE-FINAL-01 / state word_association_round_flow.svg distinct scores Visitor/player/observer as applicable FR-ANSWERSTAGES-008#DEC-01; FR-FINALSTANDINGS-014#AC-13; FR-FINALSTANDINGS-014#AC-14; FR-FINALSTANDINGS-014#DEC-01; FR-FINALSTANDINGS-014#DEC-04; FR-SCORELOCK-010#AC-14; FR-SCORING-009#AC-14 TEST-FINALSTANDINGS-013; TEST-TIMETIEBREAK-014 documented UI observation; not executed
STATE-FINAL-02 / state word_association_round_flow.svg time tie Visitor/player/observer as applicable FR-ANSWERSTAGES-008#DEC-01; FR-FINALSTANDINGS-014#AC-13; FR-FINALSTANDINGS-014#AC-14; FR-FINALSTANDINGS-014#DEC-01; FR-FINALSTANDINGS-014#DEC-04; FR-SCORELOCK-010#AC-14; FR-SCORING-009#AC-14 TEST-FINALSTANDINGS-013; TEST-TIMETIEBREAK-014 documented UI observation; not executed
STATE-FINAL-03 / state word_association_round_flow.svg exact tie Visitor/player/observer as applicable FR-ANSWERSTAGES-008#DEC-01; FR-FINALSTANDINGS-014#AC-13; FR-FINALSTANDINGS-014#AC-14; FR-FINALSTANDINGS-014#DEC-01; FR-FINALSTANDINGS-014#DEC-04; FR-SCORELOCK-010#AC-14; FR-SCORING-009#AC-14 TEST-FINALSTANDINGS-013; TEST-TIMETIEBREAK-014 documented UI observation; not executed
SCREEN-NOMINATION / screen word_association_nomination_flow.svg Candidate nomination/review Visitor/player/observer as applicable FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-17; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONELIGIBILITY-017; TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
STATE-NOMINATION-01 / state word_association_nomination_flow.svg eligible Visitor/player/observer as applicable FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-17; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONELIGIBILITY-017; TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
STATE-NOMINATION-02 / state word_association_nomination_flow.svg ineligible Visitor/player/observer as applicable FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-17; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONELIGIBILITY-017; TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
STATE-NOMINATION-03 / state word_association_nomination_flow.svg below threshold Visitor/player/observer as applicable FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-17; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONELIGIBILITY-017; TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
STATE-NOMINATION-04 / state word_association_nomination_flow.svg pending Visitor/player/observer as applicable FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-17; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONELIGIBILITY-017; TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
STATE-NOMINATION-05 / state word_association_nomination_flow.svg approved Visitor/player/observer as applicable FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-17; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONELIGIBILITY-017; TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
STATE-NOMINATION-06 / state word_association_nomination_flow.svg rejected Visitor/player/observer as applicable FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-NOMINATIONS-016#AC-17; FR-NOMINATIONS-016#AC-18; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-07; FR-NOMINATIONS-016#DEC-08; TR-NOMINATION-MODERATION-014#DEC-07; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08 TEST-NOMINATIONELIGIBILITY-017; TEST-NOMINATIONTHRESHOLDANDMODERATION-018; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-NOMINATIONMODERATION-114 documented UI observation; not executed
SCREEN-SUGGESTION / screen word_association_category_suggestion.svg Category and three-pair suggestion Visitor/player/observer as applicable FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CATEGORYSUGGESTIONS-017#DEC-09; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CONTENTVALIDATION-016; TEST-CATEGORYSUGGESTIONUNLOCK-019; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
STATE-SUGGESTION-01 / state word_association_category_suggestion.svg locked Visitor/player/observer as applicable FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CATEGORYSUGGESTIONS-017#DEC-09; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CONTENTVALIDATION-016; TEST-CATEGORYSUGGESTIONUNLOCK-019; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
STATE-SUGGESTION-02 / state word_association_category_suggestion.svg unlocked Visitor/player/observer as applicable FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CATEGORYSUGGESTIONS-017#DEC-09; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CONTENTVALIDATION-016; TEST-CATEGORYSUGGESTIONUNLOCK-019; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
STATE-SUGGESTION-03 / state word_association_category_suggestion.svg open Visitor/player/observer as applicable FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CATEGORYSUGGESTIONS-017#DEC-09; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CONTENTVALIDATION-016; TEST-CATEGORYSUGGESTIONUNLOCK-019; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
STATE-SUGGESTION-04 / state word_association_category_suggestion.svg review Visitor/player/observer as applicable FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CATEGORYSUGGESTIONS-017#DEC-09; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CONTENTVALIDATION-016; TEST-CATEGORYSUGGESTIONUNLOCK-019; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
STATE-SUGGESTION-05 / state word_association_category_suggestion.svg approved Visitor/player/observer as applicable FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CATEGORYSUGGESTIONS-017#DEC-09; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CONTENTVALIDATION-016; TEST-CATEGORYSUGGESTIONUNLOCK-019; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
STATE-SUGGESTION-06 / state word_association_category_suggestion.svg rejected Visitor/player/observer as applicable FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CATEGORYSUGGESTIONS-017#AC-19; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-CATEGORYSUGGESTIONS-017#DEC-08; FR-CATEGORYSUGGESTIONS-017#DEC-09; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-NOMINATIONS-016#AC-47; FR-NOMINATIONS-016#DEC-08; TR-CATALOG-INTEGRITY-006#TR-06-C01; TR-NOMINATION-MODERATION-014#DEC-08; TR-SUGGESTION-REVIEW-015#DEC-08; TR-SUGGESTION-REVIEW-015#TR-15-C01 TEST-CONTENTVALIDATION-016; TEST-CATEGORYSUGGESTIONUNLOCK-019; TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-SUGGESTIONREVIEW-115 documented UI observation; not executed
SCREEN-ADMIN / screen admin_acl_design.md Moderation administration Staff by permissions FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-NOMINATIONS-016#AC-47 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-ADMINUI-136 documented UI observation; not executed
STATE-ADMIN-01 / state admin_acl_design.md player-denied Staff by permissions FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-NOMINATIONS-016#AC-47 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-ADMINUI-136 documented UI observation; not executed
STATE-ADMIN-02 / state admin_acl_design.md pending Staff by permissions FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-NOMINATIONS-016#AC-47 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-ADMINUI-136 documented UI observation; not executed
STATE-ADMIN-03 / state admin_acl_design.md appealed Staff by permissions FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-NOMINATIONS-016#AC-47 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-ADMINUI-136 documented UI observation; not executed
STATE-ADMIN-04 / state admin_acl_design.md approved Staff by permissions FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-NOMINATIONS-016#AC-47 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-ADMINUI-136 documented UI observation; not executed
STATE-ADMIN-05 / state admin_acl_design.md completed Staff by permissions FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04; FR-CATEGORYSUGGESTIONS-017#AC-47; FR-NOMINATIONS-016#AC-47 TEST-MODERATIONANDCATALOGBOUNDARY-047; TEST-ADMINUI-136 documented UI observation; not executed
SCREEN-WORDS / screen admin_acl_design.md Word/hint editor Staff by permissions FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-WORDHINTEDITOR-025#FR-25-C01; FR-WORDHINTEDITOR-025#FR-25-C02; FR-WORDHINTEDITOR-025#FR-25-C03; FR-WORDHINTEDITOR-025#FR-25-C04; TR-CATALOG-INTEGRITY-006#TR-06-C01 TEST-CONTENTVALIDATION-016; TEST-CATALOGVERSIONING-133; TEST-ADMINUI-136 documented UI observation; not executed
STATE-WORDS-01 / state admin_acl_design.md new Staff by permissions FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-WORDHINTEDITOR-025#FR-25-C01; FR-WORDHINTEDITOR-025#FR-25-C02; FR-WORDHINTEDITOR-025#FR-25-C03; FR-WORDHINTEDITOR-025#FR-25-C04; TR-CATALOG-INTEGRITY-006#TR-06-C01 TEST-CONTENTVALIDATION-016; TEST-CATALOGVERSIONING-133; TEST-ADMINUI-136 documented UI observation; not executed
STATE-WORDS-02 / state admin_acl_design.md edit Staff by permissions FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-WORDHINTEDITOR-025#FR-25-C01; FR-WORDHINTEDITOR-025#FR-25-C02; FR-WORDHINTEDITOR-025#FR-25-C03; FR-WORDHINTEDITOR-025#FR-25-C04; TR-CATALOG-INTEGRITY-006#TR-06-C01 TEST-CONTENTVALIDATION-016; TEST-CATALOGVERSIONING-133; TEST-ADMINUI-136 documented UI observation; not executed
STATE-WORDS-03 / state admin_acl_design.md invalid Staff by permissions FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-WORDHINTEDITOR-025#FR-25-C01; FR-WORDHINTEDITOR-025#FR-25-C02; FR-WORDHINTEDITOR-025#FR-25-C03; FR-WORDHINTEDITOR-025#FR-25-C04; TR-CATALOG-INTEGRITY-006#TR-06-C01 TEST-CONTENTVALIDATION-016; TEST-CATALOGVERSIONING-133; TEST-ADMINUI-136 documented UI observation; not executed
STATE-WORDS-04 / state admin_acl_design.md excluded Staff by permissions FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-WORDHINTEDITOR-025#FR-25-C01; FR-WORDHINTEDITOR-025#FR-25-C02; FR-WORDHINTEDITOR-025#FR-25-C03; FR-WORDHINTEDITOR-025#FR-25-C04; TR-CATALOG-INTEGRITY-006#TR-06-C01 TEST-CONTENTVALIDATION-016; TEST-CATALOGVERSIONING-133; TEST-ADMINUI-136 documented UI observation; not executed
STATE-WORDS-05 / state admin_acl_design.md ceiling Staff by permissions FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04; FR-CATEGORIES-005#AC-16; FR-CATEGORIES-005#DEC-06; FR-CURATEDPAIRS-004#AC-16; FR-CURATEDPAIRS-004#DEC-05; FR-WORDHINTEDITOR-025#FR-25-C01; FR-WORDHINTEDITOR-025#FR-25-C02; FR-WORDHINTEDITOR-025#FR-25-C03; FR-WORDHINTEDITOR-025#FR-25-C04; TR-CATALOG-INTEGRITY-006#TR-06-C01 TEST-CONTENTVALIDATION-016; TEST-CATALOGVERSIONING-133; TEST-ADMINUI-136 documented UI observation; not executed
SCREEN-USERS / screen admin_acl_design.md Role administration Staff by permissions FR-ACCESSCONTROL-024#FR-24-C01; FR-ACCESSCONTROL-024#FR-24-C02; FR-ACCESSCONTROL-024#FR-24-C03; FR-ACCESSCONTROL-024#FR-24-C04; FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04 TEST-ACLAUTHORIZATION-132; TEST-ADMINUI-136 documented UI observation; not executed
STATE-USERS-01 / state admin_acl_design.md search Staff by permissions FR-ACCESSCONTROL-024#FR-24-C01; FR-ACCESSCONTROL-024#FR-24-C02; FR-ACCESSCONTROL-024#FR-24-C03; FR-ACCESSCONTROL-024#FR-24-C04; FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04 TEST-ACLAUTHORIZATION-132; TEST-ADMINUI-136 documented UI observation; not executed
STATE-USERS-02 / state admin_acl_design.md grant Staff by permissions FR-ACCESSCONTROL-024#FR-24-C01; FR-ACCESSCONTROL-024#FR-24-C02; FR-ACCESSCONTROL-024#FR-24-C03; FR-ACCESSCONTROL-024#FR-24-C04; FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04 TEST-ACLAUTHORIZATION-132; TEST-ADMINUI-136 documented UI observation; not executed
STATE-USERS-03 / state admin_acl_design.md revoke Staff by permissions FR-ACCESSCONTROL-024#FR-24-C01; FR-ACCESSCONTROL-024#FR-24-C02; FR-ACCESSCONTROL-024#FR-24-C03; FR-ACCESSCONTROL-024#FR-24-C04; FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04 TEST-ACLAUTHORIZATION-132; TEST-ADMINUI-136 documented UI observation; not executed
STATE-USERS-04 / state admin_acl_design.md configured Staff by permissions FR-ACCESSCONTROL-024#FR-24-C01; FR-ACCESSCONTROL-024#FR-24-C02; FR-ACCESSCONTROL-024#FR-24-C03; FR-ACCESSCONTROL-024#FR-24-C04; FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04 TEST-ACLAUTHORIZATION-132; TEST-ADMINUI-136 documented UI observation; not executed
STATE-USERS-05 / state admin_acl_design.md final-admin protected Staff by permissions FR-ACCESSCONTROL-024#FR-24-C01; FR-ACCESSCONTROL-024#FR-24-C02; FR-ACCESSCONTROL-024#FR-24-C03; FR-ACCESSCONTROL-024#FR-24-C04; FR-ADMINPAGES-023#FR-23-C01; FR-ADMINPAGES-023#FR-23-C02; FR-ADMINPAGES-023#FR-23-C03; FR-ADMINPAGES-023#FR-23-C04 TEST-ACLAUTHORIZATION-132; TEST-ADMINUI-136 documented UI observation; not executed
SCREEN-INSTALL / screen pwa_design.md Install guidance Visitor/player/observer as applicable FR-PHONEINSTALL-026#PWA-01; FR-PHONEINSTALL-026#PWA-02; FR-PHONEINSTALL-026#PWA-03; FR-PHONEINSTALL-026#PWA-04; FR-PHONEINSTALL-026#PWA-05; TR-PWA-INSTALLATION-036#PWA-01; TR-PWA-INSTALLATION-036#PWA-02; TR-PWA-INSTALLATION-036#PWA-03; TR-PWA-INSTALLATION-036#PWA-04; TR-PWA-INSTALLATION-036#PWA-05 TEST-PWAINSTALL-137 documented UI observation; not executed
STATE-INSTALL-01 / state pwa_design.md native Visitor/player/observer as applicable FR-PHONEINSTALL-026#PWA-01; FR-PHONEINSTALL-026#PWA-02; FR-PHONEINSTALL-026#PWA-03; FR-PHONEINSTALL-026#PWA-04; FR-PHONEINSTALL-026#PWA-05; TR-PWA-INSTALLATION-036#PWA-01; TR-PWA-INSTALLATION-036#PWA-02; TR-PWA-INSTALLATION-036#PWA-03; TR-PWA-INSTALLATION-036#PWA-04; TR-PWA-INSTALLATION-036#PWA-05 TEST-PWAINSTALL-137 documented UI observation; not executed
STATE-INSTALL-02 / state pwa_design.md manual Visitor/player/observer as applicable FR-PHONEINSTALL-026#PWA-01; FR-PHONEINSTALL-026#PWA-02; FR-PHONEINSTALL-026#PWA-03; FR-PHONEINSTALL-026#PWA-04; FR-PHONEINSTALL-026#PWA-05; TR-PWA-INSTALLATION-036#PWA-01; TR-PWA-INSTALLATION-036#PWA-02; TR-PWA-INSTALLATION-036#PWA-03; TR-PWA-INSTALLATION-036#PWA-04; TR-PWA-INSTALLATION-036#PWA-05 TEST-PWAINSTALL-137 documented UI observation; not executed
STATE-INSTALL-03 / state pwa_design.md dismissed Visitor/player/observer as applicable FR-PHONEINSTALL-026#PWA-01; FR-PHONEINSTALL-026#PWA-02; FR-PHONEINSTALL-026#PWA-03; FR-PHONEINSTALL-026#PWA-04; FR-PHONEINSTALL-026#PWA-05; TR-PWA-INSTALLATION-036#PWA-01; TR-PWA-INSTALLATION-036#PWA-02; TR-PWA-INSTALLATION-036#PWA-03; TR-PWA-INSTALLATION-036#PWA-04; TR-PWA-INSTALLATION-036#PWA-05 TEST-PWAINSTALL-137 documented UI observation; not executed
STATE-INSTALL-04 / state pwa_design.md rejected Visitor/player/observer as applicable FR-PHONEINSTALL-026#PWA-01; FR-PHONEINSTALL-026#PWA-02; FR-PHONEINSTALL-026#PWA-03; FR-PHONEINSTALL-026#PWA-04; FR-PHONEINSTALL-026#PWA-05; TR-PWA-INSTALLATION-036#PWA-01; TR-PWA-INSTALLATION-036#PWA-02; TR-PWA-INSTALLATION-036#PWA-03; TR-PWA-INSTALLATION-036#PWA-04; TR-PWA-INSTALLATION-036#PWA-05 TEST-PWAINSTALL-137 documented UI observation; not executed
STATE-INSTALL-05 / state pwa_design.md installed Visitor/player/observer as applicable FR-PHONEINSTALL-026#PWA-01; FR-PHONEINSTALL-026#PWA-02; FR-PHONEINSTALL-026#PWA-03; FR-PHONEINSTALL-026#PWA-04; FR-PHONEINSTALL-026#PWA-05; TR-PWA-INSTALLATION-036#PWA-01; TR-PWA-INSTALLATION-036#PWA-02; TR-PWA-INSTALLATION-036#PWA-03; TR-PWA-INSTALLATION-036#PWA-04; TR-PWA-INSTALLATION-036#PWA-05 TEST-PWAINSTALL-137 documented UI observation; not executed
STATE-INSTALL-06 / state pwa_design.md insecure Visitor/player/observer as applicable FR-PHONEINSTALL-026#PWA-01; FR-PHONEINSTALL-026#PWA-02; FR-PHONEINSTALL-026#PWA-03; FR-PHONEINSTALL-026#PWA-04; FR-PHONEINSTALL-026#PWA-05; TR-PWA-INSTALLATION-036#PWA-01; TR-PWA-INSTALLATION-036#PWA-02; TR-PWA-INSTALLATION-036#PWA-03; TR-PWA-INSTALLATION-036#PWA-04; TR-PWA-INSTALLATION-036#PWA-05 TEST-PWAINSTALL-137 documented UI observation; not executed
SCREEN-OFFLINE / screen pwa_design.md Static offline/reconnect Visitor/player/observer as applicable FR-PHONEINSTALL-026#PWA-06; FR-PHONEINSTALL-026#PWA-07; FR-PHONEINSTALL-026#PWA-08; TR-PWA-CACHEPRIVACY-037#PWA-06; TR-PWA-CACHEPRIVACY-037#PWA-07; TR-PWA-CACHEPRIVACY-037#PWA-08 TEST-PWAPRIVACY-138 documented UI observation; not executed
STATE-OFFLINE-01 / state pwa_design.md offline Visitor/player/observer as applicable FR-PHONEINSTALL-026#PWA-06; FR-PHONEINSTALL-026#PWA-07; FR-PHONEINSTALL-026#PWA-08; TR-PWA-CACHEPRIVACY-037#PWA-06; TR-PWA-CACHEPRIVACY-037#PWA-07; TR-PWA-CACHEPRIVACY-037#PWA-08 TEST-PWAPRIVACY-138 documented UI observation; not executed
STATE-OFFLINE-02 / state pwa_design.md online Visitor/player/observer as applicable FR-PHONEINSTALL-026#PWA-06; FR-PHONEINSTALL-026#PWA-07; FR-PHONEINSTALL-026#PWA-08; TR-PWA-CACHEPRIVACY-037#PWA-06; TR-PWA-CACHEPRIVACY-037#PWA-07; TR-PWA-CACHEPRIVACY-037#PWA-08 TEST-PWAPRIVACY-138 documented UI observation; not executed
STATE-OFFLINE-03 / state pwa_design.md waiting update Visitor/player/observer as applicable FR-PHONEINSTALL-026#PWA-06; FR-PHONEINSTALL-026#PWA-07; FR-PHONEINSTALL-026#PWA-08; TR-PWA-CACHEPRIVACY-037#PWA-06; TR-PWA-CACHEPRIVACY-037#PWA-07; TR-PWA-CACHEPRIVACY-037#PWA-08 TEST-PWAPRIVACY-138 documented UI observation; not executed
SCREEN-SERVICE / screen word_association_game_requirements.md Service-limit recovery Visitor/player/observer as applicable TR-CONNECTION-RECOVERY-009#DEC-17; TR-CONNECTION-RECOVERY-009#TR-09-C01; TR-FREETIER-OPERATION-021#TR-21-C01; TR-ROOM-CODES-010#DEC-17 TEST-FREETIERQUOTAHANDLING-037; TEST-CONNECTIONRECOVERY-109 documented UI observation; not executed
STATE-SERVICE-01 / state word_association_game_requirements.md recoverable quota Visitor/player/observer as applicable TR-CONNECTION-RECOVERY-009#DEC-17; TR-CONNECTION-RECOVERY-009#TR-09-C01; TR-FREETIER-OPERATION-021#TR-21-C01; TR-ROOM-CODES-010#DEC-17 TEST-FREETIERQUOTAHANDLING-037; TEST-CONNECTIONRECOVERY-109 documented UI observation; not executed
STATE-SERVICE-02 / state word_association_game_requirements.md unavailable Visitor/player/observer as applicable TR-CONNECTION-RECOVERY-009#DEC-17; TR-CONNECTION-RECOVERY-009#TR-09-C01; TR-FREETIER-OPERATION-021#TR-21-C01; TR-ROOM-CODES-010#DEC-17 TEST-FREETIERQUOTAHANDLING-037; TEST-CONNECTIONRECOVERY-109 documented UI observation; not executed
GAP-FLOW-REVIEWCHANGES / flow decisions.md Reasoned change request and resubmission Authorized actor as specified in case FR-REVIEWCHANGES-027#UI-CHANGES-01; FR-REVIEWCHANGES-027#UI-CHANGES-02; FR-REVIEWCHANGES-027#UI-CHANGES-03; FR-REVIEWCHANGES-027#UI-CHANGES-04 TEST-REVIEWCHANGES-140 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-REVIEWCHANGES-01 / transition/state decisions.md As Bob request changes with an empty reason, then with Add clearer hints. → Empty reason is rejected; valid request shows changes_requested, the reason and an audit entry. Authorized actor as specified FR-REVIEWCHANGES-027#UI-CHANGES-01; FR-REVIEWCHANGES-027#UI-CHANGES-02; FR-REVIEWCHANGES-027#UI-CHANGES-03; FR-REVIEWCHANGES-027#UI-CHANGES-04 TEST-REVIEWCHANGES-140 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-REVIEWCHANGES-02 / transition/state decisions.md As Alice try a second open category, then revise Space with two pairs and with three pairs. → The second suggestion and two-pair resubmission are rejected; exactly three edited pairs can resubmit. Authorized actor as specified FR-REVIEWCHANGES-027#UI-CHANGES-01; FR-REVIEWCHANGES-027#UI-CHANGES-02; FR-REVIEWCHANGES-027#UI-CHANGES-03; FR-REVIEWCHANGES-027#UI-CHANGES-04 TEST-REVIEWCHANGES-140 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-REVIEWCHANGES-03 / transition/state decisions.md Resubmit and inspect review/playability/history. → Status becomes pending_review; content remains unplayable pending independent approval/complete curation, revision history is retained and rejection-appeal allowance is unused. Authorized actor as specified FR-REVIEWCHANGES-027#UI-CHANGES-01; FR-REVIEWCHANGES-027#UI-CHANGES-02; FR-REVIEWCHANGES-027#UI-CHANGES-03; FR-REVIEWCHANGES-027#UI-CHANGES-04 TEST-REVIEWCHANGES-140 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-FLOW-CANDIDATEHOLD / flow decisions.md Hold and resume a nominated candidate Authorized actor as specified in case FR-CANDIDATEHOLD-028#UI-HOLD-01; FR-CANDIDATEHOLD-028#UI-HOLD-02; FR-CANDIDATEHOLD-028#UI-HOLD-03 TEST-CANDIDATEHOLD-141 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-CANDIDATEHOLD-01 / transition/state decisions.md Attempt hold as Alice, then as Bob without a reason and with Check wording. → Proposer and empty-reason attempts fail; valid hold enters on_hold with actor/reason in history. Authorized actor as specified FR-CANDIDATEHOLD-028#UI-HOLD-01; FR-CANDIDATEHOLD-028#UI-HOLD-02; FR-CANDIDATEHOLD-028#UI-HOLD-03 TEST-CANDIDATEHOLD-141 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-CANDIDATEHOLD-02 / transition/state decisions.md Inspect counts, score and approval/publish controls while held. → Ten nominations and Alice5 persist; held content cannot be approved, published or played. Authorized actor as specified FR-CANDIDATEHOLD-028#UI-HOLD-01; FR-CANDIDATEHOLD-028#UI-HOLD-02; FR-CANDIDATEHOLD-028#UI-HOLD-03 TEST-CANDIDATEHOLD-141 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-CANDIDATEHOLD-03 / transition/state decisions.md Resume as independent Bob with Review can continue. → Threshold is rechecked, status returns to pending_review and both audited decisions remain; resume is not approval. Authorized actor as specified FR-CANDIDATEHOLD-028#UI-HOLD-01; FR-CANDIDATEHOLD-028#UI-HOLD-02; FR-CANDIDATEHOLD-028#UI-HOLD-03 TEST-CANDIDATEHOLD-141 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-FLOW-NAVIGATIONDRAFTS / flow decisions.md Back, Cancel and profile-isolated drafts Authorized actor as specified in case FR-NAVIGATIONDRAFTS-029#UI-NAV-01; FR-NAVIGATIONDRAFTS-029#UI-NAV-02; FR-NAVIGATIONDRAFTS-029#UI-NAV-03; FR-NAVIGATIONDRAFTS-029#UI-NAV-04; FR-NAVIGATIONDRAFTS-029#UI-NAV-05 TEST-NAVIGATIONDRAFTS-142 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-NAVIGATIONDRAFTS-01 / transition/state decisions.md Enter unsaved edits, navigate to another authorized screen and use Back; dismiss a dialog. → The same-profile in-tab content draft returns and focus returns to the dialog opener; no submission, readiness or Leave event occurs. Authorized actor as specified FR-NAVIGATIONDRAFTS-029#UI-NAV-01; FR-NAVIGATIONDRAFTS-029#UI-NAV-02; FR-NAVIGATIONDRAFTS-029#UI-NAV-03; FR-NAVIGATIONDRAFTS-029#UI-NAV-04; FR-NAVIGATIONDRAFTS-029#UI-NAV-05 TEST-NAVIGATIONDRAFTS-142 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-NAVIGATIONDRAFTS-02 / transition/state decisions.md Choose Cancel/Discard on content and profile forms. → Unsaved edits are cleared; saved content and Oak/owl remain unchanged; originating screen is shown. Authorized actor as specified FR-NAVIGATIONDRAFTS-029#UI-NAV-01; FR-NAVIGATIONDRAFTS-029#UI-NAV-02; FR-NAVIGATIONDRAFTS-029#UI-NAV-03; FR-NAVIGATIONDRAFTS-029#UI-NAV-04; FR-NAVIGATIONDRAFTS-029#UI-NAV-05 TEST-NAVIGATIONDRAFTS-142 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-NAVIGATIONDRAFTS-03 / transition/state decisions.md Repeat with reload, tab close, profile switch and permission revocation in independent fixtures. → Private drafts do not persist or cross identities; denied privileged data cannot return through Back. Authorized actor as specified FR-NAVIGATIONDRAFTS-029#UI-NAV-01; FR-NAVIGATIONDRAFTS-029#UI-NAV-02; FR-NAVIGATIONDRAFTS-029#UI-NAV-03; FR-NAVIGATIONDRAFTS-029#UI-NAV-04; FR-NAVIGATIONDRAFTS-029#UI-NAV-05 TEST-NAVIGATIONDRAFTS-142 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-NAVIGATIONDRAFTS-04 / transition/state decisions.md Choose the explicit Leave room action. → Only this action leaves membership and the existing roster/promotion rules apply. Authorized actor as specified FR-NAVIGATIONDRAFTS-029#UI-NAV-01; FR-NAVIGATIONDRAFTS-029#UI-NAV-02; FR-NAVIGATIONDRAFTS-029#UI-NAV-03; FR-NAVIGATIONDRAFTS-029#UI-NAV-04; FR-NAVIGATIONDRAFTS-029#UI-NAV-05 TEST-NAVIGATIONDRAFTS-142 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-FLOW-REQUESTFEEDBACK / flow decisions.md Loading, empty, failure and canonical retry feedback Authorized actor as specified in case FR-REQUESTFEEDBACK-030#UI-FEEDBACK-01; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-02; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-03; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-04; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-05 TEST-REQUESTFEEDBACK-143 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-REQUESTFEEDBACK-01 / transition/state decisions.md Hold a read pending, then resolve empty and unavailable in separate examples. → Accessible loading feedback changes to distinct empty/allowed-action or unavailable/Retry states without a false success. Authorized actor as specified FR-REQUESTFEEDBACK-030#UI-FEEDBACK-01; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-02; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-03; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-04; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-05 TEST-REQUESTFEEDBACK-143 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-REQUESTFEEDBACK-02 / transition/state decisions.md Hold a form submission pending and attempt another submit; then fail it. → Busy feedback prevents duplicate submission; the safe draft remains and a user-safe error/valid Retry appears. Authorized actor as specified FR-REQUESTFEEDBACK-030#UI-FEEDBACK-01; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-02; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-03; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-04; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-05 TEST-REQUESTFEEDBACK-143 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-REQUESTFEEDBACK-03 / transition/state decisions.md Retry a committed-response-lost C-1, then exercise conflict in another fixture. → The uncertain retry sends identical C-1/payload and displays one committed result; conflict refreshes state without silently replaying a changed command. Authorized actor as specified FR-REQUESTFEEDBACK-030#UI-FEEDBACK-01; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-02; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-03; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-04; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-05 TEST-REQUESTFEEDBACK-143 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-REQUESTFEEDBACK-04 / transition/state decisions.md Deny authorization while an older read is pending, then complete that older read. → Privileged records/drafts clear and the older response cannot restore them; no raw errors or credentials are shown. Authorized actor as specified FR-REQUESTFEEDBACK-030#UI-FEEDBACK-01; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-02; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-03; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-04; FR-REQUESTFEEDBACK-030#UI-FEEDBACK-05 TEST-REQUESTFEEDBACK-143 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-FLOW-ACCESSIBILITYDETAILS / flow decisions.md Contrast, focus, announcements and touch geometry Authorized actor as specified in case TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-01; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-02; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-03; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-04 TEST-ACCESSIBILITYDETAILS-144 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-ACCESSIBILITYDETAILS-01 / transition/state decisions.md Measure text/indicator contrast against the actual adjacent rendered colors. → Normal text meets4.5:1, large text3:1 and essential indicators3:1 under the specified definitions/exceptions. Authorized actor as specified TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-01; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-02; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-03; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-04 TEST-ACCESSIBILITYDETAILS-144 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-ACCESSIBILITYDETAILS-02 / transition/state decisions.md Traverse primary actions using keyboard and inspect accessible names/non-color state. → Focus is visible and ordered; names and labels/shapes identify every primary action and relevant state. Authorized actor as specified TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-01; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-02; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-03; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-04 TEST-ACCESSIBILITYDETAILS-144 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-ACCESSIBILITYDETAILS-03 / transition/state decisions.md Trigger accepted score/stage changes and an error while reading the page. → Assistive announcements convey the changes without unexpectedly stealing focus. Authorized actor as specified TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-01; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-02; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-03; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-04 TEST-ACCESSIBILITYDETAILS-144 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-ACCESSIBILITYDETAILS-04 / transition/state decisions.md Measure the primary touch target geometry. → Each is at least44x44CSSpx under the project rule; no formal compliance result is inferred. Authorized actor as specified TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-01; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-02; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-03; TR-UI-ACCESSIBILITYDETAILS-039#UI-A11Y-04 TEST-ACCESSIBILITYDETAILS-144 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-FLOW-RESPONSIVEMATRIX / flow decisions.md Minimum width, orientation and zoom preservation Authorized actor as specified in case TR-UI-RESPONSIVEMATRIX-040#UI-RESP-01; TR-UI-RESPONSIVEMATRIX-040#UI-RESP-02; TR-UI-RESPONSIVEMATRIX-040#UI-RESP-03 TEST-RESPONSIVEMATRIX-145 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-RESPONSIVEMATRIX-01 / transition/state decisions.md Visit each screen at each specified viewport and enlargement configuration. → Required text, hint, score fields and controls remain reachable without horizontal page scrolling or clipping; zoom is enabled. Authorized actor as specified TR-UI-RESPONSIVEMATRIX-040#UI-RESP-01; TR-UI-RESPONSIVEMATRIX-040#UI-RESP-02; TR-UI-RESPONSIVEMATRIX-040#UI-RESP-03 TEST-RESPONSIVEMATRIX-145 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-RESPONSIVEMATRIX-02 / transition/state decisions.md Rotate portrait/landscape while editing Space and while observing the active round. → Draft and authorized room state remain; stacked score layout retains fields; keyboard/touch actions still work. Authorized actor as specified TR-UI-RESPONSIVEMATRIX-040#UI-RESP-01; TR-UI-RESPONSIVEMATRIX-040#UI-RESP-02; TR-UI-RESPONSIVEMATRIX-040#UI-RESP-03 TEST-RESPONSIVEMATRIX-145 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-FLOW-NOSOLVERFALLBACK / flow decisions.md No solver advances without a human chooser Authorized actor as specified in case FR-ANCHORSELECTION-007#DEC-02; FR-ANSWERREVEAL-012#DEC-02; FR-ANSWERSTAGES-008#DEC-02 TEST-NOSOLVERFALLBACK-146 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-NOSOLVERFALLBACK-01 / transition/state decisions.md Let the authoritative Hint3 deadline end the no-solver round and inspect both clients. → Both see Cold reveal and zero-point summary; neither is falsely shown as first solver. Authorized actor as specified FR-ANCHORSELECTION-007#DEC-02; FR-ANSWERREVEAL-012#DEC-02; FR-ANSWERSTAGES-008#DEC-02 TEST-NOSOLVERFALLBACK-146 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-NOSOLVERFALLBACK-02 / transition/state decisions.md Await the server-selected next category and round projection without choosing as either player. → A category from the configured six appears and round2 starts for both clients without a human-choice dependency. Authorized actor as specified FR-ANCHORSELECTION-007#DEC-02; FR-ANSWERREVEAL-012#DEC-02; FR-ANSWERSTAGES-008#DEC-02 TEST-NOSOLVERFALLBACK-146 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-FLOW-LOBBYMATCHING / flow decisions.md Discovery seat loss returns to refreshed browsing Authorized actor as specified in case FR-LOBBYDISCOVERY-019#AC-23; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-LOBBYMATCHING-117 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-LOBBYMATCHING-01 / transition/state decisions.md Open discovery as Alice, fill the last seat as Bob, then request that seat as Alice. → Alice is not admitted or shown a false success; capacity remains2 and refreshed browsing replaces the stale listing. Authorized actor as specified FR-LOBBYDISCOVERY-019#AC-23; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-LOBBYMATCHING-117 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-LOBBYMATCHING-02 / transition/state decisions.md Repeat by opening a valid direct invitation to the now-full room. → The invitee receives the observer choice rather than a player seat. Authorized actor as specified FR-LOBBYDISCOVERY-019#AC-23; TR-LOBBY-MATCHING-017#TR-17-C01 TEST-LOBBYMATCHING-117 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-FLOW-ROOMCODES / flow decisions.md Invalid and expired room-code recovery Authorized actor as specified in case TR-ROOM-CODES-010#TR-10-C01 TEST-ROOMCODES-110 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-ROOMCODES-01 / transition/state decisions.md Submit invalid/closed codes, then correct to the valid active code. → A safe error permits correction without leaking another active code; the valid code reaches the intended room. Authorized actor as specified TR-ROOM-CODES-010#TR-10-C01 TEST-ROOMCODES-110 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-ROOMCODES-02 / transition/state decisions.md Exceed the documented invalid-attempt window and attempt another code. → Further invalid attempts are rate-limited until the window allows retry; no unauthorized membership or false success occurs. Authorized actor as specified TR-ROOM-CODES-010#TR-10-C01 TEST-ROOMCODES-110 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
GAP-TRANS-REVIEWCHANGES-NONPROPOSER / transition/permission-denied state decisions.md While Space is changes_requested, attempt to edit its pairs and resubmit as another proposer Mallory and as reviewer Bob. → Both non-proposer attempts are denied; Space content, pair count, recorded revision and changes_requested status are unchanged, and no accepted edit/resubmission appears in decision history. Non-proposer Mallory / reviewer Bob FR-REVIEWCHANGES-027#UI-CHANGES-01; FR-REVIEWCHANGES-027#UI-CHANGES-02; FR-REVIEWCHANGES-027#UI-CHANGES-03; FR-REVIEWCHANGES-027#UI-CHANGES-04 TEST-REVIEWCHANGES-140 Specified supplemental gap; matching case executed within implementation-receipt.json scope.
ROOM-NODE-G / invitation copy success, clipboard denial, and creation failure word_association_room_creation.svg; operator request 28 October 2026 Select Copy Invitation Link → copy and display the inviter-bound link, retain it for manual copying on clipboard failure, or report creation failure without a success claim. Room player FR-LOBBYDISCOVERY-019#INVITE-COPY-01; FR-LOBBYDISCOVERY-019#INVITE-COPY-02; FR-LOBBYDISCOVERY-019#INVITE-COPY-03 TEST-ROOMINVITATIONS-025#INVITE-COPY-01; TEST-ROOMINVITATIONS-025#INVITE-COPY-02; TEST-ROOMINVITATIONS-025#INVITE-COPY-03 Criteria pending final suite and independent review; browser cases and mock gate are linked in the case specification.

Clone this wiki locally