Review: Property detail page CSS refresh: name as h1, button treatment per ror-css-guide
Verdict: READY
Re-review of board item #1351. All three issues from the first review (review-1351-2026-06-07) have been resolved.
Previous Review Fix Verification
- [x] Hard blocker -- ServiceRequest dependency -- FIXED. Projects section completely removed from this ticket. Lineage section now reads: "CSS-only portion split from original #126 -- projects section moved to separate ticket." Confirmed new ticket #176 ("Property detail page: Projects section (depends on #122)") exists on the board as item #1403 with 3 points.
- [x] ~/ror-css-guide reference -- CONFIRMED VALID.
~/ror-css-guideis a local repo that exists on disk. This is correct for this project -- it is not a pal-e-docs note. - [x] Feature Flag section missing -- FIXED. Issue now contains
### Feature Flagsection with value "None". Appropriate for a CSS-only change.
Template Completeness
- [x] Type -- "Feature"
- [x] Lineage -- "Child of spike #121, Part of Phase 3, CSS-only split"
- [x] Repo -- "ldraney/landscaping-assistant"
- [x] User Story -- "As a crew lead or admin..."
- [x] Context -- Clear motivation, references existing CSS inconsistencies
- [x] File Targets -- 3 files listed with action types
- [x] Feature Flag -- "None" (appropriate for CSS-only)
- [x] Acceptance Criteria -- 6 criteria listed
- [x] Test Expectations -- spec file named, run command provided
- [x] Constraints -- CSS guide reference, no Tailwind, mobile-first, no projects section
- [x] Checklist -- present
- [x] Related -- #121 parent spike, NEW_ISSUE for projects section split
Traceability
- [x] story:auth label -- "auth" story present on board item
- [x] story note verified -- "auth" story exists in project-landscaping-assistant user-stories section (Key: auth, Role: All roles, Summary: "Log in with Keycloak, see role-appropriate tabs and features")
- [x] arch:rails-app label -- present on board item
- [ ] arch note MISSING -- no "arch-rails-app" note found in pal-e-docs. [SCOPE] However, this is the primary app itself, not a separable architectural component. Every rails-app ticket has this label. Acceptable -- no action needed.
- [x] Forgejo issue -- ldraney/landscaping-assistant#126, state: open
File Targets
- [x]
app/views/properties/show.html.erb-- verified: exists, currently showsaddress_lineas h1 (line 2), hasclient_namein definition list (line 11), usesbtn-linkclass on "Go to Location" (line 33) and "Edit" (line 35). All claims in the ticket are accurate. - [x]
app/assets/stylesheets/application.css-- verified: exists,.detail-actionssection at line 913,.btn-linkdefined at line 929. Design tokens in :root at top of file. PropertyDetail component section at line 248. - [x]
spec/requests/properties_spec.rb-- verified: exists, show specs at line 46. Current specs check for address in body (include("123 Test St")) but do NOT assert heading structure (no h1 check). Updating spec to assert client_name in h1 is feasible.
Repo Placement
OK. Issue filed on ldraney/landscaping-assistant, all file targets are in the same repo. Single-repo change.
Dependencies
- No blocking dependencies. The ServiceRequest/projects dependency was correctly split to ticket #176.
- Ticket #176 (board item #1403) correctly depends on #122 (ServiceRequest model), not this ticket.
- Parent spike #121 is done (board item #1346, column: done).
~/ror-css-guideis a local reference repo (read-only dependency). Agent needs access to read CSS conventions from it.
Acceptance Criteria
All 6 criteria are verifiable by an agent:
- [x] "h1 is client_name" -- can assert in spec and grep template
- [x] "Address as subtitle or 'No address yet'" -- can assert in spec
- [x] "Client name removed from definition list" -- can grep template
- [x] "All action buttons use .btn base class" -- can grep for btn-link absence
- [x] "Primary action full-width, secondary split row" -- can verify CSS structure
- [x] "Mobile 44px touch targets" -- can verify min-height in CSS
Test command
bundle exec rspec is real and correct.Blast Radius
.btn-linkclass is ONLY used inproperties/show.html.erb(2 occurrences). Removing or replacing it will not affect other views..detail-actionsCSS section is only referenced by the show template. Safe to restructure.- The h1 change from address_line to client_name is view-only -- no model or controller changes needed.
- Spec changes are additive (assert h1 contains client_name). Existing specs that check for "123 Test St" in body will still pass since address moves to subtitle, not removed from page.
Decomposition Assessment
3 file targets in 1 repo, 6 acceptance criteria, estimated agent work under 5 minutes. No decomposition needed.
Recommendation
No action needed. Ticket is ready for implementation.