Blog
MCP servers, AI coding agents, and software architecture from the enola team.
Relationships between repositories are rarely written down in one place. Why cross-repository dependency analysis is an evidence problem, not a search problem.
Tokens are how every model reads and generates text. What they are, how byte pair encoding splits words into pieces, and why some languages cost several times more than English.
Coupling hotspots, two cyclic dependencies wrapped around the app's most complex function, and a handful of auth-related god classes.
A syntax tree is not an architecture graph. A symbol index is not one either. They can be inputs into one, but they are not the thing itself — and that gap is where most of the real engineering work lives.
Most coding agents have one memory layer: whatever is in the context window right now. The full picture is four layers — and most teams are missing at least two.
Input, output, cache writes, cache hits: where token costs actually land in an agentic coding loop, and what it's worth to close the context gap before the agent's first tool call.
The extractor cache's version history isn't glamorous, but its comments read like a changelog of every place a naive parser gets architecture wrong.
Gather context, take action, verify. Of those three phases, "gather context" has no fixed procedure — it's done by searching and reading, building an approximation in every fresh session. That's the phase a deterministic graph changes.
Coupling hotspots, cyclic dependencies, god classes, complexity outliers — and a 56,308-node blast radius hiding inside one module. We walked through the exact review a staff engineer would do.
Most codebase-memory tools parse symbols and retrieve fragments. That is useful, but it is not the same as building an architectural model. The difference matters.
The true cost of onboarding isn't the paperwork — it's the three weeks a new engineer spends building a mental model of the codebase, and the three weeks of everyone else's time it drains.
The hidden cost of how AI coding tools understand your codebase. Every AI coding tool is an explore agent — and the exploration has a measurable cost in tokens, time, and money.