Review: Sprint planning UI -- dogfood the wave planner

review-1560-2026-06-22 Review

review needs-refinement

Verdict: NEEDS_REFINEMENT

Template Completeness

  • [x] Type -- Feature
  • [x] Lineage -- depends on paldocs#49, supersedes paldocs#48
  • [x] Repo -- ldraney/paldocs
  • [x] User Story -- As Lucas, sprint planning interface
  • [x] Context -- dogfood ticket, reads existing board data
  • [x] File Targets -- 4 create/modify targets, 2 do-not-touch
  • [x] Feature Flag -- none (justified: new route, no impact)
  • [x] Acceptance Criteria -- 6 criteria
  • [x] Test Expectations -- 3 test items + run command
  • [x] Constraints -- 4 constraints listed
  • [x] Checklist -- 7 items
  • [x] Related -- project-paldocs, upstream ref, story label

Traceability

  • [x] story:sprint-orchestration label present
  • [ ] story note MISSING -- [SCOPE] The project-paldocs user-stories section lists kanban, project-pages, and auth stories only. No sprint-orchestration story entry exists. Create user story entry on project-paldocs.
  • [x] arch:rails-views label present
  • [ ] arch note MISSING -- [SCOPE] arch-rails-views is referenced on project-paldocs architecture section but the actual pal-e-docs note does not exist (search returned empty). Create architecture note arch-rails-views.
  • [x] Forgejo issue -- https://forgejo.tail5b443a.ts.net/ldraney/paldocs/issues/50, open

File Targets

  • [x] app/controllers/sprint_planning_controller.rb -- to be created. No existing sprint planning controller. Correct.
  • [x] app/views/sprint_planning/ -- to be created. No existing directory. Correct.
  • [x] config/routes.rb -- exists. Currently has resources for projects, notes, boards, board_items. Sprint planning route will be added here. Correct.
  • [x] app/views/layouts/ -- exists with application.html.erb. Nav link to be added in header navbar. Correct.
  • [x] app/models/project.rb -- do-not-touch is correct: currently has no status scopes (paldocs#49 dependency)
  • [x] db/ -- do-not-touch is correct: no schema changes needed for this ticket

Repo Placement

OK. Issue filed on ldraney/paldocs, work targets ldraney/paldocs. Single repo. No mismatch.

Dependencies

  • paldocs#49 (schema ownership transfer) -- BLOCKING. Issue is open. The projects table currently has no status column. The Project model has no status scopes. The ticket explicitly says "Depends on paldocs#49 merging first (needs status scopes)" and the Context section says it "uses the new projects.status field from paldocs#49 to filter active projects." This dependency is real and verified.
  • Board item #1559 (paldocs#49) is in backlog column on board-paldocs. It has not been reviewed or moved to todo yet.
  • paldocs#48 is superseded (closed).
  • No other board items appear to block or be blocked by this ticket.

Acceptance Criteria

6 acceptance criteria. All are testable by an agent:
  • AC1: navigate to sprint planning, see active projects -- verifiable via controller test + system test
  • AC2: select projects, see board items by column -- verifiable via controller test
  • AC3: multiple project boards side-by-side -- verifiable via system test
  • AC4: backlog/todo items show points and labels -- verifiable via view test
  • AC5: identify independent tickets for wave staging -- somewhat vague for v1 read-only; acceptable since Constraints say "read-only for v1"
  • AC6: navigation link from main layout -- verifiable via view inspection
Test expectations are concrete: controller tests for active projects and board items, system test for navigation flow. Run command is rails test.

Blast Radius

Low blast radius. This is a new controller and new views -- no modification to existing controllers, models, or views beyond adding a route and a nav link. The layout change (adding a nav link) is minimal. No downstream consumers affected. No similar patterns to check for bugs.

Decomposition Assessment

4 file targets in 1 repo. 6 acceptance criteria (under the 5+ threshold but borderline). Estimated agent work: under 5 minutes for a new controller + 2-3 view templates + route + nav link. No decomposition needed.

Recommendations

  • [SCOPE] Create user story entry story-paldocs-sprint-orchestration on project-paldocs user-stories section. The story:sprint-orchestration label exists but has no backing note.
  • [SCOPE] Create architecture note arch-rails-views in pal-e-docs. Referenced on project-paldocs but note does not exist.