Review: Week tab: show unassigned properties section
Verdict: READY
Template Completeness
- [x] Type — Feature
- [x] Lineage — Child of #28
- [x] Repo — ldraney/landscaping-assistant
- [x] User Story — present and well-formed
- [x] Context — explains motivation and references PR #29 convention
- [x] File Targets — 3 modify targets, 2 do-not-touch entries
- [x] Acceptance Criteria — 4 items
- [x] Test Expectations — 2 integration tests + run command
- [x] Constraints — No Tailwind, existing patterns, mobile-friendly
- [x] Checklist — standard 3 items
- [x] Related — project + parent ticket
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 — ldraney/landscaping-assistant#30, open
File Targets
- [x]
app/controllers/weeks_controller.rb— verified: exists, currently queries Property.active and WorkQueueItem completions but has no unassigned logic yet - [x]
app/views/weeks/index.html.erb— verified: exists, currently shows week grid with address_line as primary (line 31), client_name as secondary (line 32) — matches ticket's claim that swap is needed - [x]
app/assets/stylesheets/application.css— verified: exists, will need unassigned section styles - [x] Do-not-touch:
app/views/work_queue_items/— confirmed separate concern - [x] Do-not-touch:
config/routes.rb— no new routes needed for display-only feature
Repo Placement
OK. Issue filed on ldraney/landscaping-assistant, all file targets are in the same repo. Single-repo change.
Dependencies
- Parent issue #28 ("Week tab: show unassigned properties, add to day, move between days") is open — this is a child decomposition of that parent. No blocker.
- Board item #1265 ("Week tab: add property to a specific day") and #1266 ("Week tab: move property between days") are sibling tickets from the same parent — no ordering dependency, they are independent features.
- PR #29 (client_name as primary convention) is already merged — prerequisite satisfied.
- Property.active scope exists (line 6 of property.rb) — no model changes needed.
- WorkQueueItem model already has work_date and property_id — query for unassigned is straightforward.
Acceptance Criteria
All 4 criteria are verifiable by an agent:
- "Unassigned section shows below the week grid" — check DOM structure
- "Lists active properties with no work_queue_item in the displayed week" — integration test with fixtures
- "Week grid shows client_name as primary, address as secondary meta" — check HTML output order
- "Empty state when all properties are scheduled" — test with all properties queued
Test command
bin/rails test in the issue should be bundle exec rspec (project uses RSpec, not Minitest). However, existing spec file at spec/requests/weeks_spec.rb already provides patterns the agent can follow. Minor issue — agent can infer correct command from project setup.Blast Radius
Low risk. The client_name swap only affects weeks/index.html.erb. Other views (work_queue_items, properties/manage) already use client_name as primary — this change brings Week tab into consistency. No downstream consumers affected.
Decomposition Assessment
3 file targets in 1 repo. 4 acceptance criteria. Estimated agent work: ~3 minutes. No decomposition needed.
Recommendation
[BODY]Fix test run command:bin/rails test→bundle exec rspec(project uses RSpec)[SCOPE]Create architecture note arch-rails-app for component rails-app (missing from pal-e-docs, shared across many board items)
Neither issue blocks implementation. The arch note is a platform-wide gap (affects all arch:rails-app items), not specific to this ticket. The test command is a minor documentation inaccuracy the agent will self-correct from project structure.