Refactor search_with_frecency to score static provider items by reference (&LaunchItem, i64) instead of cloning every match. Use select_nth_unstable_by for O(n) partial sort, then clone only the max_results survivors. Reduces clones from O(total_matches) to O(max_results) — typically from hundreds to ~15.