Review: Scaffold SvelteKit adapter-node + TypeScript + ESLint (v2)
Verdict: READY
Re-review of board item #1087 —
forgejo_admin/westside-admin#6 — column: backlog (gate: backlog→todo). Supersedes review-1087-2026-04-25 (NEEDS_REFINEMENT).Changes Since v1
- Arch label changed from
arch:sveltekit-server→arch:sveltekit-ssr(canonical entry inconvention-architecture-idsData Flow Components table). - Issue body Context now explicitly flags westside-app as NOT a transferable scaffold (adapter-static + plain JS + no ESLint), points to westside-contracts as a better reference if adapter-node, and instructs use of
npm create svelte@latest. - Added
/healthroute to Scope, AC, Test Expectations, and Checklist (needed by Dockerfile ticket #7 HEALTHCHECK). - Lineage now lists explicit blocked tickets (#1, #2, #3, #4, #5, #7, #8) — confirms downstream sequencing.
- Constraints narrowed the version-pin scope to packages actually shared with westside-app.
Template Completeness
Type=Task, reviewed against
template-issue:- [x] Type
- [x] Lineage
- [x] Repo
- [x] User Story
- [x] Context
- [x] Scope
- [x] Acceptance Criteria
- [x] Test Expectations
- [x] Constraints
- [x] Checklist
- [x] Related
Traceability
- [x] story:admin-row-crud — story note
story-westside-admin-admin-row-crud(id 1616) verified, listed in project-westside-admin user-stories - [x] arch:sveltekit-ssr — canonical entry in
convention-architecture-ids(Data Flow Components: "SvelteKit server-side rendering"). Per the convention's Mermaid-derived component model, this label points to a diagram component, not a standalone arch note. The backing diagram notes (arch-deployment-westside-admin,arch-dataflow-westside-admin) are linked from the issue Related section. - [x] type:infra — appropriate for scaffolding
- [x] Forgejo issue — #6 open, body well-formed
File Targets
N/A — Task type. Scope enumerates files to be CREATED in an empty repo. Repo confirmed exists (
forgejo_admin/westside-admin, default branch main, public). All scaffold paths are conventional SvelteKit + adapter-node.Repo Placement
OK. Issue on
forgejo_admin/westside-admin; scope entirely in that repo. Does not touch pal-e-deployments, pal-e-platform, or basketball-api.Dependencies
None upstream — first foundational ticket. Explicitly blocks #1 (Drizzle), #2 (Auth/hooks.server.ts), #3 (Tenant helper), #4 (Players list), #5 (Players edit), #7 (Dockerfile), #8 (Woodpecker). Anti-scope is explicit (no Drizzle, no auth, no Dockerfile, no CI here). Sequencing is correct.
Acceptance Criteria
7 AC, all agent-verifiable via shell commands (
npm install, npm run check, npm run build, npm run dev, node build/index.js, curl /health, ESLint+Prettier). Borderline on the 5-AC threshold but each maps 1:1 to a single command — no compound verification, no ambiguity. Test Expectations adds a build sanity check.Blast Radius
None. New empty repo, no consumers. Version-pin constraint is now scoped to packages actually shared with westside-app.
Decomposition Assessment
1 repo, ~10–11 files of scaffolding, 7 AC, all conventional
npm create svelte + adapter swap + /health + ESLint config. Estimated agent time: 5–10 minutes. AC count is one over the 5-AC trigger but the work is highly cohesive (one repo, one PR, one commit) and decomposing scaffolding would create more overhead than it saves. No decomposition needed.Recommendation
No action needed. All v1 concerns resolved:
- arch label is now canonical and matches the convention
- westside-app misleading reference is explicitly disclaimed in Context
- /health route requirement is explicit (unblocks #7)
- Blocker list is explicit (improves planning for downstream tickets)
Ready to advance backlog → todo.
Related
review-1087-2026-04-25— v1 (NEEDS_REFINEMENT)story-westside-admin-admin-row-crudconvention-architecture-idsboard-westside-admin