Review: Landing page: restore original energy
Verdict: NEEDS_REFINEMENT
Template Completeness
- [x] Lineage
- [x] Repo
- [x] User Story
- [x] Context
- [x] File Targets (includes files to modify AND files not to touch)
- [x] Acceptance Criteria (7 items)
- [x] Test Expectations (3 items)
- [x] Constraints (4 items)
- [x] Checklist
- [x] Related
All required template sections present. Extra "Type: Feature" field is harmless.
File Targets
- [x]
index.html— verified exists atwestside-playground/index.html(164 lines). Dual hero CTAs confirmed at lines 58-61 ("Member Sign In" + "View Schedule"). Coaches section confirmed at lines 93-143 (5 coach-cards). Bottom CTA "Want to Get Involved?" confirmed at lines 145-152. - [x]
shared/style.css— correctly listed as do-not-touch. CSS already has.stepand.step-numberclasses needed for How to Join section. - [ ] "How to Join (3 steps)" — ISSUE: Ticket says "Keep: How to Join (3 steps)" but this section does NOT exist in the current
index.html. The originalwest-side-basketball/index.htmlhas "How It Works" (lines 142-167) with 3 steps (Register Online, Attend Tryouts, Get Placed), but it was never ported to the playground. The ticket must clarify: this is a CREATE (port from original and adapt for no-tryout context), not a KEEP. - [x] Line reference "lines ~94-144" for coaches section — actual range is lines 93-143. Minor; tilde makes it acceptable.
Repo Placement
MISMATCH. The ticket's
### Repo field says forgejo_admin/westside-playground, but the Forgejo issue is filed on forgejo_admin/westside-app (issue #90). The actual file target (index.html) lives in westside-playground. An agent receiving the Forgejo issue URL will clone westside-app (a SvelteKit project) and find no index.html at root. The issue should either be re-filed on westside-playground or the Repo field corrected.Dependencies
- Board item #380 "Westside playground complete overhaul" is in
todowith the same labels (arch:landing-site, story:WS-S26). Relationship unclear — is #405 a child/subset of #380 or independent? No dependency label on either item. - Board items #381-384 (overhaul parts 1-4) are all
done. These established the CSS/JS unification that #405 builds on. - Board item #132 "Phase 15: Production Port — playground to SvelteKit" is
in_progress. If #405 lands in playground, Phase 15 will port it. Implicit sequencing not documented. - Board item #356 "Public site: travel schedule page + nav updates" is in
next_upwithdepends:ws-85. If #405 changes nav structure, #356 may need awareness.
Acceptance Criteria
6 of 7 criteria are objectively verifiable by visual inspection or DOM check. "Page feels focused" is subjective, but constraints acknowledge this is a taste decision requiring Lucas phone review. No automated tests — acceptable for static HTML. Missing: no explicit criterion for the "How to Join" section content (what do the 3 steps say in a no-tryout context?).
Blast Radius
- Coach CSS classes (
.coach-grid,.coach-card, etc.) used in 10 files across the playground. Removing coaches section HTML fromindex.htmlis safe — CSS remains,staff.htmlstill renders all 5 coaches. - Hero CTA classes (
.btn-primary-lg,.btn-outline-lg) only used inindex.html. Replacing dual CTAs with a single CTA is contained. - No downstream consumers affected. The playground is a static HTML prototype; westside-app (SvelteKit) is a separate codebase updated by Phase 15.
Recommendation
Three issues must be resolved before this ticket is READY:
- Fix repo mismatch — Either re-file the Forgejo issue on
forgejo_admin/westside-playground, or correct the### Repofield. An agent will fail to findindex.htmlif it cloneswestside-app. - Clarify "How to Join" section — Change "Keep: How to Join (3 steps)" to "Create: How to Join section (port from original, adapt for no-tryout context)." Specify what the 3 steps should say when tryouts are not active. The original's steps reference tryout registration which does not apply.
- Document relationship to #380 — Is board item #405 a replacement for #380, a child of it, or independent? Add a dependency label or close #380 if #405 supersedes it.