Repository navigation
UI Gap Implementation Plan
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.
Historical plan for the inspected UI-DEC snapshot. Preserve its original scope, chronology and evidence. Current rules v2.8 (31 October 2026), guest-only public play and the owner GitHub admin-only PWA are specified in the current release design. The completion plan replaces its former 2 through 25 execution target with every count 2 through 10, 25 observers unchanged and 9 games/54 player participations/432 accepted solves. Public OpenAI registration, public installation and role delegation are inactive, not current execution blockers.
Implements the operator-authorized UI-DEC-01..08 and associated pending QBrain records. Preserve existing uncommitted work, independent authority, immutable catalog versions, command identities and prior evidence. Existing real OIDC/physical-phone prerequisites and the separate full live2..25 execution remain separately reported.
-
Extend content domain/application/strict HTTP transport with reasoned
request-changes, proposer-onlyresubmit, and independent moderatorhold/resume. Keep existingpendingrecords compatible; resubmission/resume usepending_review. Include both pending spellings andchanges_requestedin one-open checks. Held/changes-requested content is never future-eligible/playable; new nominations cannot unhold a case. Record actor, prior/new status, case version and previous/new proposal in the existing atomic audit transition. Reuse transactional repository, fresh roles, version and canonical retry checks. Add a forward migration for the projected status constraint and one-open unique index; no destructive data migration. -
Expose allowed controls, status filters and history through existing community/admin pages. Reason fields are required, resubmission has exactly three pairs and successful/uncertain operations use the existing canonical command mechanism. Forbidden attempts must not mutate content or accepted history.
-
Add memory-only identity-bound draft primitives and a form wrapper for content/editor forms. Use client-side internal navigation so root lifecycle survives ordinary Back/route changes. Preserve safe draft fields and editor selection within the tab; clear on Cancel/Discard, successful save, reload, sign-out/profile switch and authorization loss. Pending writes retain exact command/payload across navigation; deny new or stale-context commands after identity changes. Clear privileged drafts and ignore late reads on denial. No web storage, credentials or cross-profile drafts. Profile edit has explicit Save/Cancel while existing immediate icon controls remain compatible.
Profile controls inside the explicit edit session are draft-only until Save. Cancel makes no preference request and restores the last saved icon/alias; existing immediate controls remain outside that edit session and cannot be undone by Cancel. Test Cancel with a mutation-count assertion.
Draft values and uncertain intents have separate lifecycles. Identify both by profile/session generation and form/resource key. Ordinary navigation retains the exact pending payload/command ID, including a shared in-flight lock; Cancel/Discard is unavailable for an uncertain submission until canonical resolution rather than dropping its ID. A known terminal response retires only the matching intent. A session/profile change or authorization denial invalidates its generation, clears private drafts and detaches old pending state; prior-generation completions cannot restore data, invoke current callbacks, or clear a newer intent. A reauthorized screen reloads authoritative state before accepting a fresh command. Add delayed-completion tests across navigation, identity switch and denial, plus a current-generation uncertain retry with exact payload equality.
-
Make read loading/empty/unavailable states distinct, add safe explicit read retry and persistent canonical mutation retry, guard duplicate synchronous submission, consume bodies and never surface raw exceptions. Keep existing live authority and condition-based synchronization. Add polite score/stage announcements without moving focus; native dialogs/details restore opener focus when closed. Enforce contrast, primary44px targets, min-width0/wrapping, zoom and specified viewport/text-enlargement behavior through the full stylesheet.
-
Author failing domain/application/transport checks before the state-machine repair. Add repeatable browser UI integration through actual React pages plus real domain/application command services; clearly disclose HTTP fixture seams. Exercise both staff/proposer and non-proposer clients, hold/resume counts, unchanged state after denial, idempotent uncertain retries, Back/Cancel/profile/draft isolation, denial/late-response handling, loading/error states, no-solver visible progression and viewport/keyboard/contrast/touch geometry. Add real disposable PostgreSQL regression for new statuses, uniqueness, audit and canonical retry; do not substitute service checks for UI cases.
-
Run affected tests, required edit verification, production build, broader unit/browser regression and disposable SQL checks. Have the existing independent hostile reviewer assess plan and final source/evidence; repair findings. Update QBrain criteria only from matching evidence, retain unverified/blocked clauses explicitly, refresh linked case/docs/exports from readback and record the final review. No commit, push, deployment or public tunnel is implied.
Discovery recovery amendment (independently approved99/99): mark board links with UX-only from=discovery; return only a current authoritative unavailable/non-member result to /?seatLost=1#community. Retain and canonically resolve an uncertain join before redirecting; current members are never bounced because a room fills or counts down. Remount the board at its first page with fresh=1; keep refresh failure visible and retryable. Direct room/code/invitation links retain observation. Regress last-seat winner/loser, accepted-response-lost winner, direct-full observation and invalid/rate-limited code correction.
Review repairs: retain successful scoped results until a current consumer acknowledges them, including private room destinations and saved editor closure after navigation. Bind drafts/intents and component keys to a purpose-separated opaque verified session generation, including a new session for the same profile. Denied mutations invalidate pending read generations for content/admin/game/social/room so old bodies cannot restore private state. Regress actual stage/score/error live-region updates with unchanged focus; the native profile dialog supports Cancel/Escape and restores its opener while pending writes block dismissal.
Implementation discovery amendment: the existing no-solver summary selects a category but has no automatic deadline. Schedule the existing stage job at endedAt + 3000 for a summary with an automatic category. Three seconds is an automatic-advance delay, not a guaranteed minimum display: optional manual Continue remains compatible, and a late worker starts the next round at its current clock time to preserve the full first20-second stage. Validate exact due time, current version and elapsed deadline; keep system:deadline as actual command/audit actor, even when passing an original-roster representative to the existing domain continuation helper. The terminal eighth round schedules no further job. A catalog revision race on a system deadline returns retryable TEMPORARY_UNAVAILABLE, while obsolete aggregate versions retain terminal CONFLICT. Add early/exact/late timing, both manual/deadline orders, duplicate delivery/no ninth round and a real disposable SQL paused-catalog-read/revision-update regression proving eventual retry advancement.
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