Over the last few months I built a fairly elaborate system around my projects: AI agents that review each other’s pull requests, a ladder of models that escalate hard reviews, queues, budgets. Tonight I had it audited, and the finding was simple and a little embarrassing. The machinery was sitting on top of missing basics.
The scripts that run the reviews had no version history. Most repos had no required checks. The same rule was copied by hand into a dozen files, and the copies disagreed.
So I am rebuilding in the order working teams use:
- Version control for everything that runs, including the tooling itself.
- Continuous integration on every repo, so machines check the boring things every time.
- Branch rules that make the platform enforce the process, instead of trusting a document.
- Automation last, on top of the rest.
Two small wins already showed why. I had once backed off CI because I kept running out of hosted build minutes; a self-hosted runner on my own server made them free. And rebuilding one project from its lock file turned up a dependency that had only ever been installed by hand. The old setup had hidden that for months.
Anyone can be wrong quickly. The basics are what make being right repeatable.