Skip to content

Code Gets Graphs. Knowledge Doesn't. That's Backwards.

Every mature engineering team graphs their code. Almost no one graphs their knowledge. The asymmetry is strange — and costly.

Code Has Graphs, Knowledge Doesn't: Why Your Documents Need a Map, Not a Folder

What gets graphed

If you work on a Java codebase, you have dependency graphs. You can ask which packages import which. You can see the blast radius before you refactor a core class. CI pipelines visualize the build graph. Architecture diagrams show service dependencies. The tooling is mature and the value is taken for granted.

Your Documents workspace has none of this.

The folder structure gives you location. eXOReaction/products/xorcery-aaa/business/plans/ tells you where something is. It tells you nothing about what it connects to. The business plan in that folder references presentations three directories away. Those presentations reference technical proof scattered across a dozen more. The thread that connects them exists only in your memory — and memory decays.


What actually lives in Documents

Think about what a Documents workspace contains for a small company or a technical team:

  • Strategic plans and their successive revisions
  • Client proposals, their outcomes, the follow-up notes
  • Architecture decisions and the thinking behind them
  • Product presentations and the market research that shaped them
  • Technical proof — benchmarks, measurements, validation runs
  • Meeting notes that reference other meeting notes
  • Research threads that started in one context and concluded in another

Where Organizational Thinking Lives

This is where organizational thinking lives. Code repositories contain what the organization built. The Documents workspace contains why, how, and for whom.

And it has no graph.


The memory problem

The connections between these documents are real. A business plan connects to the presentation deck it spawned. That deck connects to the technical proof that validates it. The proof connects to the code repository that produced it. The chain exists — but it lives in the heads of the people who made it.

The Cost of Amnesia

When someone leaves, the chain breaks. When you return to a problem six months later, you remember the conclusion but not the reasoning. When a new team member needs context, they search and find fragments.

Folders are a filing system. They answer "where is it?" They cannot answer "what does this relate to?" or "what else should I read?" or "has this reasoning been challenged anywhere in this workspace?"

A knowledge graph answers those questions.


What the graph adds

The Solution: Replace the Library with a Map

A knowledge graph of your Documents workspace surfaces three things that folders cannot:

Cross-references you forgot you made. Every time a document links to another — explicitly or through shared terminology — that edge exists in the graph. A presentation that quotes a business plan creates an edge. A README that points to an architecture document creates an edge. After months of writing, these edges number in the thousands. You made them. You forgot most of them. The graph remembers.

Semantic relationships you never explicitly stated. Two directories that both discuss "temporal analytics" are related whether or not they link to each other. Entity-based edges surface this. The graph connects them not because you declared the relationship, but because the content makes it obvious.

Tightness as a diagnostic. This is the one that surprised me most. When we computed tightness — edges divided by possible edges — for each sub-workspace, the numbers told a story:

The New Metric: Tightness

Running the Diagnostic — real data from a production workspace

A tightness of 0.10 for the main company workspace means 315 directories with relatively few connections between them. Plans, presentations, and proofs exist — but they don't point at each other. The thinking is fragmented. It lives in silos that happen to share a parent directory.

That number is actionable. It tells you where to add related: declarations, where to write the bridging document that connects two threads, where the organizational memory has gaps.


The asymmetry and why it exists

Code gets graphs because the relationships are deterministic. Import statements are edges. Function calls are edges. The compiler knows. Tooling can extract them mechanically.

Document relationships are probabilistic. A business plan probably relates to the presentation derived from it, but nothing in the filesystem encodes that. You have to infer it — from links, from shared terminology, from explicit declarations. The tooling has to work harder.

That difficulty is real, but it is not insurmountable. It is also not an excuse for treating your organizational knowledge as a flat pile of files.

The gap between how we treat code and how we treat knowledge is partly historical — code tooling came first — and partly attitudinal. We think of documents as outputs, not as a system. But a body of documents accumulated over years is absolutely a system. It has structure. It has dependencies. It has health.


What it changes for AI-augmented teams

The AI Imperative: AI Needs a Map, Not Just a Search Bar

There is a more immediate reason this matters now.

AI tools work on context. Search finds documents. But a graph tells an AI agent how your knowledge relates — which business plan connects to which proof, which technical decision was made in response to which constraint. Without the graph, the AI has a library. With it, the AI has a map.

As more organizational output is generated by AI-augmented workflows, the volume of Documents grows faster than any individual can navigate. A developer generating 691 files in a day from a single build session — this happened — needs infrastructure to manage the output. Search is necessary but not sufficient. You need relationships.

The graph is that infrastructure.


Practically

We ran synthesis knowledge-graph on our main workspace. 777 directories, 8,934 files. The result was zero virtual links — a flat directory listing pretending to be a graph.

Case Study: From Zero to 11,777

After a day of fixes, enrichment, and explicit relationship declarations: 11,777 edges. The workspace went from isolated dots to a connected structure. Sub-workspaces that reference each other now show that. Directories that discuss the same product from different angles — technical proof, business plan, sales presentation — are now visibly connected.

The number that mattered most was not 11,777. It was the tightness breakdown showing which parts of our organizational knowledge were coherent and which were fragmented. That is the diagnostic we could not run before.


The second brain argument

Building a Collective Second Brain

The concept of a second brain — externalizing memory into a connected system of notes and references — has been popular in personal knowledge management for years. The tools are well known: Obsidian, Roam, Logseq, Notion. They all center on links and graphs.

Organizations do not apply the same thinking to their shared Documents workspace. They use folders and search. The collective second brain has no graph.

That is what is backwards. Not the technology — the priority. We invest in dependency graphs for code because we learned, through painful experience, what happens when you change a core class without knowing its dependencies. We have not yet felt that same pain sharply enough for knowledge.

Don't Wait for the Pain.

We will.


Synthesis is the tool we use for this: the knowledge infrastructure tool described in this series. The engineering session that went from zero links to 11,777 is documented here.


Presentation: Mapping Organizational Memory (PDF) — NotebookLM-generated slide deck from this article.