---
estimated_steps: 5
estimated_files: 2
skills_used: []
---

# T03: Frontend no-results fallback with partial suggestions

In `frontend/src/pages/SearchResults.tsx`:
1. Update SearchResponse type in public-client.ts to include `partial_matches: SearchResultItem[]`.
2. When `results.length === 0 && partial_matches.length > 0`, show a 'No exact matches for all terms' banner followed by 'Results matching some of your terms:' with the partial_matches rendered as SearchResultCards.
3. When both are empty, keep the existing 'No results found' state.
4. Style the partial-matches section with a muted header to distinguish it from exact results.

## Inputs

- `frontend/src/pages/SearchResults.tsx`
- `frontend/src/api/public-client.ts`

## Expected Output

- `frontend/src/pages/SearchResults.tsx (partial match fallback UI)`
- `frontend/src/api/public-client.ts (updated SearchResponse type)`

## Verification

Browser verification: search for a multi-token query that has no exact match but has partial matches — verify the fallback UI renders correctly.
