--- phase: 03-note-history-display plan: 01 subsystem: member-notes tags: [ui, alpine.js, note-history, search, inline-expansion] dependency_graph: requires: - "02-01 (Inline quick-add UI with per-row Alpine.js scope)" provides: - "Expandable note history panel with lazy loading and search" - "Alpine.js collapse plugin integration" - "Client-side note filtering by content/author" affects: - "resources/views/admin/members/index.blade.php (history panel UI)" - "app/Http/Controllers/Admin/MemberNoteController.php (ordering fix)" tech_stack: added: - "@alpinejs/collapse v3.x" patterns: - "Alpine.js x-collapse directive for smooth expand/collapse animation" - "Lazy loading: notes fetched only on first panel open" - "Client-side search via computed property (filteredNotes)" - "Cache synchronization: inline form updates history panel immediately" key_files: created: [] modified: - "resources/js/app.js (collapse plugin registration)" - "app/Http/Controllers/Admin/MemberNoteController.php (latest ordering + eager load optimization)" - "resources/views/admin/members/index.blade.php (history panel UI with template wrapper)" - "tests/Feature/Admin/MemberNoteTest.php (+4 new tests)" - "package.json (@alpinejs/collapse dependency)" decisions: - name: "Use Alpine.js collapse plugin instead of custom CSS transitions" rationale: "Provides smooth, accessible expand/collapse with minimal code" alternatives: "Custom CSS transitions (more code, harder to maintain)" - name: "Wrap main row + expansion row in