Writing

Notes on software architecture, self-hosted infrastructure, and designing so the bill stays small.

Plan dispatch, drawn

One feature plan, traced from a draft to a merge. A human merge arms the work, a watcher spawns one run per plan, and it comes back as a pull request a human merges again. The colours are the honest part: what is built, and what is only specified.

September 2026

Lab token usage, 2026

What a year of agentic coding at home actually consumed — measured from transcripts, cross-checked against the subscription's own meters. Two volume conventions exist and both are true, so both are quoted.

September 2026

Six things I got wrong

A governance practice is only worth as much as its correction record. Six claims my own adversarial review pipeline caught — a cost figure several times too low, a reversed conclusion, one that was never measured at all, a safety rule blind to its own incident — three of them already published, all corrected with changelog entries, and the ISO 42001 gap list underneath.

September 2026

Merge is ignition

I wanted one answer to "what authorised this?" that software cannot write, so a human's reviewed merge became the only thing that starts automated work — with the diagram, the refusals, and the parts that are specified but not yet wired.

September 2026

Ten runs, one lever

I re-ran the same AI code review ten ways to find out what actually makes a second reviewer worth paying for — then my own reviewers found three errors in it, one in the scoring, one in a flag that was never connected, and one in a cost figure, taking two of the three conclusions with them.

September 2026

Nine rounds with a machine reviewer

What nine adversarial review rounds on a single pull request taught me about where AI code review actually stops — including three defects in fixes the reviewer itself asked for, and why the loop ended on budget rather than on approval.

August 2026

The basement cloud

How a home lab became a working miniature of enterprise AI infrastructure — a model gateway, zero-trust ingress, agentic CI with human review gates, and an eval harness — with no cloud bill.

July 2026

The app checks itself

Shipping a zero-backend app: give the client a static set of public links, let every install do its own fetching — and know exactly where that pattern stops working.

July 2026

Where the tokens actually go

Running a two-model coding loop at home — a frontier model to plan, a local model to execute — and designing it so the bill stays small.

July 2026