Skip to content

docs(ui): capture protected athlete coverage - #625

Merged
zacjones93 merged 37 commits into
codex/ui-auth-entry-patternfrom
codex/ui-protected-athlete-coverage
Jul 15, 2026
Merged

docs(ui): capture protected athlete coverage#625
zacjones93 merged 37 commits into
codex/ui-auth-entry-patternfrom
codex/ui-protected-athlete-coverage

Conversation

@zacjones93

@zacjones93 zacjones93 commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • capture desktop/light and mobile/dark evidence for 15 protected athlete route records
  • add 33 verified browser scenarios with hash-pinned DOM, accessibility, console, network, redirect, and representative screenshot artifacts
  • record two fixture-truth blockers, reusable UI candidates, route-specific findings, and global ledger totals

Findings

  • settings Profile and Athlete currently render the route error boundary because FormLabel calls useFormField outside FormField
  • dashboard mobile dark has a measured 2px horizontal overflow
  • the required base programming seed exposes the public Girls track, so the two empty-browse scenarios remain blocked rather than fabricated
  • denied workout-tracking access redirects the dashboard to /; child-route guard coverage is documented without overgeneralizing

Verification

  • focused page coverage tests: 29 passed
  • full wodsmith-start tests: 2,935 passed
  • repository pre-push lint and type-check passed
  • ledger freshness passed
  • evidence privacy, hash, uniqueness, missing/orphan checks passed
  • lat check passed
  • git diff --check passed

Provenance

Captured with agent-browser 0.26.0 against parent revision 6df6cfbae0fcab6eb30bb3a5f698f7c1d11dad19, using a disposable MySQL 8.4 container bound only to 127.0.0.1:33317 and a local Vite runtime on 127.0.0.1:3317. Both were removed after verification.


Summary by cubic

Adds verified UI evidence beyond protected athlete routes and introduces shared UI primitives adopted across Start and Crew. Fixes settings error boundaries and mobile nav overflow while tightening accessibility and semantics in organizer and admin panels.

  • New Features

    • Added @repo/ui/field, @repo/ui/empty-state, and @repo/ui/metric with thin app re-exports; adopted in rotation editors, scaling dialogs, import previews, and organizer empty panels; Storybook stories included.
    • Captured Crew admin, organizer, and public token/series evidence (desktop/mobile light) with a11y, console, network, DOM, redirect, and screenshots; artifacts scrubbed; added responsive E2E checks.
  • Bug Fixes

    • Settings Profile/Athlete no longer hit the route error boundary; email and athlete stats render outside form fields; grouped controls use FieldGroup.
    • Crew header nav is labeled and contained at 390px; exports layout avoids overflow; admin dashboard exposes a single H1 with stable link states; series movement heading hierarchy preserved.
    • Demo event dates derive from the event timezone across DST; token routes align accessibility.

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

Review in cubic

Summary by CodeRabbit

  • Documentation
    • Added comprehensive authenticated athlete UI evidence across dashboard, workouts, workout logging, scheduling, programming subscriptions, and settings.
    • Expanded coverage for desktop/mobile and light/dark theme scenarios, including empty, not-found, and error states.
    • Updated coverage plans, ledgers, and audit documentation with verified and blocked scenario results.
    • Recorded accessibility, DOM, console, network, screenshot, and redirect evidence for reviewed pages.

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

This change adds authenticated protected-athlete UI evidence for dashboard, log, programming, settings, and workout routes, then records the scenarios in coverage plans, ledgers, and audit documentation.

Changes

Protected Athlete Evidence

Layer / File(s) Summary
Capture manifest and core route evidence
docs/ui-library/evidence/protected-athlete/2026-07-10/*
Adds capture metadata and accessibility, DOM, console, and network artifacts for dashboard, log, and programming subscription scenarios.
Settings route evidence
docs/ui-library/evidence/protected-athlete/2026-07-10/settings-*
Adds desktop/mobile settings evidence, including appearance, overview, sessions, and error-state captures for athlete and profile routes.
Workout route evidence
docs/ui-library/evidence/protected-athlete/2026-07-10/workout*, docs/ui-library/evidence/protected-athlete/2026-07-10/workouts*
Adds evidence for workout listing, creation, editing, scheduling, detail, search-empty, and not-found scenarios.
Coverage records and audit
docs/ui-library/page-coverage.*, docs/ui-library/protected-athlete-coverage-audit.md, lat.md/ui-library.md
Updates route coverage classifications, scenario evidence, rollups, audit findings, and documentation totals.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Poem

I’m a bunny with captures tucked tight,
Dashboards and workouts all shining bright.
Logs hop through calendars, settings align,
Hashes and routes form a neat little line.
Coverage blooms where the evidence grew—
Hop, hop, review; the trail is all new!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the PR’s main change: capturing protected athlete UI coverage and evidence artifacts.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/ui-protected-athlete-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

Addressed the independent P2 privacy finding in 3ce9ad385: normalized all 4,602 absolute worktree-path occurrences across the 33 network logs to /@fs/<repo>/, then refreshed every affected artifact hash, capture-manifest hash, plan reference, and generated ledger.

Delta verification: privacy scan passed; 33 captures / 145 unique artifacts with zero bad hashes, missing files, or orphans; focused page-coverage tests 29/29; ledger freshness, LAT, diff check, repository lint, and repository type-check all pass.

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

@zacjones93 Thanks for the detailed fix and verification summary. I'll re-review the changes now.

✅ 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 delta review at exact head 3ce9ad38528860cd027415d5a990112940f5d589: no findings.

The sole P2 is resolved. All 33 network logs use stable /@fs/<repo>/..., with zero /Users/, /home/, .codex/worktrees, or branch/worktree-name leaks. Independently recomputed: 33 captures, 145 manifest artifacts, 145 on-disk artifacts, 33 manifest evidence links, and 145 plan artifact links; zero missing/orphan/duplicate refs or capture IDs, bad artifact/manifest/plan hashes, route/scenario link errors, or unmatched captures. Manifest SHA: 9a2dbda7e7a71f38b31d2cf27fead7617c0c9e99572b59f0285d0090bd997c40.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 11

Note

Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.

🟡 Minor comments (22)
docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-mobile-dark.network.json-38-39 (1)

38-39: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Remove absolute local filesystem paths from committed network evidence.

The /Users/zacjones/.codex/worktrees/... paths expose a developer username and local workspace structure. Normalize @fs requests to repository-relative or redacted paths before committing; apply this to all repeated entries in the file.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-mobile-dark.network.json`
around lines 38 - 39, Remove the developer-specific absolute filesystem prefix
from all repeated Vite `@fs` request paths in the recorded network evidence,
replacing it with a repository-relative or consistently redacted path while
preserving the requested file location and valid JSON.
docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-desktop-light.network.json-39-39 (1)

39-39: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Remove host-specific filesystem paths from committed evidence.

The capture includes absolute /Users/zacjones/... paths, exposing a local username/worktree layout and making the artifact machine-specific. Sanitize or normalize all /@fs/Users/... entries before committing the evidence.

Also applies to: 74-74, 95-95

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-desktop-light.network.json`
at line 39, Remove machine-specific absolute filesystem paths from the committed
network evidence, including all `/@fs/Users/...` entries at the referenced
locations. Replace them with a stable sanitized or normalized path that does not
expose usernames, worktree names, or local directory layouts.
docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-mobile-dark.network.json-39-39 (1)

39-39: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Remove host-specific filesystem paths from committed evidence.

This network capture also embeds absolute /Users/zacjones/... paths. Normalize or omit these entries so the evidence does not leak local environment details.

Also applies to: 74-74, 81-81

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-mobile-dark.network.json`
at line 39, Remove the absolute host-specific `/Users/zacjones/...` filesystem
paths from the network evidence entries, including the occurrences corresponding
to the referenced additional locations. Normalize them to a
repository-independent path or omit the entries while preserving valid evidence
JSON.
docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-not-found-desktop-dark.network.json-39-39 (1)

39-39: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Remove host-specific filesystem paths from committed evidence.

The not-found network artifact contains absolute /Users/zacjones/... paths as well. Sanitize these paths consistently across all generated network evidence.

Also applies to: 74-74, 102-102

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-not-found-desktop-dark.network.json`
at line 39, Sanitize the generated network evidence artifacts by removing
host-specific absolute filesystem paths such as `/Users/zacjones/...` from all
affected entries, including the paths at the referenced locations. Update the
evidence-generation or normalization logic responsible for these artifacts so
future outputs consistently use portable paths.
docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-desktop-light.network.json-38-42 (1)

38-42: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Remove absolute local filesystem paths from the committed network evidence.

The /@fs/Users/zacjones/.codex/worktrees/... entries expose a developer username and local workspace layout, and the same environment-specific paths recur throughout this artifact. Redact these paths or capture against a production-like server before committing the evidence.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-desktop-light.network.json`
around lines 38 - 42, The committed network evidence contains
environment-specific absolute filesystem paths in request path entries. Remove
or redact the /@fs/Users/... paths throughout this artifact, or recapture the
evidence using a production-like server so no developer username or local
workspace layout is recorded.
docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-desktop-light.a11y.txt-10-12 (1)

10-12: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Give the icon-only link an accessible name.

The accessibility tree reports link [ref=e14] without a name. Add an accessible label, or remove the link role if this element is decorative.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-desktop-light.a11y.txt`
around lines 10 - 12, The icon-only link represented by ref e14 has no
accessible name. Locate the component rendering this link and add a meaningful
aria-label or accessible text; if it is purely decorative, remove its link
semantics instead.
docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-desktop-light.network.json-39-42 (1)

39-42: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Sanitize machine-specific filesystem paths before committing this artifact.

The /@fs/Users/zacjones/.codex/worktrees/... entries expose a developer username, local workspace structure, and non-portable paths. Normalize or redact these paths in the capture pipeline, then update any corresponding evidence hashes.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-desktop-light.network.json`
around lines 39 - 42, The recorded network artifact contains machine-specific
filesystem paths. Update the evidence capture or sanitization pipeline producing
the authenticated desktop network fixture to normalize or redact `/@fs/...`
paths, remove usernames and workspace details, and regenerate the affected
artifact and corresponding evidence hashes.
docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-mobile-dark.network.json-39-42 (1)

39-42: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Sanitize machine-specific filesystem paths before committing this artifact.

The /@fs/Users/zacjones/.codex/worktrees/... entries expose a developer username, local workspace structure, and non-portable paths. Normalize or redact these paths in the capture pipeline, then update any corresponding evidence hashes.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-mobile-dark.network.json`
around lines 39 - 42, Sanitize machine-specific filesystem paths in the evidence
capture pipeline before generating network artifacts, especially entries like
the script request path shown in
settings-athlete-authenticated-mobile-dark.network.json. Normalize or redact
user, worktree, and local workspace segments, then regenerate the affected
evidence artifacts and update their corresponding hashes.
docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-desktop-light.network.json-74-77 (1)

74-77: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Redact machine-specific filesystem paths from committed evidence.

This capture commits /@fs/Users/zacjones/... URLs, exposing local environment metadata and making the artifact dependent on one developer’s worktree. Replace the workspace prefix with a stable placeholder throughout the network evidence before merge.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-desktop-light.network.json`
around lines 74 - 77, Redact the machine-specific `/@fs/Users/zacjones/...`
workspace prefix in the network evidence, replacing it with a stable placeholder
everywhere in the captured artifact while preserving the remaining dependency
path and request details.
docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-mobile-dark.network.json-38-42 (1)

38-42: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Redact machine-specific filesystem paths from committed evidence.

The /@fs/Users/zacjones/... URL exposes a developer username and absolute worktree layout, while also making the capture non-portable. Normalize these paths to a stable placeholder or omit dev-only module requests before committing; the same pattern repeats throughout this file.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-mobile-dark.network.json`
around lines 38 - 42, Redact machine-specific absolute filesystem URLs
throughout the captured network evidence, including the GET request for Vite’s
env.mjs module. Replace `/@fs/Users/...` paths with a stable placeholder or
remove dev-only module requests, and apply the same normalization to every
repeated occurrence in this file.
docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-no-workout-tracking-desktop-light.network.json-44-47 (1)

44-47: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Remove machine-specific filesystem paths from the committed trace.

The captured /@fs/Users/zacjones/.codex/worktrees/... paths expose local identity/worktree details and make the evidence machine-specific. Redact or normalize these entries before finalizing hashes and manifests.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-no-workout-tracking-desktop-light.network.json`
around lines 44 - 47, Remove the machine-specific
/@fs/Users/zacjones/.codex/worktrees/... prefix from the committed network trace
entry, replacing it with a machine-independent normalized path while preserving
the Vite env.mjs resource reference. Regenerate any associated hashes or
manifests after updating the trace.
docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-no-workout-tracking-desktop-light.redirect.json-2-17 (1)

2-17: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Add redirect response metadata to this trace. It only records requestedUrl, finalUrl, and document fetches; there’s no 3xx, Location, or client-side redirect event, so /dashboard becoming / isn’t shown.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-no-workout-tracking-desktop-light.redirect.json`
around lines 2 - 17, The redirect trace should include response metadata
explaining the navigation from /dashboard to /. Update the trace fixture
associated with the redirect capture to record the 3xx response status, its
Location header, and any client-side redirect event, while preserving the
existing requestedUrl, finalUrl, and document entries.
docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-desktop-light.network.json-38-42 (1)

38-42: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Remove machine-specific filesystem paths from committed evidence.

The captured /@fs/Users/zacjones/.codex/worktrees/... URLs expose a developer username and local checkout path, and the same pattern repeats throughout this artifact. Regenerate or sanitize these entries before committing, then refresh the corresponding hashes and manifest references.

Also applies to: 72-77

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-desktop-light.network.json`
around lines 38 - 42, Committed evidence contains machine-specific /@fs
filesystem paths that expose a developer username and checkout location.
Sanitize or regenerate all affected URL entries in the authenticated desktop
network artifact, including the repeated entries around the referenced ranges,
then update the corresponding hashes and manifest references.
docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-desktop-light.network.json-45-49 (1)

45-49: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Remove machine-specific filesystem paths from committed evidence.

Line 46 exposes /Users/zacjones/... and makes the artifact environment-specific. Normalize /@fs paths to stable project-relative placeholders or omit development-only module requests before committing.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-desktop-light.network.json`
around lines 45 - 49, Remove the machine-specific absolute filesystem path from
the committed network evidence at the affected GET request, either by replacing
the /@fs path with a stable project-relative placeholder or omitting this
development-only Vite module request entirely; ensure no user-specific paths
remain in the artifact.
docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.a11y.txt-8-10 (1)

8-10: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Avoid skipping heading levels in the log form.

LOG RESULT is an h1 followed by Fran as an h3, with no h2 in between. Use h2 for the nested workout heading or add the missing section heading.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.a11y.txt`
around lines 8 - 10, Fix the heading hierarchy in the log form: update the
nested workout heading for “Fran” from h3 to h2 following the “LOG RESULT” h1,
or add an appropriate h2 section heading before it. Locate the relevant log form
heading markup or accessibility label producing “LOG RESULT” and “Fran”.
docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.a11y.txt-12-16 (1)

12-16: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Name the icon-only navigation controls.

The accessibility snapshot exposes an unnamed link at Line 12 and an unnamed button at Line 16. Add accessible names, or remove interactive semantics if these elements are decorative.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.a11y.txt`
around lines 12 - 16, The icon-only navigation controls are missing accessible
names: identify the corresponding link and button in the affected UI component,
add meaningful accessible labels via aria-label or an equivalent
visible/semantic name, or remove their interactive semantics if they are
decorative.
docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-desktop-light.a11y.txt-11-15 (1)

11-15: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Add accessible names to the unnamed links.

The snapshot exposes actionable links at Line 11 and Line 15 without accessible names. Add visible text or aria-label; if either is decorative, remove its link semantics.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-desktop-light.a11y.txt`
around lines 11 - 15, Add accessible names to the unnamed actionable links in
the affected page by providing meaningful visible text or an appropriate
aria-label; if either link is decorative and non-actionable, remove its link
semantics. Verify the resulting accessibility snapshot no longer reports unnamed
links.
docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.network.json-39-42 (1)

39-42: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Redact host-specific filesystem paths from the evidence.

The network artifact repeatedly exposes /Users/zacjones/.codex/worktrees/..., leaking a local username and making the capture machine-specific. Normalize or redact /@fs/... paths before committing these artifacts.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.network.json`
around lines 39 - 42, The evidence artifact contains a machine-specific
`/@fs/...` filesystem path exposing a local username and worktree. Update the
recorded network artifact, particularly the affected `path` entry, to normalize
or redact host-specific filesystem prefixes while preserving the request
identity and response metadata.
docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-not-found-desktop-dark.network.json-39-42 (1)

39-42: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Redact host-specific filesystem paths from the evidence.

The network artifact repeatedly exposes /Users/zacjones/.codex/worktrees/..., leaking a local username and making the capture machine-specific. Normalize or redact /@fs/... paths before committing these artifacts.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-not-found-desktop-dark.network.json`
around lines 39 - 42, The evidence artifact contains a host-specific `/@fs/...`
filesystem path exposing a local username and worktree. Normalize or redact all
`/@fs/` paths in the captured network artifacts, including the referenced script
path, so committed evidence is machine-independent.
docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.a11y.txt-72-75 (1)

72-75: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Associate labels with the scheme and scope comboboxes.

The snapshot shows empty LabelText nodes, while the comboboxes are announced only by their current values. Provide programmatic labels such as “Scheme” and “Scope”.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.a11y.txt`
around lines 72 - 75, Associate accessible labels with the scheme and scope
comboboxes represented by refs e8 and e9, replacing the empty LabelText nodes
with programmatic labels “Scheme” and “Scope” via the component’s label,
aria-label, or equivalent labeling mechanism.
docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-mobile-dark.network.json-39-39 (1)

39-39: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Remove developer-local filesystem paths from committed evidence.

Line [39] and many later entries include /Users/zacjones/.codex/worktrees/.... Redact or normalize these paths before committing the network artifact to avoid leaking workstation details.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-mobile-dark.network.json`
at line 39, Remove developer-specific absolute filesystem paths from the
committed network evidence, including the path in the relevant JSON “path”
entries. Replace them with a portable normalized path such as the
package-relative module path, and verify no `/Users/...` or worktree-specific
paths remain in the artifact.
docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-desktop-light.network.json-39-39 (1)

39-39: 🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Remove developer-local filesystem paths from committed evidence.

Line [39] and many later entries expose /Users/zacjones/.codex/worktrees/..., including local dependency paths. Redact or normalize these paths before committing the artifact.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-desktop-light.network.json`
at line 39, Committed evidence contains developer-specific absolute filesystem
paths in the network artifact. Update the recorded request paths, including
entries like the Vite env.mjs path, to use normalized project-relative or
redacted paths throughout the artifact; verify no /Users/... or
worktree-specific paths remain.
🧹 Nitpick comments (1)
docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-mobile-dark.network.json (1)

39-39: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Captured network evidence embeds local developer filesystem paths and username.

Many @fs/... entries expose the capture operator's local absolute path (e.g. /Users/zacjones/.codex/worktrees/ui-protected-athlete-coverage/thewodapp/...), leaking a real username and local directory layout into a permanently committed evidence artifact. Consider sanitizing/normalizing these paths (e.g. replacing the home/worktree prefix with a placeholder) in the capture tooling before committing evidence.

Also applies to: 74-74, 101-101, 700-782

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-mobile-dark.network.json`
at line 39, Sanitize absolute local filesystem paths in the network evidence
before writing artifacts. Update the capture/normalization logic responsible for
the affected evidence entries to replace user-specific home/worktree prefixes in
`@fs` paths with a stable placeholder, and apply this consistently across all
recorded requests and responses.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-mobile-dark.network.json`:
- Around line 39-42: Redact machine-specific absolute workspace paths from all
network evidence artifacts, replacing usernames, worktree directories, and local
dependency roots with stable placeholders or repository-relative paths.
Regenerate the affected artifact and update every hash-pinned manifest reference
to match the sanitized content.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-desktop-light.network.json`:
- Around line 39-42: Remove the machine-specific /@fs/Users/zacjones/... Vite
module URL from the committed network evidence, normalizing or excluding
development-module requests as appropriate; preferably regenerate the artifact
against a production build so no host-specific filesystem paths remain.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-mobile-dark.network.json`:
- Around line 37-42: Committed network traces contain machine-specific /@fs
filesystem paths. Update the capture writer to normalize or redact local
absolute paths before serialization, then regenerate the authenticated mobile
dark network artifacts, including the appearance and overview traces, so every
affected Vite path is portable.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.a11y.txt`:
- Line 7: The main-content link is exposed without an accessible name in the
authenticated mobile dark evidence snapshot. Update the corresponding link in
the protected-athlete UI to include meaningful visible text or an accessible
name describing its destination, then regenerate the affected accessibility
evidence.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.network.json`:
- Around line 45-49: Remove the machine-specific
/@fs/Users/zacjones/.codex/worktrees/... prefix from the recorded request path
in the authenticated mobile dark network evidence, replacing it with a portable
normalized path. Then regenerate the manifest and coverage-plan hashes so they
match the sanitized artifact.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-desktop-light.network.json`:
- Around line 38-39: The committed network evidence contains an absolute
developer-specific Vite filesystem path in the GET request entry. Update the
evidence normalization or capture logic for the affected request records to
convert `@fs` paths into repository-relative/browser-visible paths or omit them
before hashing and committing, ensuring both occurrences are handled
consistently.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-mobile-dark.network.json`:
- Line 39: Sanitize absolute workstation paths in the evidence export, including
the network trace containing the Vite env module path. Normalize workspace
prefixes to repository-relative paths (or a stable placeholder) before
serialization, and apply the same transformation across all network traces and
related exported artifacts.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-desktop-light.a11y.txt`:
- Line 15: Give the main-content link represented by ref=e2 a meaningful
accessible name by adding descriptive visible text or an appropriate accessible
labeling attribute to the corresponding link element.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-desktop-light.network.json`:
- Around line 39-42: Sanitize local workspace paths in the network evidence
capture before writing artifacts, including the username and worktree layout
visible in the vite env.mjs request path. Update the capture sanitization logic
used to generate the evidence, then regenerate the hash-pinned evidence file and
all corresponding manifest references so they match the sanitized output.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-not-found-desktop-dark.a11y.txt`:
- Line 15: Add an accessible name to the icon-only back button rendered by the
not-found workout page. Locate the button in the route component and add an
aria-label such as “Back to workouts” (or an equivalent accessible naming
mechanism), preserving its existing behavior and styling.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-search-empty-desktop-dark.a11y.txt`:
- Around line 21-25: In the protected-athlete workouts empty state, give both
unnamed buttons accessible names that describe their actions, and change the “No
workouts scheduled for today” heading to the appropriate level 3 heading to
preserve hierarchy; update the corresponding UI component and accessibility
snapshot.

---

Minor comments:
In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-desktop-light.network.json`:
- Line 39: Remove machine-specific absolute filesystem paths from the committed
network evidence, including all `/@fs/Users/...` entries at the referenced
locations. Replace them with a stable sanitized or normalized path that does not
expose usernames, worktree names, or local directory layouts.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-no-workout-tracking-desktop-light.network.json`:
- Around line 44-47: Remove the machine-specific
/@fs/Users/zacjones/.codex/worktrees/... prefix from the committed network trace
entry, replacing it with a machine-independent normalized path while preserving
the Vite env.mjs resource reference. Regenerate any associated hashes or
manifests after updating the trace.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-no-workout-tracking-desktop-light.redirect.json`:
- Around line 2-17: The redirect trace should include response metadata
explaining the navigation from /dashboard to /. Update the trace fixture
associated with the redirect capture to record the 3xx response status, its
Location header, and any client-side redirect event, while preserving the
existing requestedUrl, finalUrl, and document entries.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-desktop-light.network.json`:
- Around line 45-49: Remove the machine-specific absolute filesystem path from
the committed network evidence at the affected GET request, either by replacing
the /@fs path with a stable project-relative placeholder or omitting this
development-only Vite module request entirely; ensure no user-specific paths
remain in the artifact.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.a11y.txt`:
- Around line 8-10: Fix the heading hierarchy in the log form: update the nested
workout heading for “Fran” from h3 to h2 following the “LOG RESULT” h1, or add
an appropriate h2 section heading before it. Locate the relevant log form
heading markup or accessibility label producing “LOG RESULT” and “Fran”.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-desktop-light.a11y.txt`:
- Around line 11-15: Add accessible names to the unnamed actionable links in the
affected page by providing meaningful visible text or an appropriate aria-label;
if either link is decorative and non-actionable, remove its link semantics.
Verify the resulting accessibility snapshot no longer reports unnamed links.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-desktop-light.network.json`:
- Line 39: Committed evidence contains developer-specific absolute filesystem
paths in the network artifact. Update the recorded request paths, including
entries like the Vite env.mjs path, to use normalized project-relative or
redacted paths throughout the artifact; verify no /Users/... or
worktree-specific paths remain.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-desktop-light.network.json`:
- Around line 39-42: The recorded network artifact contains machine-specific
filesystem paths. Update the evidence capture or sanitization pipeline producing
the authenticated desktop network fixture to normalize or redact `/@fs/...`
paths, remove usernames and workspace details, and regenerate the affected
artifact and corresponding evidence hashes.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-mobile-dark.network.json`:
- Around line 39-42: Sanitize machine-specific filesystem paths in the evidence
capture pipeline before generating network artifacts, especially entries like
the script request path shown in
settings-athlete-authenticated-mobile-dark.network.json. Normalize or redact
user, worktree, and local workspace segments, then regenerate the affected
evidence artifacts and update their corresponding hashes.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-desktop-light.a11y.txt`:
- Around line 10-12: The icon-only link represented by ref e14 has no accessible
name. Locate the component rendering this link and add a meaningful aria-label
or accessible text; if it is purely decorative, remove its link semantics
instead.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-desktop-light.network.json`:
- Around line 38-42: The committed network evidence contains
environment-specific absolute filesystem paths in request path entries. Remove
or redact the /@fs/Users/... paths throughout this artifact, or recapture the
evidence using a production-like server so no developer username or local
workspace layout is recorded.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-mobile-dark.network.json`:
- Around line 38-42: Redact machine-specific absolute filesystem URLs throughout
the captured network evidence, including the GET request for Vite’s env.mjs
module. Replace `/@fs/Users/...` paths with a stable placeholder or remove
dev-only module requests, and apply the same normalization to every repeated
occurrence in this file.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-desktop-light.network.json`:
- Around line 74-77: Redact the machine-specific `/@fs/Users/zacjones/...`
workspace prefix in the network evidence, replacing it with a stable placeholder
everywhere in the captured artifact while preserving the remaining dependency
path and request details.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-mobile-dark.network.json`:
- Line 39: Remove the absolute host-specific `/Users/zacjones/...` filesystem
paths from the network evidence entries, including the occurrences corresponding
to the referenced additional locations. Normalize them to a
repository-independent path or omit the entries while preserving valid evidence
JSON.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-not-found-desktop-dark.network.json`:
- Line 39: Sanitize the generated network evidence artifacts by removing
host-specific absolute filesystem paths such as `/Users/zacjones/...` from all
affected entries, including the paths at the referenced locations. Update the
evidence-generation or normalization logic responsible for these artifacts so
future outputs consistently use portable paths.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-mobile-dark.network.json`:
- Around line 38-39: Remove the developer-specific absolute filesystem prefix
from all repeated Vite `@fs` request paths in the recorded network evidence,
replacing it with a repository-relative or consistently redacted path while
preserving the requested file location and valid JSON.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-not-found-desktop-dark.network.json`:
- Around line 39-42: The evidence artifact contains a host-specific `/@fs/...`
filesystem path exposing a local username and worktree. Normalize or redact all
`/@fs/` paths in the captured network artifacts, including the referenced script
path, so committed evidence is machine-independent.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.a11y.txt`:
- Around line 12-16: The icon-only navigation controls are missing accessible
names: identify the corresponding link and button in the affected UI component,
add meaningful accessible labels via aria-label or an equivalent
visible/semantic name, or remove their interactive semantics if they are
decorative.
- Around line 72-75: Associate accessible labels with the scheme and scope
comboboxes represented by refs e8 and e9, replacing the empty LabelText nodes
with programmatic labels “Scheme” and “Scope” via the component’s label,
aria-label, or equivalent labeling mechanism.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.network.json`:
- Around line 39-42: The evidence artifact contains a machine-specific
`/@fs/...` filesystem path exposing a local username and worktree. Update the
recorded network artifact, particularly the affected `path` entry, to normalize
or redact host-specific filesystem prefixes while preserving the request
identity and response metadata.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-mobile-dark.network.json`:
- Line 39: Remove developer-specific absolute filesystem paths from the
committed network evidence, including the path in the relevant JSON “path”
entries. Replace them with a portable normalized path such as the
package-relative module path, and verify no `/Users/...` or worktree-specific
paths remain in the artifact.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-desktop-light.network.json`:
- Around line 38-42: Committed evidence contains machine-specific /@fs
filesystem paths that expose a developer username and checkout location.
Sanitize or regenerate all affected URL entries in the authenticated desktop
network artifact, including the repeated entries around the referenced ranges,
then update the corresponding hashes and manifest references.

---

Nitpick comments:
In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-mobile-dark.network.json`:
- Line 39: Sanitize absolute local filesystem paths in the network evidence
before writing artifacts. Update the capture/normalization logic responsible for
the affected evidence entries to replace user-specific home/worktree prefixes in
`@fs` paths with a stable placeholder, and apply this consistently across all
recorded requests and responses.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 180a5a2e-b0d5-480b-945d-658cb1bb78da

📥 Commits

Reviewing files that changed from the base of the PR and between 6df6cfb and 2c7a506.

⛔ Files ignored due to path filters (12)
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-mobile-dark.png is excluded by !**/*.png
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-mobile-dark.png is excluded by !**/*.png
  • docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-appearance-authenticated-mobile-dark.png is excluded by !**/*.png
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-not-found-desktop-dark.png is excluded by !**/*.png
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-mobile-dark.png is excluded by !**/*.png
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-desktop-light.png is excluded by !**/*.png
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-mobile-dark.png is excluded by !**/*.png
📒 Files selected for processing (139)
  • docs/ui-library/evidence/protected-athlete/2026-07-10/capture-manifest.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-no-workout-tracking-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-no-workout-tracking-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-no-workout-tracking-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-no-workout-tracking-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-no-workout-tracking-desktop-light.redirect.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/programming-subscriptions-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-appearance-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-appearance-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-appearance-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-appearance-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-appearance-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-appearance-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-appearance-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-appearance-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-athlete-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-overview-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-not-found-desktop-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-not-found-desktop-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-not-found-desktop-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-not-found-desktop-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-not-found-desktop-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-not-found-desktop-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-not-found-desktop-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-not-found-desktop-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-new-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-schedule-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-schedule-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-schedule-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-schedule-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-schedule-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-schedule-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-schedule-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-schedule-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-schedule-not-found-desktop-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-schedule-not-found-desktop-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-schedule-not-found-desktop-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workout-schedule-not-found-desktop-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-desktop-light.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-desktop-light.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-desktop-light.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-desktop-light.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-mobile-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-mobile-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-mobile-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-authenticated-mobile-dark.network.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-search-empty-desktop-dark.a11y.txt
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-search-empty-desktop-dark.console.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-search-empty-desktop-dark.dom.json
  • docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-search-empty-desktop-dark.network.json
  • docs/ui-library/page-coverage-ledger.json
  • docs/ui-library/page-coverage-ledger.md
  • docs/ui-library/page-coverage.plan.json
  • docs/ui-library/protected-athlete-coverage-audit.md
  • lat.md/ui-library.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

🛑 Comments failed to post (11)
docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-mobile-dark.network.json (1)

39-42: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Redact local workspace paths before committing network evidence.

This request path exposes the capture machine’s username and worktree layout, and the same pattern repeats throughout the artifact. Sanitize these paths and regenerate the artifact plus its hash-pinned manifest references.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/dashboard-authenticated-mobile-dark.network.json`
around lines 39 - 42, Redact machine-specific absolute workspace paths from all
network evidence artifacts, replacing usernames, worktree directories, and local
dependency roots with stable placeholders or repository-relative paths.
Regenerate the affected artifact and update every hash-pinned manifest reference
to match the sanitized content.
docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-desktop-light.network.json (1)

39-42: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Remove machine-specific filesystem paths from committed evidence.

The captured /@fs/Users/zacjones/... URLs expose a developer username and local worktree structure, and make future captures host-specific. Normalize or exclude these Vite development-module requests, or capture against a production build before committing the artifact.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-desktop-light.network.json`
around lines 39 - 42, Remove the machine-specific /@fs/Users/zacjones/... Vite
module URL from the committed network evidence, normalizing or excluding
development-module requests as appropriate; preferably regenerate the artifact
against a production build so no host-specific filesystem paths remain.
docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-mobile-dark.network.json (1)

37-42: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Strip machine-specific filesystem paths from committed traces.

Lines 39-42 and 74-77 expose /@fs/Users/zacjones/.codex/worktrees/..., leaking local path metadata and making the evidence non-portable. Normalize these paths in the capture writer, then regenerate all network artifacts; the same issue appears in the appearance and overview traces.

Also applies to: 72-77

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/log-authenticated-mobile-dark.network.json`
around lines 37 - 42, Committed network traces contain machine-specific /@fs
filesystem paths. Update the capture writer to normalize or redact local
absolute paths before serialization, then regenerate the authenticated mobile
dark network artifacts, including the appearance and overview traces, so every
affected Vite path is portable.
docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.a11y.txt (1)

7-7: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Give the main-content link an accessible name.

The accessibility tree exposes link [ref=e2] without a name, so screen-reader users cannot determine its destination. Add an accessible name or visible link text.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.a11y.txt`
at line 7, The main-content link is exposed without an accessible name in the
authenticated mobile dark evidence snapshot. Update the corresponding link in
the protected-athlete UI to include meaningful visible text or an accessible
name describing its destination, then regenerate the affected accessibility
evidence.
docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.network.json (1)

45-49: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Remove machine-specific absolute paths from committed evidence.

The /@fs/Users/zacjones/.codex/worktrees/... request path exposes a local username and absolute workspace layout, making the artifact environment-specific. Normalize these paths before committing, then regenerate the manifest and coverage-plan hashes.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/log-new-authenticated-mobile-dark.network.json`
around lines 45 - 49, Remove the machine-specific
/@fs/Users/zacjones/.codex/worktrees/... prefix from the recorded request path
in the authenticated mobile dark network evidence, replacing it with a portable
normalized path. Then regenerate the manifest and coverage-plan hashes so they
match the sanitized artifact.
docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-desktop-light.network.json (1)

38-39: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Remove absolute local filesystem paths from committed network evidence.

The @fs/Users/zacjones/.codex/worktrees/... entries expose developer-specific paths and make the artifact environment-dependent. Normalize these requests to repository-relative or browser-visible paths, or omit them before hashing and committing the evidence.

Also applies to: 74-74

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-profile-authenticated-desktop-light.network.json`
around lines 38 - 39, The committed network evidence contains an absolute
developer-specific Vite filesystem path in the GET request entry. Update the
evidence normalization or capture logic for the affected request records to
convert `@fs` paths into repository-relative/browser-visible paths or omit them
before hashing and committing, ensuring both occurrences are handled
consistently.
docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-mobile-dark.network.json (1)

39-39: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Redact absolute workstation paths before committing evidence.

Line [39] and many later entries expose /Users/zacjones/.codex/worktrees/... in a checked-in artifact. Normalize the workspace prefix during export, or emit repository-relative paths; apply the same sanitization to the other network traces.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/settings-sessions-authenticated-mobile-dark.network.json`
at line 39, Sanitize absolute workstation paths in the evidence export,
including the network trace containing the Vite env module path. Normalize
workspace prefixes to repository-relative paths (or a stable placeholder) before
serialization, and apply the same transformation across all network traces and
related exported artifacts.
docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-desktop-light.a11y.txt (1)

15-15: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Give the main-content link an accessible name.

The accessibility tree exposes link [ref=e2] without a name. Add an accessible name or visible link text so assistive-technology users can identify its destination.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-detail-authenticated-desktop-light.a11y.txt`
at line 15, Give the main-content link represented by ref=e2 a meaningful
accessible name by adding descriptive visible text or an appropriate accessible
labeling attribute to the corresponding link element.
docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-desktop-light.network.json (1)

39-42: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Redact local workspace paths before committing network evidence.

This artifact also exposes the capture machine’s username and worktree layout. Apply capture-level path sanitization and regenerate the hash-pinned evidence and manifest references.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-authenticated-desktop-light.network.json`
around lines 39 - 42, Sanitize local workspace paths in the network evidence
capture before writing artifacts, including the username and worktree layout
visible in the vite env.mjs request path. Update the capture sanitization logic
used to generate the evidence, then regenerate the hash-pinned evidence file and
all corresponding manifest references so they match the sanitized output.
docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-not-found-desktop-dark.a11y.txt (1)

15-15: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Add an accessible name to the back button.

The captured not-found page exposes an unnamed button. The route source also renders the icon-only button without aria-label or equivalent, so screen-reader users cannot discover its purpose. Use a label such as Back to workouts.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workout-edit-not-found-desktop-dark.a11y.txt`
at line 15, Add an accessible name to the icon-only back button rendered by the
not-found workout page. Locate the button in the route component and add an
aria-label such as “Back to workouts” (or an equivalent accessible naming
mechanism), preserving its existing behavior and styling.
docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-search-empty-desktop-dark.a11y.txt (1)

21-25: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Add accessible names and correct the heading hierarchy.

The snapshot exposes two unnamed buttons, so assistive-technology users cannot identify their actions. It also jumps from level 2 to level 4 for “No workouts scheduled for today.” Add labels to both controls and use the appropriate heading level.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/ui-library/evidence/protected-athlete/2026-07-10/workouts-search-empty-desktop-dark.a11y.txt`
around lines 21 - 25, In the protected-athlete workouts empty state, give both
unnamed buttons accessible names that describe their actions, and change the “No
workouts scheduled for today” heading to the appropriate level 3 heading to
preserve hierarchy; update the corresponding UI component and accessibility
snapshot.

@zacjones93
zacjones93 merged commit d6316c1 into codex/ui-auth-entry-pattern Jul 15, 2026
53 of 184 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