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.

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.

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.

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.