Review: Playground overhaul 3/4: Authenticated pages (14 pages)
Verdict: NEEDS_REFINEMENT
Template Completeness
- [x] Lineage
- [x] Repo
- [x] User Story
- [x] Context
- [x] File Targets
- [x] Acceptance Criteria
- [x] Test Expectations
- [x] Constraints
- [x] Checklist
- [x] Related
File Targets
- [x]
admin.html— verified: exists in westside-playground, has @route /admin, @auth role:admin - [x]
admin-players.html— verified: exists, has @route /admin/players, @auth role:admin - [x]
admin-teams.html— verified: exists, has @route /admin/teams, @auth role:admin - [x]
coach.html— verified: exists, has @route /coach, @auth role:coach - [x]
coach-profile.html— verified: exists, has @route /coaches/[id], @auth required - [x]
parent.html— verified: exists, has @route /my-players, @auth role:member - [x]
player-profile.html— verified: exists, has @route /players/[id], @auth required - [x]
billing.html— verified: exists, has @route /players/[id]/billing, @auth member or admin - [x]
team.html— verified: exists, has @route /teams/[id], @auth required - [x]
checkout.html— not yet created (expected, listed as new) - [x]
checkout-success.html— not yet created (expected, listed as new) - [x]
checkout-cancel.html— not yet created (expected, listed as new) - [x]
jersey.html— not yet created (expected, listed as new) - [x]
jersey-success.html— not yet created (expected, listed as new)
All 9 existing files confirmed present with doc comments. 5 new files correctly listed as to-create.
Repo Placement
ISSUE: Forgejo issue #87 is filed on
forgejo_admin/westside-app but the issue body says Repo: forgejo_admin/westside-playground. The actual work targets westside-playground (separate git repo). An agent spawned from this issue could clone the wrong repo. All four overhaul sub-issues (#85-#88) are filed on westside-app but target westside-playground.The board item label
arch:westside-app reinforces the wrong repo. Should be arch:westside-playground or clarified.Dependencies
- depends:ws-85 (board item #381) — "Playground overhaul 1/4: CSS/JS unification" — currently in
todocolumn, NOT started. This ticket CANNOT proceed until #85 is done and phone-approved. Issue #85 will renameshared/app.csstoshared/style.css, which this ticket's acceptance criteria depend on. - Board item #382 (issue #86, "Playground overhaul 2/4: Public pages") also depends on ws-85. Items #382 and #383 can run in parallel after #85 completes.
- Board item #384 (issue #88, "Playground overhaul 4/4: Cleanup + component docs") depends on both ws-86 AND ws-87 (this ticket). Documented correctly.
Dependency chain is well-documented and consistent across the four sub-issues.
Acceptance Criteria
- [x] "All 14 pages exist and render on mobile" — testable (file existence + viewport check)
- [x] "All reference shared/style.css and shared/app.js" — testable (grep), but depends on #85 creating shared/style.css first
- [x] "Authenticated nav with dashboard links, logout" — testable (HTML inspection)
- [x] "Role-based nav" — testable but subjective without a spec. Issue says admin/coach/parent see different links but doesn't enumerate which links per role
- [x] "Checkout/jersey flow navigable" — testable (link verification)
- [x] "Component doc comment on every page" — testable (grep for @route, @auth, @api)
- [x] "Existing doc comments preserved and updated" — testable (diff against current state)
Criteria are mostly agent-verifiable. "Lucas phone review" in the checklist is a manual gate (expected).
Minor gap: Role-based nav criteria could be more specific — which links does each role see? Without this, the agent will make assumptions.
Blast Radius
- Work is isolated to
westside-playground(static HTML prototypes). No production SvelteKit code is affected. - Phase 15 ("Production Port — playground to SvelteKit") is in_progress and will eventually consume these playground pages. Changes here define the production target.
- No downstream services affected. No API changes. No database changes.
Recommendation
Two issues need resolution before READY:
- Repo placement mismatch — Either move issues #85-#88 to the
westside-playgroundrepo in Forgejo, or add a prominent note at the top of each issue body: "NOTE: This issue is tracked on westside-app but work targets westside-playground." Also fix the board label fromarch:westside-apptoarch:westside-playground(or add arepo:westside-playgroundlabel). - Role-based nav spec — Add a brief table or list to the issue specifying which nav links each role (admin, coach, parent) should see. Without this, the agent will guess and Lucas will reject on phone review.
Neither issue is a blocker — both are refinements that prevent agent confusion and rework cycles.