Mapped LangChain Core as a dependency graph: 180 modules, 650 edges.
Three findings:
The messages module has a 70% blast radius. Change it and 126 of 180 modules break — directly or transitively. Every callback, every agent, every retriever traces back to it. Nothing in the documentation flags this.
runnables.base requires 147 other modules as prerequisites — 82% of the codebase. A coding agent dispatched to modify it without that map is guessing.
Exactly 7 modules are safe to modify with zero downstream risk. Seven. Out of 180.
The practical problem: a coding agent using RAG to navigate LangChain will grep for context, retrieve similar-looking docs, and make a structurally wrong change. The blast radius is invisible to similarity search. It's only visible to graph traversal.
This is the difference between retrieval and spatial intelligence. RAG finds text that looks relevant. A knowledge graph tells you what actually breaks.
Same approach works on any structured domain — GLP-1 pharmacology, ICD-10 classification, payer formularies. The domain doesn't matter. The structure does.
Built the CKG from the LangChain Core source. Dataset is live. Links in first comment.