Review: Week tab: add property to a specific day

review-1265-2026-05-24 Review

review needs-refinement

Verdict: NEEDS_REFINEMENT

Template Completeness

  • [x] Type
  • [x] Lineage
  • [x] Repo
  • [x] User Story
  • [x] Context
  • [x] File Targets
  • [x] Acceptance Criteria
  • [x] Test Expectations
  • [x] Constraints
  • [x] Checklist
  • [x] Related

Traceability

  • [x] story:weekly-tracking label — "Track weekly completion across all active properties"
  • [x] story note verified — found in project-landscaping-assistant user-stories section
  • [x] arch:rails-app label — Rails application component
  • [ ] arch note MISSING — [SCOPE] Create architecture note arch-rails-app for component rails-app
  • [x] Forgejo issue — https://forgejo.tail5b443a.ts.net/ldraney/landscaping-assistant/issues/31, open

File Targets

  • [x] app/views/weeks/index.html.erb — verified: exists, currently shows week grid with properties and day columns but no unassigned section or add buttons
  • [x] app/controllers/weeks_controller.rb — verified: exists, has index action querying Property.active and WorkQueueItem date ranges
  • [x] config/routes.rb — verified: exists, currently has resources :weeks, only: [:index] (will need additional action)
  • [x] app/assets/stylesheets/application.css — verified: exists
  • [x] app/controllers/work_queue_items_controller.rb (do NOT touch) — verified: exists, has create action with Turbo Stream response

Repo Placement

OK — issue filed on ldraney/landscaping-assistant, all file targets are in this repo. Single-repo change.

Dependencies

  • HARD BLOCKER: Issue #30 (board item #1264, "Week tab: show unassigned properties section") is in backlog column and open in Forgejo. This ticket explicitly depends on #30 to provide the unassigned section that this ticket adds buttons to.
  • Parent issue #28 ("Week tab: move, add, and show unassigned properties") is board item #1263, also in backlog.
  • Related sibling: #32 ("Week tab: move property between days") is board item #1266, also in backlog — no direct dependency but shares the same view file.

Acceptance Criteria

  • [x] "Each unassigned property has day-selection buttons (M T W T F S S)" — testable via integration test checking button presence
  • [x] "Tapping a day button queues the property for that day" — testable, reuses WorkQueueItem.create pattern (property_id + work_date uniqueness constraint exists in model)
  • [x] "Property moves from unassigned list to the grid after adding" — testable via Turbo Stream assertions
  • [x] "Works via Turbo Stream (no full page reload)" — testable, existing turbo_stream.erb patterns exist in work_queue_items views
All criteria are agent-verifiable. Test commands are real (bin/rails test).

Blast Radius

  • The WorkQueueItem model has a uniqueness constraint on property_id scoped to work_date — adding from the week view must handle duplicates gracefully (same as Today tab does).
  • The existing work_queue_items#create controller is marked "do not touch" — the ticket correctly identifies reuse but the agent will need a separate action (likely on weeks_controller) or a new route that still calls WorkQueueItem.create internally.
  • No sibling services affected — single Rails app.

Decomposition Assessment

4 file targets in 1 repo, 4 acceptance criteria, estimated agent time ~3-4 minutes. No decomposition needed.

Recommendations

  • [SCOPE] Create architecture note arch-rails-app for the Rails application component in pal-e-docs. This is a shared gap across many board items with the same label.
  • [SCOPE] Issue #30 (prerequisite) must be completed before this ticket can move to next_up. Dependency is correctly documented in the issue but the board does not enforce ordering — human/agent must respect the sequence.