Review: Day detail page: controller, route, and basic show view
Verdict: READY
Re-review of board item #1472. Previous review (review-1472-2026-06-15) flagged two issues: (1) invalid issue references in Related section, (2) ambiguous role gating. Both fixes verified adequate.
Template Completeness
- [x] Type -- Feature
- [x] Lineage -- Decomposed from #233 (1 of 4)
- [x] Repo -- ldraney/landscaping-assistant
- [x] User Story -- As an admin or super admin
- [x] Context -- Detailed motivation and rationale
- [x] File Targets -- 3 to create, 2 to modify, 2 NOT-touch guards
- [x] Feature Flag -- none (with rationale: new route, not toggle)
- [x] Acceptance Criteria -- 6 items
- [x] Test Expectations -- 7 items with run command
- [x] Constraints -- 4 items
- [x] Checklist -- present
- [x] Related -- present, all references verified valid
Traceability
- [x] story:weekly-tracking label -- verified in project-landscaping-assistant user-stories table
- [x] arch:rails-app label -- main app architecture, documented in repo docs/app-architecture.md
- [x] Forgejo issue #234 -- open, valid URL
File Targets
- [x]
config/routes.rb-- verified exists, no existing /days route, modification target clear - [x]
app/views/weeks/index.html.erbline 81 -- verified: currentlywork_queue_items_path(date: day), matches ticket claim exactly - [x]
app/controllers/days_controller.rb-- confirmed does not exist yet (to create) - [x]
app/views/days/show.html.erb-- confirmed does not exist yet (to create) - [x]
spec/requests/days_spec.rb-- confirmed does not exist yet (to create) - [x]
WorkQueueItem.where(work_date: @date)-- confirmed work_date field exists on model (validates :work_date, presence: true) - [x]
require_role :admin, :super_admin-- confirmed exact pattern used in WeeksController line 2 - [x]
authenticate_user!-- confirmed as before_action in ApplicationController line 13 (inherited automatically)
Repo Placement
OK. Issue is filed on ldraney/landscaping-assistant, all file targets are within this repo. Single-repo change.
Dependencies
- Parent: #233 (decomposed) -- open, verified
- Blocked by: nothing -- this is the foundation ticket
- Blocks: #235, #236, #237 -- all verified open on Forgejo, all exist as board items (#1473, #1474, #1475)
- Dependencies documented correctly in issue Related section
Acceptance Criteria
All 6 AC are concrete and agent-verifiable:
- GET /days/2026-06-17 returns 200 -- verifiable via request spec
- Page shows queued properties -- verifiable via response body check
- Back link to Week tab -- verifiable via response body link check
- Week tab day labels updated -- verifiable by checking weeks/index.html.erb output
- Invalid date handling -- verifiable via redirect check
- Non-admin role denial -- verifiable via role-based request specs
Test Expectations map 1:1 to AC with concrete run command:
bundle exec rspec spec/requests/days_spec.rbBlast Radius
Low. New controller and route with no modification to existing Today/WorkQueueItems behavior. The only modification to existing code is the link target on weeks/index.html.erb line 81 (changing path helper). NOT-touch guards explicitly protect the Today view files. No downstream consumers affected beyond the Week tab link change.
Decomposition Assessment
3 files to create, 2 files to modify, all in 1 repo. 6 AC. Estimated agent work well under 5 minutes -- this is a straightforward controller/view/route/spec ticket. No decomposition needed.
Previous Review Fixes Verified
- [x] Fix 1 (invalid issue references): Related section now references #233 (parent, verified open), #235/#236/#237 (blockers, all verified open). No invalid references remain.
- [x] Fix 2 (ambiguous role gating): Role gating is now explicit in three places -- User Story ("As an admin or super admin"), Context paragraph (dedicated explanation of why admin/super_admin only), and File Targets (
require_role :admin, :super_admin). Matches WeeksController pattern exactly.
Recommendation
No action needed.