Chapter 11 · Mechanism
Part 3 · Teaching it to remember12 of 35
Building a personal knowledge graph that links people
Our first relationship-graph run drew zero edges. How co-mentions became person-to-person links, how we merge duplicate names with a human in the loop, and how a plain-text guidance box lets you correct the AI.
The Margin4 min read
Our first full run of the new relationship graph drew zero edges. Not a few. Zero.
The graph is meant to be the most human thing in your workspace: who your people are, and how they relate. For months Margin's Mind could tell you what you had. Notes clustered near related notes, tasks threaded to their boards, the constellation view looked alive. But it was a map of documents, and a life is mostly people. So we built the part that draws people to people, ran it against real data, and got a sky full of stars with nothing between them.
Getting from there to a graph that connects like a brain took three layers, and two moments of looking very stupid.
Mentions are the synapses#
Person-to-person connection came out of bookkeeping, no clever model required. Every time an item mentions a person or a project, that's a mention record: this note touches your sister Maya, this task touches the kitchen renovation. One mention is trivia. When two people keep getting mentioned by the same items, that co-occurrence is evidence of a real relationship.
So the pipeline draws candidate pairs from shared items, at least two, with a person on one end, and a single reasoning pass judges each pair. Durable relationship worth a line, or coincidence? The judge writes one warm sentence per edge, something like "work together on the same client, named side by side in 7 items," because an edge you can't explain is an edge you can't trust.
Which brings us back to the zero, and the first stupid moment. The distillation step was creating the people, but nothing was writing the mention records. Every hub was an orphan star with no synapses. The math was fine; a table was empty. One missing insert, found only because we'd made a rule of running the whole chain against real data before calling anything done.
One person, many names#
The first successful pass drew real relationships, and immediately exposed the next problem. Picture a colleague called Sam who is "Sam" in one note and "Samuel" in the next: the graph made two people of him. A relative showed up under two different phrasings. Even a tool appeared twice, thanks to a typo. Every alias split the mention evidence, which weakened the exact co-occurrence signal the edges depend on.
The fix borrows from how photo apps handle faces: the system proposes, the human confirms. Name pairs that look like the same real-world thing (one contained in the other, shared tokens, a small edit distance) go to a conservative judge, and the survivors surface in your review queue as a gentle question. "Sam looks like shorthand for Samuel. Same person?" One tap merges the hubs. Mentions, facts, and graph edges all fold into the survivor, and the old name is kept as an alias so future extractions land on the right hub.
Merges are never automatic, on purpose. Collapsing two people into one is exactly the kind of mistake software shouldn't get to make by itself.
A text box that teaches#
The last piece came out of dogfooding annoyance. The engine would sometimes connect two things a human can see at a glance don't belong together, and there was no way to tell it so. Now there is. The Organize page carries a small Guide panel for plain sentences like "workout cards never relate to work projects." The next pass reads them, and a line that names someone already in your graph is kept for good. Dismiss a bad suggestion and the same box appears: say why it's wrong, and the reason becomes a rule.
It's the cheapest of the three features and it might matter most. The Mind is still wrong sometimes, but now it is wrong in ways you can coach.
The second stupid moment#
We benchmarked whether our deliberately cheap utility model was good enough for all this judging, and it matched a model many times its price on every connection and identity call we threw at it. Except one category: following the owner's guidance, where the premium model was flawless and ours occasionally slipped. A wonderfully specific answer. The economical model keeps the job, and if your instructions ever seem ignored, we know exactly which dial to turn.
What it adds up to#
Open the Mind now and the difference is quiet but structural. People are anchors with rings around them, relationships are labeled lines with reasons, one sealed star stands in for everything you've locked away, and the whole constellation fits itself onto a phone.
I'm writing this the week it shipped, which means I'm telling you it works while I'm still finding the seams. If you're reading this and something about your own graph looks wrong, there's a text box now. Coach it.