Review: Week view + properties tab + four-tab nav

review-1252-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 (with DO/DON'T sections)
  • [x] Acceptance Criteria (7 items)
  • [x] Test Expectations
  • [x] Constraints
  • [x] Checklist
  • [x] Related
All required sections present. Template is complete.

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 architecture
  • [ ] arch note MISSING — [SCOPE] Create architecture note arch-rails-app for component rails-app
  • [x] Forgejo issue — ldraney/landscaping-assistant#10, state: open

File Targets

  • [x] app/controllers/weeks_controller.rb — NEW file, correct location (app/controllers/ exists)
  • [x] app/views/weeks/index.html.erb — NEW file, new directory needed (app/views/weeks/)
  • [x] app/controllers/properties_controller.rb — EXISTS, will add toggle_active action
  • [x] app/views/properties/manage.html.erb — NEW file, directory exists (app/views/properties/)
  • [x] app/views/layouts/application.html.erb — EXISTS, currently has 2-tab nav, will expand to 4
  • [x] config/routes.rb — EXISTS, currently has properties + work_queue_items resources
  • [x] app/assets/stylesheets/application.css — EXISTS, has bottom-nav component at line 228
  • [x] app/javascript/controllers/location_controller.js — DO NOT TOUCH, confirmed exists
  • [x] db/migrate/ — DO NOT TOUCH, correct (no schema changes needed after #9 merges)
All file targets verified. Paths are accurate and follow established Rails conventions.

Repo Placement

OK. Issue filed on ldraney/landscaping-assistant, all file targets are within that repo. Single-repo feature.

Dependencies

  • #9 (Property active/inactive status) — open PR on branch 9-property-active-status, currently in review. This ticket depends on the active column which #9 adds. The properties table currently has NO active column in schema.rb. This dependency is correctly documented in both Lineage and Context sections.
  • #8 (Parent) — board item #1250, in backlog. This ticket is Phase 2 of the decomposition. Documented.
  • No blockers on this ticket from other items — only #9 blocks it, and #9 is in PR review.

Acceptance Criteria

7 acceptance criteria, all verifiable by an agent:
  • AC 1-3 (week view): testable via request spec hitting weeks#index
  • AC 4-5 (properties tab): testable via request spec + DOM assertions
  • AC 6 (four-tab nav): testable via visiting each tab and checking is-active class
  • AC 7 (Turbo Stream toggle): testable via request spec with Accept: text/vnd.turbo-stream.html
Test commands are real (bundle exec rspec). Criteria are specific and measurable.

Blast Radius

  • Nav layout change — expanding from 2 to 4 tabs affects every page (layout is shared). The nav CSS uses flex: 1 so tabs will auto-size, but 4 tabs on narrow screens may need testing.
  • properties_controller.rb — adding toggle_active action to existing controller. Current actions: index, show, create, update, resolve. New action is additive, low risk.
  • No downstream consumers — this is a single-user app with no API consumers.

Decomposition Assessment

7 file targets in 1 repo, 7 AC, 3 test expectations. All within a single Rails app following established patterns (Turbo Streams, design tokens, bottom nav). Estimated agent work: 4-5 minutes. Borderline but fits in a single pass — no decomposition needed.

Recommendation

  • [SCOPE] Create architecture note arch-rails-app in pal-e-docs. This note should document the Rails app architecture patterns (design tokens, Stimulus controllers, Turbo Streams, controller conventions) that multiple tickets reference.