Review: Fix HostAuthorization blocking all RSpec request specs
Verdict: READY
Template Completeness
- [x] Type — Bug
- [x] Lineage — Standalone, discovered during PR #102
- [x] Repo — ldraney/landscaping-assistant
- [x] What Broke — clear description with error message
- [x] Repro Steps — 3 concrete steps
- [x] Expected Behavior — clear and specific
- [x] Environment — local Docker dev, Rails 8.1.3, Ruby 3.4.0
- [x] Acceptance Criteria — 3 criteria, all verifiable
- [x] Related — PR #102, file target with line number
Traceability
- [x] story:testing label — testing infrastructure story
- [ ] story note MISSING — [SCOPE] "testing" is not listed in project-landscaping-assistant user-stories section. Create user story entry for "testing" on the project page. Note: two completed items (#1288, #1289) also use story:testing, so this is an established label — the project page just needs updating.
- [x] arch:rails-app label — Rails application component
- [ ] arch note MISSING — [SCOPE] No arch-rails-app note found in pal-e-docs. Create architecture note arch-rails-app for the Rails application component. Note: this label is used by 20+ board items across the project, so the note is well overdue.
- [x] Forgejo issue — ldraney/landscaping-assistant#103, open
File Targets
- [x]
config/environments/test.rb:32— verified: line 32 containsconfig.hosts.clearwith comment "Allow any host in test (RSpec default is www.example.com)." This is exactly what the ticket describes.
Repo Placement
Correct. Issue is filed on ldraney/landscaping-assistant and the fix is in the same repo. Single-repo fix — no cross-repo concerns.
Dependencies
No blocking dependencies. Related board items:
- #1288 (done) — "Request specs for properties CRUD + resolve" — same story:testing label, this ticket created the request specs that are now broken
- #1289 (done) — "System test infra + critical path browser specs" — same story:testing label, sister testing infrastructure work
- PR #102 mentioned in Lineage — where the bug was discovered
No items in in_progress or next_up that block or are blocked by this ticket.
Acceptance Criteria
All 3 criteria are agent-verifiable:
- "Bug no longer reproduces — bundle exec rspec passes request specs" — verifiable by running
docker compose exec web bundle exec rspec spec/requests/ - "No regression in development or production host config" — verifiable by inspecting that development.rb and production.rb host configs are unchanged
- "Fix is minimal (1-2 lines in test.rb)" — verifiable by checking diff size
Blast Radius
Low. The fix is isolated to
config/environments/test.rb — a test-only configuration file. Development host config (config.hosts << "landscaping-dev.tail5b443a.ts.net") and production config (hosts commented out) are not affected. The fix will unblock all 7 request spec files (664 lines total) covering properties, work queue, weeks, uploads, health, metrics, and client errors.No sibling services to check — this is a single-app project. The pattern (
config.hosts.clear not working in Rails 8.1) could affect other rails-base-derived apps if they upgrade to Rails 8.1, but that is out of scope for this ticket.Decomposition Assessment
No decomposition needed. Single file target, 3 acceptance criteria, estimated agent work well under 5 minutes. This is a 1-point bug fix — change 1-2 lines in test.rb.
Recommendations
- [SCOPE] Create user story entry "testing" on project-landscaping-assistant user-stories section (pre-existing gap — 3 completed items already use this label)
- [SCOPE] Create architecture note arch-rails-app for the Rails application component (pre-existing gap — 20+ board items use this label)
Neither of these blocks the ticket — they are documentation debt items that predate this issue. The ticket itself is well-scoped and ready for implementation.