Review: Week tab: move, add, and show unassigned properties
Verdict: NEEDS_REFINEMENT
Template Completeness
- [x] Type — Feature
- [x] Lineage — Standalone, discovered during daily workflow usage
- [x] Repo — ldraney/landscaping-assistant
- [x] User Story — present, well-formed
- [x] Context — adequate background
- [x] File Targets — 4 modify/create targets, 2 do-not-touch
- [x] Acceptance Criteria — 4 items
- [x] Test Expectations — 2 integration tests + run command
- [x] Constraints — No Tailwind, Turbo/Stimulus patterns, mobile-friendly
- [x] Checklist — present
- [x] Related — references project and related issues
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/28, open
File Targets
- [x]
app/views/weeks/index.html.erb— verified: exists, currently shows read-only week grid with completions/queued indicators. Will need significant additions for move/add UI and unassigned section. - [x]
app/controllers/weeks_controller.rb— verified: exists with index action only. Currently has onlyresources :weeks, only: [:index]in routes. Will need new routes + actions for move/add. - [x]
app/javascript/controllers/— verified: directory exists with sortable_controller.js, filter_controller.js, etc. New Stimulus controller needed for week interactions. - [x]
app/assets/stylesheets/application.css— verified: exists.
Repo Placement
OK — issue filed on ldraney/landscaping-assistant, all changes are in that repo.
Dependencies
- Issue #8 "Weekly tracking + property active/inactive" (board item 1250, done) — established the week view foundation this builds on.
- Issue #10 "Week view + properties tab + four-tab nav" (board item 1252, done) — created the current week grid layout.
- No blocking items in in_progress column.
- The existing WorkQueueItem model and controller patterns (create, destroy, reorder) provide the interaction model to follow.
Acceptance Criteria
Criteria are testable but somewhat vague on the "move" mechanism:
- "Can move a property from one day to another" — does not specify whether this is drag-and-drop or button-based. The existing sortable_controller uses Sortable.js for drag within a single day; cross-day drag is significantly more complex.
- "Can add a property to a specific day" — clear, follows existing pattern from Today tab.
- "Unassigned properties visible" — clear, straightforward query.
- "Can add an unassigned property to a day" — clear, subset of add functionality.
Blast Radius
- Routes change needed: currently
resources :weeks, only: [:index]— needs additional member/collection routes for move and add actions. - WorkQueueItem create/destroy patterns in work_queue_items_controller.rb are the canonical pattern for queue manipulation. The Week tab will either reuse those endpoints or add parallel ones — the ticket should clarify which approach.
- Turbo Stream patterns are well-established (create.turbo_stream.erb, update.turbo_stream.erb, destroy.turbo_stream.erb in work_queue_items views). Week tab should follow same convention.
- No impact on other services or repos.
Decomposition Assessment
NEEDS DECOMPOSITION — route to skill-decompose-ticket.
- File targets: 4 files, 1 repo — within threshold
- Acceptance criteria: 4 AC + 2 test expectations = 6 verifiable items — exceeds the >5 threshold
- Estimated agent time: >5 minutes. Scope includes: new routes, 2+ new controller actions, new Stimulus controller, significant view template changes (unassigned section + move/add UI), CSS additions, and 2 integration tests. Each AC represents distinct functionality (move vs. add vs. unassigned display).
- Recommended decomposition: Split into 2-3 sub-tickets: (1) Unassigned properties section (query + display), (2) Add property to day from Week tab, (3) Move property between days.
Recommendation
[SCOPE]Create architecture note arch-rails-app for component rails-app (shared across multiple board items using this label).[BODY]Clarify AC #1: specify whether "move" is drag-and-drop or button-based (button-based is simpler and more mobile-friendly given the constraint).[BODY]Clarify whether Week tab actions reuse WorkQueueItemsController endpoints or add new actions to WeeksController.[DECOMPOSE]6 verifiable items, estimated >5 min agent time across 3 distinct functional areas. Route to skill-decompose-ticket. Suggested split: (1) Unassigned section, (2) Add to day, (3) Move between days.