Review: Integrate playground kanban into pal-e-app
Verdict: NEEDS_REFINEMENT
Template Completeness
- [x] Type — Feature
- [x] Lineage — Standalone, board-pal-e-docs kanban MVP
- [x] Repo — forgejo_admin/pal-e-app
- [x] User Story — present, clear
- [x] Context — present
- [x] File Targets — present
- [x] Acceptance Criteria — 4 items
- [x] Test Expectations — 3 items
- [x] Constraints — present (no Tailwind, copy-paste from playground)
- [x] Checklist — present
- [x] Related — present
Traceability
- [x] story:kanban-daily-review — daily review workflow
- [ ] arch:X label — MISSING. Work touches frontend board component. Should be
arch:frontend. Consistent gap across all kanban-daily-review items. - [x] Forgejo issue — forgejo_admin/pal-e-app#47, open
File Targets
- [x]
src/routes/boards/[slug]/+page.svelte— verified: exists (31k), contains board component with drag-and-drop, column rendering, item management - [x]
src/app.css— verified: exists (35k), contains design tokens and column color vars - [ ]
src/routes/boards/[slug]/+page.server.ts— STALE REFERENCE: listed in "Files NOT to touch" but file no longer exists. App migrated to adapter-static + client-side fetching (board item #414, done). Issue body needs update to remove this reference.
Repo Placement
OK. Issue filed on forgejo_admin/pal-e-app, all file targets are in pal-e-app. Single-repo scope.
Dependencies
- BLOCKER: Board item #297 (Playground: kanban prototype, issue #46) is
in_progress. This ticket explicitly depends on playground approval. Cannot move to next_up until #297 reaches done and Lucas approves the playground design. - Board item #474 (Port: board page, issue #72) is
done— the current board page already ported from playground. This ticket would replace/enhance that work.
Acceptance Criteria
- "Board view matches playground-approved design" — requires human visual comparison, not agent-automatable. Suggest adding: "screenshot comparison posted on PR"
- "Real API data renders correctly" — testable, but no specific test command given
- "Drag-and-drop works with optimistic updates" — testable manually, no automated test infrastructure for DnD in this repo
- "Auth gating: board mutations require login" — testable, matches existing pattern in the codebase
Test Expectations reference "visual comparison" and manual interaction. No automated test commands specified — acceptable given frontend visual work, but agent verification will be limited to build success + no TypeScript errors.
Blast Radius
src/app.cssis shared across all routes (35k). Merging CSS vars from playground could affect other pages if var names collide or existing vars are modified.src/lib/columns.tsandsrc/lib/colors.tsare imported by the board page — changes to column handling could affect the boards list page (src/routes/boards/+page.svelte).- No other board-specific components exist outside the boards route.
Decomposition
2 file targets, 1 repo, 4 acceptance criteria — under thresholds. However, the existing +page.svelte is 31k and this is a full design replacement with drag-and-drop + optimistic updates + auth gating. Estimated agent time: borderline 5 minutes. Single agent pass is feasible if playground CSS is finalized, but tight. No decomposition needed if scope stays to "copy playground HTML + wire data bindings."
Recommendation
[LABEL]Addarch:frontendlabel to board item #298[BODY]Remove stale reference tosrc/routes/boards/[slug]/+page.server.tsin "Files NOT to touch" — file no longer exists after adapter-static migration[BODY]Add note that playground kanban board item #297 must be done before this moves to next_up[SCOPE]Clarify: does "replace with playground-approved design" mean full rewrite of the 31k +page.svelte, or incremental CSS/layout changes on top of the existing ported board page (#72)?