Review: westside-admin#28 (board 1145) — Input components — 2026-05-04 (v1, NEEDS_REFINEMENT)
Scope Review: westside-admin#28 (board item 1145) — Players edit form input components
Verdict
NEEDS_REFINEMENT (refinements applied in body v2 on 2026-05-04; re-review pending). Forgejo comment issue #28 comment 16227 is the canonical record.
Three blocking refinements
- Test infrastructure gap (the dominant scope risk). Repo's vitest stack today is node env only (
vitest.config.ts:environment: 'node'); no@testing-library/svelte, nojsdom/happy-dominpackage.json. The component-render ACs (EnumSelect renders all options, JsonbEditor parses on blur, DatePicker accepts ISO) all require component-mounting tests, which the current setup cannot run.
Resolution applied: refactored AC to extract pure helpers (parseJsonOnBlur,isoToDateInput,dateInputToIso) and test those logic-only via vitest in node env. Visual rendering verified manually when #29 wires components into the edit page. - Lineage overstates dep on #1. The leaf input components reference no Drizzle types. Drizzle-metadata-to-component dispatcher lives in #29's
+page.svelte, not here.
Resolution applied: downgraded #1 from hard-dep to soft-dep. #28 can ship before or independently of #1. - Self-contradicting checklist. Body said "Do NOT create routes" but Checklist asked for a
/dev/inputsdev route.
Resolution applied: dropped the dev route; visual sanity moves to a temp scratch page in PR description (not committed).
Soft notes
- Story/arch backing notes verified after pal-e-docs recovery (story present in
project-westside-admin;arch-svelte-componentsnot present — shared gap, see #29 review). - Label-vs-slug nit (
story:admin-row-crudvsstory-westside-admin-admin-row-crud) — not a refinement, both forms valid perfeedback_traceability_triangle.
Decomposition
5-min envelope passes with the helper-extraction approach: 3 components + 1 helpers.ts + 1 helpers.test.ts = 5 files in one repo, ~9-12 unit tests, all under
src/lib/components/inputs/.Outage Note
Original review agent flagged pal-e-docs outage in real-time; that's where the postgres NP gap was first identified.
Re-review
Body v2 edits are material; will dispatch a fresh
review-ticket agent. Once APPROVED, file review-1145-2026-05-04-v2 note.Related
- Forgejo issue:
forgejo_admin/westside-admin#28 - Board item: 1145 on
board-westside-admin