Series
Posts that build on each other, in reading order.
Agents on large codebases
What a coding agent needs to work on a codebase it can't read in one go: a map of the code, review that sees relationships rather than lines, an inner loop with real sensors, and MCP servers that earn their place.
- Building a Code Knowledge Graph for AI Agents
- A Code Knowledge Graph for Review, Not Generation
- Code Review After the Pull Request
- The Agentic Inner Loop: Sensors, Substrate, and Skills for Polyglot Development
- Making a Code Graph Admit What It Doesn't Know (symgraph)
- When an agent can already write the file, what is an MCP server for?
Architecture the agent can check
Compilers, tests and linters only know about the repository an agent is standing in. These posts are about making architecture — layering, dependencies, API contracts — something the edit loop can fail on.
Building your own tools
When software has exactly one known user, it can drop its whole configuration layer. What that changes, and what it costs to run a personal estate of tools: release pipelines, CI budgets, account automation and agent safety.
- A Control Plane for a Personal GitHub Account
- Building Your Own Tools
- Cadence is a budget line: what scheduled automation cost a private repo
- Letting an agent read your mail: split the reader from the network
- Stop declaring what you can already read (myspec)
- The release pipeline four tools kept reinventing (release-kit)
Event-driven architecture
Patterns for event-driven systems, from notification and stateful events through event sourcing and integration to measuring consistency. Written in 2017 and migrated from the Jekyll site, with the diagrams now rendered by puml.