Understand anything

It turns a codebase into a “knowledge graph”: files, functions, classes as nodes, LLM-inferred edges, force-directed clustering, the works. Bold claims but it’s a genuinely useful tool. I have no complaints about the engineering but I do have a complaint about the vocabulary. (no surprise here, if you’ve been reading some of my other posts)
What gets built here is a dependency graph with better marketing. Every node is asserted with certainty. Every edge is permanent until the next full re-index. There’s no representation of “this relationship was true as of commit X and may not be now.” There’s no confidence attached to an LLM-inferred edge versus a statically verified import. A hallucinated relationship and a compiler-verified one render identically on the canvas.
That’s fine for a codebase since code doesn’t have competing sources of truth, and a bad edge gets caught the first time someone runs the tests. It’s not fine for the knowledge graphs most of this industry is quietly building for everything else: legal, compliance, clinical, competitive intelligence… domains stitched together from unstructured documents where two sources disagree, where a fact was true last year and isn’t now, where “the model inferred this” and “this was extracted verbatim from a signed contract” need to be different colored edges, not the same edge.
The pattern is everywhere right now: enormous investment in getting information into graphs, almost none in expiry, revision, or uncertainty once it’s there. We’ve collectively decided that “knowledge graph” means “graph,” full stop, and quietly dropped the epistemics that made the term mean something in the first place.
Think I should popularize the term “knowledge science” 😉