About
I’m Graham Brooks. I’ve been writing software for about forty years, and writing about it here since 2009.
Right now I build open-source tools for one problem: coding agents are good at code they can see, and most real codebases are too big to see. The tools give an agent a map of the code (symgraph), architecture and API-contract rules a commit can fail on (tropism, brake), and diagrams generated from plain files an agent can write (forge, mmd, puml). The projects page lists all of them.
What I write about
Three threads, which overlap more each year:
Agents on real codebases. What a coding agent needs from its environment to do useful work on a system it can’t read in one go — and what review, testing and architecture become when agents write most of the code. Start with the Agents on large codebases series.
Architecture. Event-driven systems, domain models, consistency, and the link between team shape and system shape. Zero Down-time Relational Databases was written in 2013 and is still how schema change is done; Team Distribution Models and Conway’s Law asks which of team shape and system shape you’re choosing.
Engineering practice. TDD, refactoring, build tooling, and the argument that internal quality is a health question, not a debt ledger.
How posts are organised
Posts holds the essays. Release notes for each tool are kept separately, so a month with twenty version bumps doesn’t bury them. Series collects posts that build on each other, in reading order.
Get new posts
Subscribe by email, or use a feed reader: /essays.xml has the essays only, /index.xml has everything including release notes.
The code is at github.com/grahambrooks.