- [x] Step 1: Audit current codebase for existing search and provider logic on frontend and server - [x] Step 2: Design and scaffold Provider Registry on frontend and server - [x] Step 3: Implement SearchService with multi-provider params and HTTP request - [x] Step 8: Implement backend /api/search with providers param and fan-out to server/providers handlers - [ ] Step 4: Build SearchBoxComponent with chips, @autocomplete, and keyboard shortcuts - [ ] Step 5: Build ProviderPickerComponent (Ctrl/⌘+K modal) with filtering and apply - [ ] Step 6: Build SearchSuggestionsComponent with grouped sections and empty-state handling - [ ] Step 7: Add router query-param sync and default provider preference loading - [ ] Step 9: Persist default providers preference in user profile (server + client integration points) - [ ] Step 10: Add keyboard accessibility and a11y behaviors (Tab/Shift+Tab, Esc) - [ ] Step 11: Write unit tests (SearchService, ProviderPicker toggle, @ parsing) - [ ] Step 12: Write basic e2e scenarios for providers filtering and deep-link - [ ] Step 13: Add minimal telemetry hooks and events - [ ] Step 14: Update README UX GIF and usage notes Updated TODO status Step 4: Build SearchBoxComponent with chips, @autocomplete (initial), and keyboard shortcuts Step 5: Build ProviderPickerComponent (Ctrl/⌘+K modal) with filtering and apply — finish History column + a11y in modal Step 6: Build SearchSuggestionsComponent with grouped sections and empty-state handling — add per-provider unsupported rows + deep-links Step 7: Add router query-param sync and default provider preference loading (initial sync in Search page) Step 9: Persist default providers preference in user profile (client + server endpoints wired) Step 10: Add keyboard accessibility and a11y behaviors (Tab/Shift+Tab, Esc) — finish trap/aria in modal Step 11: Write unit tests (SearchService, ProviderPicker toggle, @ parsing) Step 12: Write basic e2e scenarios for providers filtering and deep-link Step 13: Add minimal telemetry hooks and events Step 14: Update README UX GIF and usage notes