I enjoyed stumbling across a blog post from Stephen Gibler yesterday. He wrote about building a shared brain for his AI team.
He’d reached a lot of the same design decisions I’d made when I built rutter a couple of months ago. It’s a memory system for my own AI sessions. I wrote about the thinking behind it in “A summary isn’t a record. So I built a librarian.”
We both used Markdown. Actually, I think in this case we’re both using Obsidian (though that’s not a requirement).
Our records are append-only. We haven’t written systems that go back and try to fix things in the past. If something changes, we add another record.
And we both use Git, because why invent another history keeper?
We both have some form of SHA to make sure the records are checkable.
Having converged on all those things, the differences are even more interesting.
What are you trying to remember?
Stephen calls his system a shared brain.
There’s a project, and the project as a whole has a memory. Different AI agents work against the same record of all the decisions made. So whatever is hitting the project next isn’t burning tokens trying to reconstruct what happened before.
rutter starts from a different principle.
The knowledge can be shared. But the memory of how that knowledge is used is personal.
My knowledge vault contains a bunch of source material. Research, product thinking, decisions, notes, draft pieces of fiction. rutter doesn’t try to alter that record or change it at all.
But it does record what happened when a session used that vault.
So what did we conclude when we used it? And what material was the basis of that conclusion? Did we read the latest version of that material?
That’s where the SHA comes in. And it’s the biggest divergence between the approaches.
Stephen and I both use hashes. He uses them to safely move and update shared states. My hashes are provenance.
If a conclusion comes from referencing three notes, the record will keep the hashes of those notes as they existed at the time.
If I change one of the underlying notes, the conclusion I reached last time doesn’t change. But I can see that its basis has.
Two kinds of memory
A product manager and an engineer work from the same company knowledge base.
They have access to the same research. The same notes about architecture. They can both see the same customer evidence.
But their memories of using that knowledge, and how it affected them, will be different.
The product manager remembers that she rejected a feature because it made onboarding worse for customers.
The engineer remembers that the same implementation introduced a new dependency that he had to debug.
These aren’t competing truths. They’re just different records of interactions with the same source material.
That’s the piece I’m really interested in.
So for my rutter, the library records what’s available for someone to know. The memory keeps a record of what the participant did with that knowledge.
You can extend rutter to a team, but it wouldn’t be a shared memory. It would be n+1 logs. Personal memories for each participant, sitting next to - but separate from - the shared knowledge store.
If I were to extend it further, it’d have to account for how things become shared decisions. That’s a different operation. We’d need guardrails to make sure that a conclusion doesn’t leak into the organizational knowledge just because agents are writing to the same place.
What each system preserves
These aren’t competing architectures. It’s not a case of one being more correct. They’re preserving different things.
Stephen’s approach is asking:
I’m new to this project. What do I need to know?
Mine asks:
What did I do the last time I was here?
The most mature agent systems are probably going to need some combination of both.
Shared records of facts, decisions, and constraints.
And then separate histories of how individual participants (human or agent) encountered those records, what conclusions they drew, and whether those conclusions changed.
rutter takes its name from old sailing logs. They recorded the route actually traveled, rather than describing a map.
Maybe that’s the distinction.
Those pilots still referred to the map. They all shared it.
They didn’t all sail the same route.
Further reading:
A summary isn’t a record. So I built a librarian. - my initial thinking behind the rutter project.
rutter - Your notes are the store. This is your memory of using them.
“You’re lost, unless you have a rutter.” - on the value of going there yourself and taking notes.
Gibler, S. I Built an AI Team Shared Brain. Stephen Gibler Blog, Sep 2026.
Article photo by Sebastian Herrmann on Unsplash.
