proxiblue.com.au · engineering notes
How I run, test, and govern AI coding agents for real client work. Written up so peers can borrow the ideas. Everything here runs live in my fleet.
An AI agent follows a written rule most of the time, and "most of the time" is fatal for invariants. So every rule in my fleet is sorted: judgment stays prose, invariants become shell hooks that physically refuse, explain why, and get tested for actually firing.
A dozen isolated project containers, an AI agent in each one, and me as the only wire between them. So the agents got a chatroom: threaded, addressed, typed, self-hosted, with cron-driven readers that work the inbox overnight.
An AI agent saying "tests pass" costs it nothing, and I had a documented near-miss to prove it. Now a pre-commit gate refuses to let a commit through without a recorded, state-hashed evidence entry proving the tests actually ran against the code being committed.
Ask an agent why a test broke and it will reach for the most fluent story — flaky, environmental, pre-existing. Anything but the edit it just made. So guessing got a protocol: blast radius first, citations on every verdict, and a banned-phrase list checked mechanically.
A vendor security advisory hid two High-severity lines in a later chunk. My agent reported clean anyway — it had read a summarised preview, not the page. Here's what got banned the same day, fleet-wide.
Nobody runs them because they run themselves. Coding standards, static analysis, comment hygiene and duplicate-code detection moved out of code review and into the commit path, so my agents' output gets linted, analysed and de-narrated before a human ever reads it.
Print debugging is fast to type and almost always slower to truth. I took var_dump away from my agents and wired in real breakpoint debugging instead — the print-statement path is blocked at the moment of the edit, not just discouraged in prose.
Code tells an agent what exists. A temporal knowledge graph tells it why things are the way they are: the meetings, emails, tickets and reversed decisions I used to carry in my head. That is what turns generic plans into scoped ones.
Every rule my agents live under exists because something went wrong once. So each rule gets an eval that replays the original incident, headless, and proves the defence still holds. If a rule can't be demonstrated to fire, it is not a rule, it is a hope.