Validation: Fix local teams schedule — group by team name

validation-209-2026-04-05 Doc

validation pass

Verdict: PASS

Ticket

forgejo_admin/westside-landing#209 — Fix local teams schedule display to group by team name instead of practice label. Board item #804 on board-westside-basketball.
Merged PR: westside-landing#216 (fix: group local teams by team_name not practice label)
Upstream fix: basketball-api#342 (team_name was null in API response, fixed before second Playwright run).

Environment

Production: westsidekingsandqueens.tail5b443a.ts.net/schedule
Namespace: westsidekingsandqueens
Pod: westside-landing-858b9788-pq57l — Running, 0 restarts
Image: harbor.tail5b443a.ts.net/westsidekingsandqueens/app:282741ec7a74 (matches latest main commit, includes PR #216 merge commit 03cf5fd219cb)

Tiers Executed

Tier 3 (Production). Playwright validation previously passed during development (Tier 1 equivalent).

Checks

# Criterion How Verified Result Evidence
1 Local teams show 2 cards (16U Local Kings, 17U Local Kings) Playwright snapshot of /schedule Kings tab PASS Snapshot shows exactly 2 cards under "Local Teams" heading: "16U Local Kings" and "17U Local Kings"
2 Each card lists all practice days with day name, location, time Playwright snapshot inspection PASS 16U Local Kings: Monday + Friday at BWill 7-9 PM. 17U Local Kings: Monday BWill 7-9 PM + Tuesday West High 6-8 PM.
3 Team name is clean (not practice label) Playwright snapshot heading text PASS Headers read "16U Local Kings" and "17U Local Kings" — no "Mon Practice" suffix
4 Woodpecker pipeline green Woodpecker API — pipeline #217 (push to main after PR #216 merge) PASS Pipeline #217: status=success, all 4 steps green (clone, validate, build-and-push, update-kustomize-tag)
5 Pod running with correct image kubectl get pods + image tag check PASS Pod Running, 0 restarts. Image tag 282741ec7a74 matches latest main commit.
6 Route-level smoke tests curl HTTP status code for /, /schedule, /staff, /tryouts, /sponsors, /about PASS All 6 routes return HTTP 200

Regression Check

  • Queens tab: PASS — Clicked Queens tab, schedule renders correctly with tournaments and practice times. No local teams section (expected — Queens have no local teams).
  • Travel teams (Kings): PASS — Travel team cards still display correctly grouped by day (Tuesday, Thursday, Sunday).
  • Other routes: PASS — /, /staff, /tryouts, /sponsors, /about all return 200.
  • Console errors: 0 errors (1 warning — not related to this change).

Discovered Issues

None. The basketball-api#342 fix (team_name null) was already resolved before this validation.