Impact: Medium (performance)
`server/tools/search.py:198-202` calls `fetch_file_content`, which opens a fresh HTTP client (`server/indexer/github_source.py:386`) on every invocation. The same file requested multiple times in a session hits the GitHub API each time.
Recommended change
The index already stores the blob SHA per file — add an LRU/TTL cache keyed on the blob SHA so repeated context fetches are served locally.
Impact: Medium (performance)
`server/tools/search.py:198-202` calls `fetch_file_content`, which opens a fresh HTTP client (`server/indexer/github_source.py:386`) on every invocation. The same file requested multiple times in a session hits the GitHub API each time.
Recommended change
The index already stores the blob SHA per file — add an LRU/TTL cache keyed on the blob SHA so repeated context fetches are served locally.