Review: Week tab: add property to a specific day
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 hasresources :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
backlogcolumn 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
WorkQueueItemmodel has a uniqueness constraint onproperty_idscoped towork_date— adding from the week view must handle duplicates gracefully (same as Today tab does). - The existing
work_queue_items#createcontroller 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 notearch-rails-appfor 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.