Skip to content

docs(ui): capture Crew organizer coverage - #630

Merged
zacjones93 merged 27 commits into
codex/ui-field-primitivesfrom
codex/ui-crew-organizer-coverage
Jul 15, 2026
Merged

docs(ui): capture Crew organizer coverage#630
zacjones93 merged 27 commits into
codex/ui-field-primitivesfrom
codex/ui-crew-organizer-coverage

Conversation

@zacjones93

@zacjones93 zacjones93 commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

What changed

  • records authenticated Crew organizer coverage for 12 routes at desktop and mobile light viewports
  • adds scrubbed accessibility, DOM/overflow, console, and network evidence for all 24 scenarios, plus 12 representative screenshots
  • updates the page coverage plan and generated ledgers to 166 verified, 26 blocked, and 147 pending scenarios
  • documents the audit findings and shared-pattern dispositions in the UI library LAT material

Why

This establishes reproducible organizer-flow evidence on top of the shared field primitives before broader UI extraction work. It also records three concrete mobile overflow findings without changing application behavior in this slice.

Validation

  • exact lower revision: e7ba19fa32e0c95b49793e4afbfcf2cbe302fdd7
  • 24/24 browser captures completed with no page, console, or HTTP >=400 errors
  • 108/108 artifact hashes valid; 12 screenshots; no orphaned or privacy-sensitive evidence
  • pnpm check:page-coverage
  • focused page coverage tests: 29/29
  • Crew and Wodsmith Start type-checks
  • pre-push repository lint and full type-check
  • lat check

The full Crew suite remains baseline-red at this exact head: 170/173 files and 3158/3160 tests pass. Existing failures are two missing component import suites and two stale event-import label assertions; the XLSX decompression-cap suite passes 21/21. None touch this documentation/evidence-only diff.


Summary by cubic

Adds reproducible evidence for the Crew organizer, admin, and token/series flows across desktop and mobile; all captures are clean. Introduces shared @repo/ui/empty-state and @repo/ui/metric patterns to standardize organizer UIs and improve responsive behavior and semantics.

  • New Features

    • Captures 24 organizer scenarios (12 routes × 2 viewports) with a manifest and artifacts, plus new admin and token/series slices with crew-*-coverage-audit.md.
    • Adds @repo/ui/empty-state and @repo/ui/metric, adopts them across Crew and Start, and adds Storybook stories for both.
    • Composes accessible field groupings in registration, scaling, and judge rotation editors.
  • Bug Fixes

    • Contains the mobile global navigation in __root and adds Playwright checks for responsive headers.
    • Improves accessibility and semantics: token route landmarks, admin heading hierarchy and link states, organizer panels, and results/check‑in panels.
    • Seeds the demo event date window using the event’s timezone and adds tests to cover DST and UTC-boundary cases.

Written for commit d6316c1. Summary will update on new commits.

Review in cubic

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@zacjones93, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 31 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: bb74cfd1-934a-41f8-a5d7-eae99d877050

📥 Commits

Reviewing files that changed from the base of the PR and between e7ba19f and 1aecf06.

⛔ Files ignored due to path filters (12)
  • docs/ui-library/evidence/crew-organizer/2026-07-10/day-of-organizer-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/crew-organizer/2026-07-10/day-of-organizer-mobile-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-new-organizer-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-new-organizer-mobile-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-organizer-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-organizer-mobile-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/crew-organizer/2026-07-10/exports-organizer-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/crew-organizer/2026-07-10/overview-organizer-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/crew-organizer/2026-07-10/overview-organizer-mobile-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/crew-organizer/2026-07-10/setup-organizer-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/crew-organizer/2026-07-10/volunteers-organizer-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/crew-organizer/2026-07-10/volunteers-organizer-mobile-light.png is excluded by !**/*.png
📒 Files selected for processing (102)
  • docs/ui-library/crew-organizer-coverage-audit.md
  • docs/ui-library/evidence/crew-organizer/2026-07-10/capture-manifest.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/day-of-organizer-desktop-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/day-of-organizer-desktop-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/day-of-organizer-desktop-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/day-of-organizer-desktop-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/day-of-organizer-mobile-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/day-of-organizer-mobile-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/day-of-organizer-mobile-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/day-of-organizer-mobile-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-new-organizer-desktop-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-new-organizer-desktop-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-new-organizer-desktop-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-new-organizer-desktop-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-new-organizer-mobile-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-new-organizer-mobile-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-new-organizer-mobile-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-new-organizer-mobile-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-organizer-desktop-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-organizer-desktop-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-organizer-desktop-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-organizer-desktop-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-organizer-mobile-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-organizer-mobile-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-organizer-mobile-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/events-organizer-mobile-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/exports-organizer-desktop-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/exports-organizer-desktop-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/exports-organizer-desktop-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/exports-organizer-desktop-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/exports-organizer-mobile-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/exports-organizer-mobile-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/exports-organizer-mobile-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/exports-organizer-mobile-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/heats-organizer-desktop-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/heats-organizer-desktop-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/heats-organizer-desktop-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/heats-organizer-desktop-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/heats-organizer-mobile-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/heats-organizer-mobile-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/heats-organizer-mobile-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/heats-organizer-mobile-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/judges-organizer-desktop-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/judges-organizer-desktop-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/judges-organizer-desktop-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/judges-organizer-desktop-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/judges-organizer-mobile-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/judges-organizer-mobile-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/judges-organizer-mobile-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/judges-organizer-mobile-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/messages-organizer-desktop-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/messages-organizer-desktop-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/messages-organizer-desktop-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/messages-organizer-desktop-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/messages-organizer-mobile-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/messages-organizer-mobile-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/messages-organizer-mobile-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/messages-organizer-mobile-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/overview-organizer-desktop-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/overview-organizer-desktop-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/overview-organizer-desktop-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/overview-organizer-desktop-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/overview-organizer-mobile-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/overview-organizer-mobile-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/overview-organizer-mobile-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/overview-organizer-mobile-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/setup-organizer-desktop-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/setup-organizer-desktop-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/setup-organizer-desktop-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/setup-organizer-desktop-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/setup-organizer-mobile-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/setup-organizer-mobile-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/setup-organizer-mobile-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/setup-organizer-mobile-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/shifts-organizer-desktop-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/shifts-organizer-desktop-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/shifts-organizer-desktop-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/shifts-organizer-desktop-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/shifts-organizer-mobile-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/shifts-organizer-mobile-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/shifts-organizer-mobile-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/shifts-organizer-mobile-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/staffing-organizer-desktop-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/staffing-organizer-desktop-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/staffing-organizer-desktop-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/staffing-organizer-desktop-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/staffing-organizer-mobile-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/staffing-organizer-mobile-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/staffing-organizer-mobile-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/staffing-organizer-mobile-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/volunteers-organizer-desktop-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/volunteers-organizer-desktop-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/volunteers-organizer-desktop-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/volunteers-organizer-desktop-light.network.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/volunteers-organizer-mobile-light.a11y.txt
  • docs/ui-library/evidence/crew-organizer/2026-07-10/volunteers-organizer-mobile-light.console.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/volunteers-organizer-mobile-light.dom.json
  • docs/ui-library/evidence/crew-organizer/2026-07-10/volunteers-organizer-mobile-light.network.json
  • docs/ui-library/page-coverage-ledger.json
  • docs/ui-library/page-coverage-ledger.md
  • docs/ui-library/page-coverage.plan.json
  • lat.md/ui-library.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/ui-crew-organizer-coverage

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@zacjones93

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@zacjones93

Copy link
Copy Markdown
Contributor Author

Independent exact-head review receipt for 1aecf06a0ce56016e9e7149cb9debf6892775ac7 against base e7ba19fa32e0c95b49793e4afbfcf2cbe302fdd7.

Verdict: LGTM — no blocking findings.

Verified independently:

  • Linear stack is correct: PR head has the requested base as its sole parent, and the raw delta is documentation/evidence-only (114 changed files: 109-file evidence directory plus audit, plan, generated ledgers, and LAT; no application, test, package, or lockfile changes).
  • Manifest has 24 unique captures covering exactly 12 Crew organizer route records × desktop 1440×900 light and mobile 390×844 light. All captures identify exact lower revision e7ba19fa32e0c95b49793e4afbfcf2cbe302fdd7, agent-browser 0.26.0, and local E2E provenance.
  • Fixture/auth claims align with the checked-in Crew seed and E2E session route: crew-demo-event/e2e_competition, authenticated as e2e_test_user through /api/e2e/session, with no mutation claimed or evidenced.
  • Requested/final URLs, effective theme, viewport, and DOM final URLs all agree. The exports captures correctly request the bare route and normalize to ?tab=schedule.
  • 108/108 artifact references are unique, present, and SHA256-valid; the evidence directory has exactly 109 files including the manifest; 12 screenshots have the expected dimensions; every artifact is referenced and there are no orphans.
  • Every capture includes a11y, DOM/overflow, console, and network evidence. Console logs contain no errors; network logs contain no status >=400 and expose only method/path/status/resourceType/mimeType.
  • Privacy scrub is clean across non-image artifacts: no credentials, authorization/cookie/header fields, database URLs, bearer/API-key patterns, file:// URLs, or absolute /Users/... paths.
  • The three reported mobile overflows reproduce exactly from DOM snapshots: Events 442 px, New event 442 px, and exports 500 px at a 390 px viewport. The other 21 scenarios correctly record no overflow.
  • Only the 12 intended plan/ledger records changed; all remain route-specific. The audit/LAT pattern inventory preserves domain boundaries while identifying presentation-only candidates.
  • Coverage math is consistent in plan and generated ledgers: 166 verified + 26 blocked + 147 pending = 339 scenarios. All 24 manifest capture IDs and artifact hashes resolve from their plan scenarios.
  • node apps/wodsmith-start/scripts/generate-page-coverage-ledger.mjs --check, focused page-coverage tests (29/29), lat check, and git diff --check pass.
  • I reran the full Crew suite at this exact head: 170/173 files and 3158/3160 tests pass. The two missing-import suites and two stale event-import label assertions are base-present and outside this docs-only delta; the XLSX decompression-cap file passes 21/21. The PR body now accurately records those results.
  • GitHub reports MERGEABLE/CLEAN and every CI/E2E/lint/typecheck/security check is green. The displayed CodeRabbit “pass” is only a rate-limit receipt, not an automated code review; this independent review covers that gap.

Risk is low because the commit changes no executable symbols or runtime flows. GitNexus indexing of this exact worktree completed, but its MCP reader rejected the freshly built DB due a local storage-version mismatch; the exact raw diff and changed-record comparison independently confirm the docs/LAT-only scope.

@zacjones93
zacjones93 merged commit d6316c1 into codex/ui-field-primitives Jul 15, 2026
53 of 144 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant