Review: feat: collapsible accordion sections sorted by most recently modified
Verdict: NEEDS_REFINEMENT
Template Completeness
- [x] Type -- Feature
- [x] Lineage -- Standalone, UX improvement
- [x] Repo -- ldraney/paldocs
- [x] User Story -- present, well-formed
- [x] Context -- present, clear motivation
- [x] File Targets -- 4 targets listed + exclusions
- [x] Feature Flag -- "none" (appropriate for CSS/view-only change)
- [x] Acceptance Criteria -- 7 criteria listed
- [x] Test Expectations -- 2 test expectations + run command
- [x] Constraints -- present (HTML details, lightweight, accessible)
- [x] Checklist -- present
- [x] Related -- references project-paldocs and issue #13
All required sections present per
template-issue-feature.Traceability
- [x] story:project-pages label -- present on board item
- [ ] story note MISSING --
story-paldocs-project-pagesis referenced inproject-paldocsuser-stories section but the note itself does not exist in pal-e-docs. [SCOPE] Create story notestory-paldocs-project-pages. - [x] arch:rails-hotwire label -- present on board item
- [ ] arch note MISSING -- no
arch-rails-hotwirenote found in pal-e-docs. [SCOPE] Create architecture notearch-rails-hotwirefor the Stimulus/Turbo component. - [x] Forgejo issue -- ldraney/paldocs#25, state: open
File Targets
- [x]
app/views/projects/show.html.erb-- verified: exists, contains flat note-group lists (lines 36-54) and flat repo-list (lines 57-76) that need accordion conversion - [x]
app/controllers/projects_controller.rb-- verified: exists, line 8 sorts bytitle(sort_by(&:title).group_by(&:note_type)), needs changing toupdated_at: :desc - [x]
app/assets/stylesheets/-- verified: directory exists,application.csspresent, no existing accordion styles - [x]
app/javascript/controllers/-- verified: directory exists, Stimulus fully configured via importmap with eager loading. Existing controllers:hello_controller.js,kanban_controller.js. New accordion controller would register automatically.
Repo Placement
OK. Issue filed on
ldraney/paldocs, all file targets are in the paldocs Rails app. Single-repo change.Dependencies
- BLOCKER: Issue #13 (
feat: add Postgres trigger to bump projects.updated_at) is still open and in_progress on the board (item #1344). The issue body claims "The trigger from #13 ensuresprojects.updated_atstays fresh. Sort order is ready." However, the migration exists atdb/migrate/20260606120000_add_bump_project_updated_at_trigger.rbbut the issue is not yet closed/merged. The accordion sorting depends onnotes.updated_at(notprojects.updated_at), so the core accordion feature can proceed, but the Related section's claim about #13 being done is inaccurate. - No other board items block this work.
- Item #1385 (ldraney/paldocs#24) shares the
story:project-pageslabel but hasarch:rails-views-- no direct conflict.
Acceptance Criteria
- [x] AC 1-6: Verifiable -- accordion rendering, counts, sort order, and "show all" link can all be tested in integration tests
- [ ] AC 7: "Accordion state persists during the page session (doesn't collapse on Turbo navigation)" -- this is testable but requires Turbo-aware system testing (Capybara + JS driver). The spec directory has no system/feature specs yet, only
rails_helper.rbandspec_helper.rb. [BODY] Clarify whether AC 7 requires a system test or just a Stimulus implementation note (e.g., Turbo permanent attribute).
Blast Radius
Low. The accordion change is isolated to the project show page. The flat-list pattern (
note-group, note-list, repo-list CSS classes) is used only in projects/show.html.erb. No other views share these class names. No downstream consumers affected.Decomposition Assessment
- 4 file targets in 1 repo -- OK
- 7 acceptance criteria -- borderline but manageable since they are tightly related (all accordion behavior)
- Estimated agent work: ~3-4 minutes (view template + controller query change + CSS + optional Stimulus controller)
- No decomposition needed.
Recommendations
- [SCOPE] Create story note
story-paldocs-project-pages-- referenced in project-paldocs user-stories section but note does not exist - [SCOPE] Create architecture note
arch-rails-hotwirefor the Hotwire/Stimulus/Turbo component - [BODY] Clarify AC 7 (Turbo persistence): specify implementation approach (e.g.,
data-turbo-permanentattribute on accordion containers) and whether a system test is expected given no existing system test infrastructure - [BODY] Update dependency note: issue #13 is still in_progress, not complete. The accordion sorting uses
notes.updated_at(which already exists in the DB) so the feature is not actually blocked, but the Related section should reflect accurate status