Review: Public site: travel schedule page (v1) + nav updates

review-356-2026-03-25 Review

review needs-refinement

Verdict: NEEDS_REFINEMENT

Template Completeness

  • [x] Lineage — present ("Standalone — no plan phase")
  • [x] Repo — present and specific (ldraney/west-side-basketball + forgejo_admin/westside-playground)
  • [x] User Story — present, well-formed
  • [x] Context — present, explains v1 rationale and Marcus iteration
  • [x] File Targets — present with create/modify/do-not-touch sections
  • [x] Acceptance Criteria — present, 6 items
  • [x] Test Expectations — present, visual + nav verification
  • [x] Constraints — present, clear (no frameworks, mobile-first, v1)
  • [x] Checklist — present, 5 items covering playground-to-production pipeline
  • [x] Related — present, references project page and sibling issue #71
  • [x] Type — extra section not in template, but harmless

File Targets

  • [x] schedule.html — verified: does not exist yet, will be created
  • [x] index.html — verified: exists at ~/west-side-basketball/index.html, has nav with "Tryouts" link at line 44
  • [x] staff.html — verified: exists, same nav pattern at line 41-48
  • [x] sponsors.html — verified: exists, same nav pattern at line 41-48
  • [x] success.html — verified: exists, same nav pattern at line 42-49
  • [x] js/main.js — verified: exists, nav toggle only, no changes needed (correct)
  • [ ] .detail-card CSS class — MINOR: does not exist in style.css. Ticket says "or similar" which is acceptable. Available patterns: .card, .section, .details-list

Repo Placement

ISSUE: The Forgejo issue is filed on forgejo_admin/westside-app (SvelteKit app on Forgejo), but the actual work targets ldraney/west-side-basketball (static HTML on GitHub Pages). The prototype goes to forgejo_admin/westside-playground (Forgejo). The issue body correctly identifies both repos, but the Forgejo issue itself is in the wrong repository. An agent executing from the Forgejo issue URL would clone westside-app, not west-side-basketball.
There is no west-side-basketball repo on Forgejo — it lives only on GitHub. This creates an organizational gap: where should static-site issues be tracked? Using westside-app as the catch-all is understandable but should be documented. Alternatively, mirror the GitHub repo to Forgejo.

Dependencies

  • Issue #75 (strip stale tryout content) — board item #354, column: todo, state: open. The ticket says index.html nav depends on #75 being done first (removing Tryouts anchor). This dependency is documented in prose but not as a depends: label on the board item.
  • Issue #71 (practice schedule page) — referenced as related, different scope (SvelteKit app vs static site). No conflict.
  • Issue #76 (add Coach Manny to staff page) — board item #355, also in todo, also touches staff.html nav. Nav changes should be coordinated to avoid merge conflicts.

Acceptance Criteria

All 6 criteria are testable by an agent or human. "Mobile-first layout using existing CSS patterns" is subjective but can be validated by phone screenshot. Missing: no mention of verifying the page works on desktop as well (though mobile-first implies desktop is secondary). "Westside logo in header" is standard — all pages already have it via the shared nav pattern.

Blast Radius

  • Nav update touches 4 existing files — all share the same nav HTML structure. Consistent application is straightforward.
  • Issue #76 (Coach Manny on staff page) also modifies staff.html — if both PRs are in flight, nav HTML will conflict. Low risk since nav is at the top and content is below.
  • No downstream consumers affected — this is a static HTML site served by GitHub Pages.
  • The westside-playground prototype must be approved on phone before production copy (per Constraints + Checklist). This gate is documented.

Recommendation

Two items to fix before READY:
  • Add depends:ws-75 label to board item #356. The dependency on issue #75 is real — the index.html nav still has #tryouts anchor links. If #77 removes "Tryouts" from nav before #75 strips the tryout content, the page will have orphaned content with no nav entry. Formalize this.
  • Acknowledge repo mismatch — either add a note to the issue body clarifying that westside-app is the tracking repo for all west-side-basketball static site issues, or create the issue on GitHub instead. An agent executing from the Forgejo issue URL needs to know the target repo is on GitHub, not Forgejo.