Repository navigation
UI Gap Decisions
Current amendment persistence: 19-record QBrain readback confirms the current cap10 requirement amendment, stable IDs/native mappings and 28 changed criteria still unsatisfied. Original design provenance, case synchronization receipts, v2.7 before copies and execution history remain retained; current case/export reconciliation and exact-source execution are separate obligations. CAP15-LEGACY retains its historical ID with current10-player text. Documentation does not satisfy criteria or establish a passing game.
Current release amendment: rules v2.8 (31 October 2026) use 2 through 10 players and the separate 25-observer limit. Preserve above-limit legacy membership/results with the compatibility contract in the completion plan. The guest/admin contract makes public OpenAI sign-in, public installation, delegation and public community submissions inactive. Original decisions and evidence below retain their historical source scope; current owner moderation/editor and active guest navigation/recovery remain subject to current QBrain criteria.
27 October 2026. Source authority: operator instructions "Fill gaps" and "The documentation should be kept in sync with reqs." These decisions refine the prior inspected designs; they are new specified requirements, not claims that the original SVGs already contained them. They were initially documented without execution; the subsequent implementation and verification realizes these decisions within the execution receipt boundaries. Historical documentation receipts remain archived.
| Decision | Specified behavior | Canonical records |
|---|---|---|
| UI-DEC-01 Change requests | An independent moderator can request changes to a category suggestion with a nonempty reason. Status is changes_requested, remains one open suggestion, and is not playable. The proposer can edit the category and exactly three pair suggestions, then resubmit to pending_review. Each revision/reason/status change is audited. A change request does not consume the one appeal reserved for a rejection; ordinary independent review is still required after resubmission. |
FR-REVIEWCHANGES-027; TEST-REVIEWCHANGES-140 |
| UI-DEC-02 Candidate hold | An independent content moderator can hold a pending nomination candidate with a reason. Status on_hold retains nominations/history, prevents approval/publication and does not imply rejection. An independent moderator may resume it with a reason to pending_review; the unique-count threshold is rechecked. Hold/resume never changes scores or makes content playable. Decisions and actor/reason are audited; appeals still use the existing rejection/independent-senior policy. |
FR-CANDIDATEHOLD-028; TEST-CANDIDATEHOLD-141 |
| UI-DEC-03 Back and drafts | Browser Back returns to the previous authorized screen; closing a dialog restores focus to its opener. Navigation does not submit forms, change readiness or leave room membership. Unsaved content/editor drafts survive ordinary same-profile in-tab navigation in memory only; they do not survive reload/tab close, session/profile change or permission loss. Explicit Cancel/Discard abandons unsaved edits and returns to the originating screen; saved profile/content values are unchanged. A canceled profile edit restores the last saved icon/alias. Leaving a room requires the explicit Leave action. | FR-NAVIGATIONDRAFTS-029; TEST-NAVIGATIONDRAFTS-142 |
| UI-DEC-04 Loading, errors, retry | Reads expose an accessible loading state while keeping the page usable; absence of records is an explicit empty state with an allowed next action. Pending mutations show busy feedback and prevent duplicate submission. Failures retain safe drafts and present a user-safe explanation plus Retry where retry is valid; no raw errors/secrets are shown. An uncertain mutation retries the identical pending command/payload; conflict refreshes authoritative state without silently replaying a changed command. Authorization denial clears privileged data and drafts; late reads cannot restore them. Connection recovery preserves accepted state; no fake success or polling-only live claim. | FR-REQUESTFEEDBACK-030; TEST-REQUESTFEEDBACK-143 |
| UI-DEC-05 Accessible detail | Use WCAG 2.2 AA as a design target, with explicit checks here rather than a formal compliance claim: normal text contrast ≥4.5:1, large text ≥3:1 and essential control/state indicators ≥3:1 against adjacent colors. Keyboard focus is visible and ordered; controls have meaningful accessible names and state labels. Accepted score/stage/error updates are announced without unexpectedly stealing focus. Primary touch targets are at least 44×44 CSS pixels as a project usability requirement (not a claim that WCAG AA requires 44). | TR-UI-ACCESSIBILITYDETAILS-039; TEST-ACCESSIBILITYDETAILS-144 |
| UI-DEC-06 Responsive matrix | Document and verify 320×568, 390×844 and 844×390 CSS-pixel layouts, plus 1280px at 400% zoom (320 CSS-pixel equivalent reflow) and 200% text enlargement. All game/form text and primary controls remain reachable without horizontal page scrolling or clipping; score tables may stack rather than lose fields. Orientation changes preserve safe draft/room state. Browser zoom remains enabled. These are explicit project test configurations, not inferred SVG breakpoints or a claim of full device certification. | TR-UI-RESPONSIVEMATRIX-040; TEST-RESPONSIVEMATRIX-145 |
| UI-DEC-07 No-solver path | The existing approved DEC-02 applies when nobody solves: after Hint 3/deadline show the reveal and zero-point summary; if fewer than eight rounds are complete, the server selects from the six configured categories without a player chooser, and all clients enter the next round. UI cases verify membership and absence of human-choice dependency; uniform distribution remains a separate technical oracle. | FR-ANCHORSELECTION-007#DEC-02; TEST-NOSOLVERFALLBACK-146 |
| UI-DEC-08 Seat-loss and room-code recovery | The discovery seat check is authoritative. A player losing the last seat is returned to refreshed browsing, without over-capacity membership or a false success; a direct valid invitation to a full room offers read-only observation. Invalid/closed room codes show a safe error and allow code correction; after the documented invalid-attempt limit, further attempts wait until the rate window permits retry. Exact active room codes are not leaked. | Existing TEST-LOBBYMATCHING-117 and TEST-ROOMCODES-110, documented UI variants |
The numeric accessibility/reflow reference comes from W3C's contrast minimum, non-text contrast and reflow guidance. These source facts support the thresholds; adopting the project targets is a decision under the operator's instruction to fill gaps.
QBrain remains authoritative. Source notes identify this decision document and the operator instruction. Each behavior has structured parent acceptance criteria, complete TEST notes and native FR-to-TR/TEST mappings. Repository case files and matrices are linked exports of those records. A synchronization receipt verifies readback; no local-only assumption is marked persisted. Existing criteria/evidence/status remain intact; new records and criteria start pending/unsatisfied. Revisions must update the owned notes block, criteria and mapping union together, then refresh the linked documents and verify content hashes/readback before reporting completion.
The original product decisions are resolved. Public OpenAI registration is historical and inactive, not a release dependency. Actual owner GitHub consent and admin-only phone installation/standalone continuity require observed HTTPS evidence. The current full live 2 through 10 UI matrix remains pending fresh exact-source execution; former 2 through 25 results are retained as history. Documentation does not change any test result.
Generated from MCP requirements wiki export.
- Home
- Guest Game and GitHub Admin PWA
- Functional Requirements
- Technical Requirements
- Testing Requirements
- TR per FR Mapping
- Requirements Matrix
- Wordpairs
- Local Development
- Testing and Evidence
- Administration and Access Control
- Requirements Baseline v2.8
- Architecture Decision Record
- Architecture Design
- Architecture Patterns
- Content Moderation
- Deployment and Release Plan
- Acceptance Criteria Gap Analysis
- Acceptance Criteria Test Inventory
- Implementation Plan
- Phase 0 Execution
- Phase 0 Interface and Data Contracts
- Phase 1A Execution
- Phase 1 Execution
- Phase 2 Execution
- Phase 3 Execution
- Phase 4 Execution
- Phase 5 Execution
- Phase 6 Execution
- Optional Phase 6 Human Feedback
- Historical Chromium Crash Diagnosis
- Completed Coding Goal and Review Agreement
- Third Party Attributions
- Software Bill of Materials Contract
- Phone Installation and PWA
- Live Multiplayer Runtime and UI Integration
- UI Test Case Index
- UI Design Coverage
- UI Criterion Gaps
- UI Design Questions
- UI Test Persistence
- TEST-ACCESSIBLEGAMECONTROLS-044 UI Case
- TEST-ACLAUTHORIZATION-132 UI Case
- TEST-ADMINUI-136 UI Case
- TEST-AUTHORITATIVEANSWERHANDLING-045 UI Case
- TEST-BROWSEOPENLOBBIES-022 UI Case
- TEST-CATALOGVERSIONING-133 UI Case
- TEST-CATEGORYART-005 UI Case
- TEST-CATEGORYCHOICE-011 UI Case
- TEST-CATEGORYSUGGESTIONUNLOCK-019 UI Case
- TEST-CONFIGUREDCAPACITY-024 UI Case
- TEST-CONNECTIONRECOVERY-109 UI Case
- TEST-CONTENTVALIDATION-016 UI Case
- TEST-DEEPLINKJOINANDFULLROOM-026 UI Case
- TEST-FINALSTANDINGS-013 UI Case
- TEST-FIRSTCATEGORY-004 UI Case
- TEST-FREETIERQUOTAHANDLING-037 UI Case
- TEST-FULLROOMOBSERVER-027 UI Case
- TEST-GUESTPLAY-021 UI Case
- TEST-HINTPROGRESSION-009 UI Case
- TEST-HINTSCORING-007 UI Case
- TEST-HOLDOUTWARNINGANDREMOVAL-032 UI Case
- TEST-IDLELOBBYREADINESSPROMPT-033 UI Case
- TEST-INROUNDEMOJIREACTION-029 UI Case
- TEST-LANDINGPAGEPUBLICDATA-050 UI Case
- TEST-LIVESCORECARD-010 UI Case
- TEST-MODERATIONANDCATALOGBOUNDARY-047 UI Case
- TEST-NOHINTSOLVE-006 UI Case
- TEST-NOMINATIONELIGIBILITY-017 UI Case
- TEST-NOMINATIONMODERATION-114 UI Case
- TEST-NOMINATIONTHRESHOLDANDMODERATION-018 UI Case
- TEST-OBSERVERPERSPECTIVEANDPERMISSIONS-028 UI Case
- TEST-OIDCTOKENVALIDATION-046 UI Case
- TEST-OPENAIOIDCPROFILE-020 UI Case
- TEST-ORIENTATION-015 UI Case
- TEST-PLAYERLIMIT-002 UI Case
- TEST-PRECOUNTDOWNOBSERVERPROMOTION-030 UI Case
- TEST-PROFILEICON-003 UI Case
- TEST-PUBLICGAMELANDINGPAGE-043 UI Case
- TEST-PWAINSTALL-137 UI Case
- TEST-PWAPRIVACY-138 UI Case
- TEST-QUICKMATCH-023 UI Case
- TEST-READYCOUNTDOWNANDROSTERLOCK-031 UI Case
- TEST-ROOMINVITATIONS-025 UI Case
- TEST-ROOMJOINING-001 UI Case
- TEST-ROOMSYNC-139 UI Case
- TEST-ROUNDSUMMARY-012 UI Case
- TEST-SUGGESTIONREVIEW-115 UI Case
- TEST-TIMETIEBREAK-014 UI Case
- TEST-UNSOLVEDRESULT-008 UI Case
- UI Gap Decisions and Synchronization
- TEST-ACCESSIBILITYDETAILS-144 UI Case
- TEST-CANDIDATEHOLD-141 UI Case
- TEST-LOBBYMATCHING-117 UI Case
- TEST-NAVIGATIONDRAFTS-142 UI Case
- TEST-NOSOLVERFALLBACK-146 UI Case
- TEST-REQUESTFEEDBACK-143 UI Case
- TEST-RESPONSIVEMATRIX-145 UI Case
- TEST-REVIEWCHANGES-140 UI Case
- TEST-ROOMCODES-110 UI Case
- UI Gap Implementation Plan
- UI Gap Implementation and Evidence
- Contest Readiness
- Hostile Validation Evidence
- Category Artwork
- 10-Player Release Completion Plan
- Deadline Report and Token Accounting
- Deadline Report Supporting Evidence
- Deadline Timeline and Review Finding Analysis
- Stopped Wordpairs Release Handoff