The Problem

Ask five teams building AI coding tools how they represent a codebase for an LLM, and you'll get two answers: embeddings, or a dependency graph. Both camps are right — for different questions. Picking the wrong one for your use case is why some "semantic code search" tools return technically-similar-but-practically-useless results.

Architecture: What Each Model Actually Captures

Vectors: Semantic Similarity

embed("parse a JWT token") ≈ embed(function verifyToken(token) {...})