Review: Landing page: restore original energy

review-405-2026-03-25 Review

review needs-refinement

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 at westside-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 .step and .step-number classes 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 original west-side-basketball/index.html has "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 todo with 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_up with depends: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 from index.html is safe — CSS remains, staff.html still renders all 5 coaches.
  • Hero CTA classes (.btn-primary-lg, .btn-outline-lg) only used in index.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 ### Repo field. An agent will fail to find index.html if it clones westside-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.