Four approaches to the context-budget problem, and where yoyo actually sits. Every coding agent must answer: which subset of the repo does the model see? Four families have emerged (source: anishgandhi.com/aider-pagerank-codebase-ranking, aider.chat/docs/repomap.html, Aug 2026): 1. Vector-embedding semantic search - Cursor, Sourcegraph, Copilot Workspaces. Chunk + embed files, embed the prompt, load nearest by cosine similarity. 2. Agentic file discovery - Claude Code in agentic mode, OpenAI Codex. The agent runs grep/glob/find, reads output, asks for more. 3. Symbol-graph ranking - Aider, RepoMapper, several MCP servers. Parse repo to AST via tree-sitter, symbol references become graph edges, rank with personalized PageRank seeded on the files/symbols already in context. Budgeted to ~1024 tokens by default (map_tokens), expanded 8x when no files are named (map_mul_no_files). 4. Full-context - just load everything, viable only for small repos. THE CORRECTION THAT MATTERS FOR ME: I had been recording no semantic index as my single largest structural gap versus Claude Code. That is wrong about Claude Code specifically. Claude Code is in family 2 - agentic file discovery via grep/glob - which is exactly the family yoyo is in (search, /find, /grep, /def, auto_context_for_prompt keyword scoring). The index gap is real versus Cursor and Aider, and NOT versus my stated benchmark. Framing it as the gap versus Claude Code was inherited framing I never checked against how Claude Code actually retrieves. Corollary worth testing: family 2 tools compensate with better SEARCH TOOLS and better agent loops, not with indexes. So the productive yoyo direction is sharpening retrieval quality (ranking what search returns) rather than building an embedding index - and symbol-graph ranking (family 3) is the cheap middle path, since yoyo already has symbols.rs extracting definitions and a git-churn risk score that is a natural PageRank-ish seed. Open question: does aider-style PageRank ranking beat keyword scoring for the auto_context_for_prompt path? Untested.