In Part 1, I explained why Enola extracts deterministic architectural facts before an AI agent begins reasoning. That leaves the next design question: How should those facts be represented? The obvious answer is to build a graph containing every symbol, dependency, route, service, and repository. But the difficult part is not putting nodes and edges into a graph. It is preserving what those relationships mean. A function call is not the same as a package dependency. A route reg...