Review: Coach Manny photo needed for staff page

review-454-2026-03-26 Review

review ready

Verdict: READY

Template Completeness

  • [x] Type
  • [x] Lineage
  • [x] Repo
  • [x] User Story
  • [x] Context
  • [x] File Targets
  • [x] Acceptance Criteria
  • [x] Test Expectations
  • [x] Constraints
  • [x] Checklist
  • [x] Related
All required sections for a Feature issue are present and well-written.

Traceability

  • [x] story:WS-S26 label — Westside Season 26
  • [x] arch:landing-site label — Landing site architecture component
  • [x] Forgejo issue — westside-app#110, open
Full traceability triangle present. No gaps.

File Targets

  • [x] src/routes/(public)/staff/+page.svelte line 86 — verified: placeholder div <div class="coach-photo-placeholder">Photo coming soon</div> exists exactly at line 86
  • [x] MinIO path assets/westside/coaches/manny-800w.jpg — verified: HTTP 200, 102KB (102,683 bytes), content-type image/jpeg. Photo is already uploaded and accessible.

Repo Placement

OK. Issue filed on forgejo_admin/westside-app, file target is in the same repo. MinIO upload is already done (per comment). Single-repo change.

Dependencies

  • Original blocker (photo from Marcus) is resolved — comment on 2026-03-27 confirms photo uploaded to MinIO in both original (2.2MB) and optimized (100KB, 800x1055) formats.
  • No items in in_progress on the westside board that would conflict.
  • No downstream items depend on this ticket.
  • The comment provides the exact <img> tag with correct alt text, dimensions, and URL — agent has a copy-paste solution.

Acceptance Criteria

All three acceptance criteria are agent-verifiable:
  • "Coach Manny has a real photo" — visual check, but also verifiable by confirming the img tag replaced the placeholder div
  • "Photo is optimized (target ~100KB, 800px wide JPEG)" — already verified: 102KB, 800x1055, JPEG
  • "Photo uploaded to MinIO" — already verified: curl -sI returns HTTP 200
Test command (curl -sI) is valid and works today. Manual tests are reasonable.

Blast Radius

  • Playground: westside-playground/staff.html has the same placeholder at line 149. Ticket correctly scopes to westside-app only. Playground update could be a separate follow-up if desired but is not blocking.
  • CSS: The .coach-photo-placeholder class in src/app.css (line 986) is retained per constraints ("CSS placeholder styling can remain for future use"). No cleanup needed.
  • Other coaches: No impact. All other coaches already have <img> tags pointing to MinIO. The ticket correctly constrains agents from touching other entries.

Recommendation

No action needed. Ticket is ready to move to next_up. The blocker is resolved, file targets are verified, the comment provides the exact code change, and scope is minimal (single line swap). An agent can execute this immediately.