Beads — Memory For Coding Agents That Doesn't Drift
Coding agents have a memory problem. They lose context across sessions, lose dependencies between tasks, and the standard fix has been a folder of markdown plans the agent edits and re-edits until the plan and the code disagree. Beads from Steve Yegge's gastownhall is a different bet. Make agent memory a versioned graph database, not a wall of text.
It is a distributed graph issue tracker for coding agents. v1.0.3 just shipped April 24 and the repo is sitting at 21.6k stars, +133 stars a day on GitHub Trending. The whole thing is built on Dolt, which is a SQL database with git semantics, so issues, dependencies, hashes, and history all live in something that branches and merges. Each task gets a hash-based ID so two agents running in parallel cannot collide. Closed tasks decay semantically over time so old context compacts itself. Output is JSON-first so the agent does not waste tokens parsing markdown.
The insight underneath: long-horizon agent work is a dependency problem, not a recall problem. You do not need fancy embeddings, you need to know that task 17 blocks task 23, task 23 was closed by commit abc123, and the test that broke last week is the same test that is breaking now. Yegge's pitch is that agents should think in DAGs, the way real engineers do when they whiteboard before they type.
For anyone running coding agents in production, this is the closest thing yet to a credible alternative to the current pile-of-markdown approach. It is also a sign that the agent stack is splitting: vector memory for fuzzy recall, graph memory for structured state, files for raw context. Beads is betting hard on the middle one. Repo at github.com/gastownhall/beads.
← Back to all articles
It is a distributed graph issue tracker for coding agents. v1.0.3 just shipped April 24 and the repo is sitting at 21.6k stars, +133 stars a day on GitHub Trending. The whole thing is built on Dolt, which is a SQL database with git semantics, so issues, dependencies, hashes, and history all live in something that branches and merges. Each task gets a hash-based ID so two agents running in parallel cannot collide. Closed tasks decay semantically over time so old context compacts itself. Output is JSON-first so the agent does not waste tokens parsing markdown.
The insight underneath: long-horizon agent work is a dependency problem, not a recall problem. You do not need fancy embeddings, you need to know that task 17 blocks task 23, task 23 was closed by commit abc123, and the test that broke last week is the same test that is breaking now. Yegge's pitch is that agents should think in DAGs, the way real engineers do when they whiteboard before they type.
For anyone running coding agents in production, this is the closest thing yet to a credible alternative to the current pile-of-markdown approach. It is also a sign that the agent stack is splitting: vector memory for fuzzy recall, graph memory for structured state, files for raw context. Beads is betting hard on the middle one. Repo at github.com/gastownhall/beads.
Comments