Description
The dashboard quick search bar and hold list add-item search currently only search Asset records. Users expect these to also surface Locations, Categories, and Hold Lists when the query matches — providing a unified "search everything" experience.
With the recent consolidation of all asset search callers onto build_asset_search (FTS + ranking), the asset search path is solid. But the quick search and hold list resolution don't reach beyond the Asset model.
Use Case
- A user types a location name into the dashboard search bar expecting to navigate there — gets no results.
- A user searching for a category by name in the dashboard expects to see assets in that category or a link to the category itself.
- Hold list add-item search could benefit from matching location-scoped assets or surfacing category context to help users find the right item faster.
Proposed Approach
- Dashboard quick search (
asset_search autocomplete): Return grouped results — Assets (existing), Locations, Categories — each as a labelled section in the dropdown. FTS for assets (already done), icontains for locations/categories (small tables, FTS unnecessary).
- Hold list add-item: The
resolve_asset_from_input fallback (step 3e) already searches assets broadly. Consider whether location/category context should narrow results or just improve disambiguation messaging.
- Build a lightweight
search_locations / search_categories helper alongside build_asset_search to keep the pattern consistent.
Spec Consideration
S2.6.1 covers asset text search only. Cross-entity search from the dashboard/hold list is new scope that would need a spec addition (likely a new S2.6.5 or extension to S2.6.1).
Additional Context
Related work: Group 1–2 of the search consolidation (build_asset_search FTS service + caller migration) is complete. This issue builds on that foundation.
Description
The dashboard quick search bar and hold list add-item search currently only search Asset records. Users expect these to also surface Locations, Categories, and Hold Lists when the query matches — providing a unified "search everything" experience.
With the recent consolidation of all asset search callers onto
build_asset_search(FTS + ranking), the asset search path is solid. But the quick search and hold list resolution don't reach beyond the Asset model.Use Case
Proposed Approach
asset_searchautocomplete): Return grouped results — Assets (existing), Locations, Categories — each as a labelled section in the dropdown. FTS for assets (already done),icontainsfor locations/categories (small tables, FTS unnecessary).resolve_asset_from_inputfallback (step 3e) already searches assets broadly. Consider whether location/category context should narrow results or just improve disambiguation messaging.search_locations/search_categorieshelper alongsidebuild_asset_searchto keep the pattern consistent.Spec Consideration
S2.6.1 covers asset text search only. Cross-entity search from the dashboard/hold list is new scope that would need a spec addition (likely a new S2.6.5 or extension to S2.6.1).
Additional Context
Related work: Group 1–2 of the search consolidation (build_asset_search FTS service + caller migration) is complete. This issue builds on that foundation.