# Handling Large Result Sets

When initial search returns many results, use progressive detail to avoid context overload:

### Workflow: Progressive Detail Strategy

```
1. search(query, detail='minimal', limit=20)
   → Get summaries only (~100 tokens/result)
   → Review all 20 summaries quickly

2. Filter by relevance score:
   - Score > 0.8: Excellent match
   - Score 0.6-0.8: Good match
   - Score < 0.6: Possibly irrelevant

3. For top 3-5 results (score > 0.7):
   get_full_context(selected_ids)
   → Fetch complete code only for relevant items
   → Saves ~80% context vs fetching all upfront

4. If nothing relevant:
   search(refined_query, detail='contextual', limit=10)
   → Try different query with more context
   → Or broaden/narrow the search
```

**Example:**

```
# Initial broad search
search("authentication middleware", detail='minimal', limit=20)
→ 20 results, scores ranging 0.45-0.92
→ Total context: ~2k tokens (minimal)

# Filter by score
Top results (>0.7):
  - Result 3: auth/jwt.ts (score: 0.92)
  - Result 7: middleware/authenticate.ts (score: 0.85)
  - Result 12: auth/session.ts (score: 0.74)

# Get full code for top 3 only
get_full_context(['result_3', 'result_7', 'result_12'])
→ Complete implementations for relevant files only
→ Context: ~3k tokens (vs ~15k if we fetched all 20)

# Found what we needed! If not, would refine query and retry.
```
