Review: Bug: wrong logo assets — JPEG instead of transparent PNGs from playground (re-review)
Verdict: READY
Template Completeness
- [x] Type — Bug
- [x] Lineage — Regression from PR #99
- [x] Repo — forgejo_admin/westside-app
- [x] What Broke — clear description of JPEG vs PNG mismatch
- [x] Repro Steps — 3 steps with playground comparison
- [x] Expected Behavior — table with current vs expected vs MinIO equivalent
- [x] Environment — cluster, namespace, commit SHA
- [x] File Targets — 2 files with line numbers (original), expanded to 9 in comment
- [x] Fix — inline diff for both original files
- [x] Acceptance Criteria — 4 criteria (original), updated to 4 in expansion comment
- [x] Related — project page + source PR
All required bug template sections present. Scope expansion comment adds the missing file targets and updated acceptance criteria identified in the v1 review.
Traceability
- [x] story:WS-S26 label — Westside Season 26
- [x] arch:landing-site label — landing site component
- [x] Forgejo issue — forgejo_admin/westside-app#107, open
All three legs of the traceability triangle are present and valid.
File Targets
Logo replacements (9 files) — all verified:
- [x]
src/routes/(public)/+layout.svelteline 43 — verified:branding/logo.jpegin nav logo img src - [x]
src/routes/(public)/+page.svelteline 9 — verified:branding/logo.jpegin hero logo img src (only file usinghero-logoclass) - [x]
src/routes/(app)/+layout.svelteline 82 — verified:branding/logo.jpegin nav logo img src - [x]
src/routes/(app)/signin/+page.svelteline 28 — verified:branding/logo.jpeg - [x]
src/routes/(app)/register/+page.svelteline 220 — verified:branding/logo.jpeg - [x]
src/routes/(app)/forgot-password/+page.svelteline 41 — verified:branding/logo.jpeg - [x]
src/routes/(app)/reset-password/+page.svelteline 82 — verified:branding/logo.jpeg - [x]
src/routes/(app)/checkout/+page.svelteline 143 — verified:branding/logo.jpeg - [x]
src/routes/(app)/jersey/+page.svelteline 273 — verified:branding/logo.jpeg
Exactly 9 occurrences of
logo.jpeg across 9 files — matches the expansion comment perfectly.MinIO target assets — all verified (HTTP 200):
- [x]
branding/logo-transparent.png— HTTP 200 (nav logo replacement for 8 files) - [x]
branding/logo-hero-transparent.png— HTTP 200 (hero logo replacement for 1 file)
Coach photo optimizations (staff/+page.svelte) — all verified:
- [x]
coaches/james-taylor.jpgline 45 — verified in source;james-taylor-800w.jpgHTTP 200 in MinIO - [x]
coaches/ken-seka.pngline 73 — verified in source;ken-seka-800w.jpgHTTP 200 in MinIO - [x]
coaches/kj-ng.pngline 59 — verified in source;kj-ng-800w.jpgHTTP 200 in MinIO - [x]
coaches/abbie-sa.jpegline 99 — verified in source;abbie-sa-800w.jpgHTTP 200 in MinIO - [x]
coaches/marcus.jpgline 30 — verified in source; correctly excluded from optimization (already 44KB)
Repo Placement
OK. Issue filed on forgejo_admin/westside-app, all fix targets are westside-app source files. Single-repo fix, no cross-repo concerns. Staff page is in the same repo.
Dependencies
- No blocking items in
in_progress,qa, orneeds_approval. - Board item #416 (Svelte promotion prep, arch:landing-site) is in
next_up— touches same architecture component but is not a blocker. Both tickets can be worked independently. - No dependencies documented in scope (none needed).
Acceptance Criteria
Updated criteria from expansion comment are testable:
- "All 9 files use logo-transparent.png (nav) or logo-hero-transparent.png (hero)" — verifiable via grep for
logo.jpeg(should return 0 results after fix) - "Staff page uses -800w.jpg optimized coach photos" — verifiable via grep for original coach photo URLs
- "Total staff page payload drops from ~6MB to ~500KB" — approximate, but directionally correct given the file sizes in the expansion table
- "Visual parity with playground" — requires screenshot comparison, not automatable but concrete
All criteria are actionable. An implementing agent can verify criteria 1-2 via grep and criteria 3-4 via visual inspection.
Blast Radius
The v1 review's blast radius concern (9 files, not 2) is now fully addressed by the scope expansion. No remaining
logo.jpeg references outside the 9 targeted files. Coach photo optimization is contained to a single file (staff/+page.svelte) with no downstream consumers.No other MinIO asset references in the codebase use the unoptimized pattern — this is specific to the branding and coach directories.
Recommendation
No action needed. The scope expansion comment addresses all three issues raised in the v1 review:
- File targets expanded — all 9 logo.jpeg files now in scope
- Acceptance criteria updated — includes "all 9 files" criterion
- Coach photo optimization added — bonus scope, well-defined with verified MinIO assets
This ticket is ready for
next_up.