Review: New page: Gear (jersey photos from MinIO)
Verdict: NEEDS_REFINEMENT
Template Completeness
- [x] Lineage — present (parent note: westside-playground-overhaul)
- [x] Repo — present (forgejo_admin/westside-playground) BUT see Repo Placement below
- [x] User Story — present, well-formed
- [x] Context — present, includes MinIO path and image filenames
- [x] File Targets — present (gear.html to create, nav on all pages to modify)
- [x] Acceptance Criteria — present (4 items)
- [x] Test Expectations — present (2 items)
- [x] Constraints — present (shared/style.css, component doc, mobile-first)
- [x] Checklist — present
- [x] Related — present
File Targets
- [x]
gear.html— does not yet exist (correct, file to create) - [x]
shared/style.css— verified exists at westside-playground/shared/style.css - [x] MinIO path
westside/jerseys/— ticket references 3 images (2574801714458281987.jpeg, IMG_4164.jpeg, IMG_4165.jpeg), not filesystem-verified but plausible - [ ]
assets/images/gear/— ISSUE: directory does not exist. Onlyassets/images/exists with branding assets. Needs creation if local copy approach chosen. - [ ] "Nav on ALL pages" — ISSUE: imprecise. Only 6 pages use the public
site-nav(index.html, staff.html, sponsors.html, schedule.html, register.html, success.html). The 14 authenticated pages (admin, coach, parent, etc.) use a separatebottom-navand should NOT be touched. Ticket should specify "all 6 public site-nav pages."
Repo Placement
MISMATCH: The issue body says
Repo: forgejo_admin/westside-playground (correct target for the work), but the Forgejo issue is filed on forgejo_admin/westside-app (issue #94). The westside-playground repo exists as a separate Forgejo repo. The issue should be migrated or re-created on forgejo_admin/westside-playground.Dependencies
- Sibling nav collision: Board items #406 (About), #407 (Tryouts), #408 (Teams) are all todo items that add new public pages with nav updates to the same 6 files. If executed independently, each ticket will add its own nav link — risking merge conflicts or inconsistent nav states. Consider: (a) a single nav-update ticket that all page tickets depend on, or (b) explicit ordering so each successive ticket includes prior nav additions.
- #356 (travel schedule page) is in next_up and also touches public site nav.
- #132 (Phase 15: Production Port) is in_progress — any playground page created now will need porting to SvelteKit. Not a blocker, but should be documented as downstream work.
- No blocking dependencies — this ticket can proceed independently of other new-page tickets.
Acceptance Criteria
- [x] "gear.html exists with jersey photos displayed" — testable, agent can verify file exists and contains img tags
- [ ] "Photos load correctly (from assets or MinIO CDN)" — ISSUE: ambiguous. Agent needs a decision: local copy or CDN URL? Both are mentioned as options. Recommend picking one approach. CDN pattern exists in authenticated pages (admin.html uses
minio-api.tail5b443a.ts.net/assets/westside/...). - [x] "Nav updated on ALL pages to include Gear" — testable but scope needs narrowing (see File Targets)
- [x] "Clean gallery layout on mobile" — testable at 390px viewport
- [x] "Photos render on 390px" — testable
- [x] "All nav links resolve" — testable
Blast Radius
- Nav duplication: The public site-nav is copy-pasted into 6 HTML files. Adding a Gear link means modifying all 6 files identically. This is the existing pattern (no shared component), so blast radius is contained but tedious.
- Constraint mismatch: "Component doc at top" is listed as a constraint, but zero existing playground pages have component docs. This convention either does not exist yet or was abandoned. Agent will be confused.
- No downstream consumer impact: This is a new page addition, not a modification to existing functionality.
Recommendation
Three items need refinement before this ticket is READY:
- Re-file on correct repo: Close westside-app#94 and re-create on
forgejo_admin/westside-playground. - Decide image approach: Specify either local copy to
assets/images/gear/OR MinIO CDN URLs (pattern:minio-api.tail5b443a.ts.net/assets/westside/jerseys/...). Remove the "or" ambiguity. - Narrow nav scope: Replace "Nav on ALL pages" with "Nav on all 6 public site-nav pages (index, staff, sponsors, schedule, register, success) + gear.html itself." Explicitly exclude authenticated pages.
Optional improvements:
- Remove or clarify "Component doc at top" constraint — no existing pages follow this pattern.
- Document sibling ticket nav coordination strategy to prevent merge conflicts with #406, #407, #408.