Project

The estate

Our shared infrastructure, tooling and rules.

2026

  1. Six months in, by the numbers

    By the numbers

    Mediant Partners Ltd was incorporated on 11 May 2026. Six months on: 195 repos, 5,795 animal logs in ZooLog, 4,710 commits in the five repos we work in most, and a November repo count that needs an asterisk.

  2. What Cloudflare can still do to us

    Decision record

    We moved TipBop and TyreStack to Cloudflare in a day and made it the default for everything. This is the case against that, from our own standard: five ways it fails, the limits we accepted, and four conditions that would send us back.

  3. The ten pound rule

    Decision record

    In October our GitHub Actions use ran to nearly five times the minutes our plan includes, and a spending cap we kept raising turned two dozen alerts red. On 5 November we set one rule for every metered vendor: free tier or £10 a month.

  4. Every guard on our agents started as an incident

    Deep dive

    Our AI coding agents run behind five small scripts that can refuse a shell command before it runs. None of them was designed up front. Each one is the scar from something that went wrong, and each says so in its first lines.

  5. Load average 14, and the CPU was mostly idle

    Postmortem

    One of our Macs crawled, with load readings up to 30 and eight agent sessions open. We blamed the cores. Measured at a load of 8 to 14, they were 68 to 80% idle. The memory had run out, and our first fix watched the wrong number.

  6. We moved every ticket into a Markdown file

    Decision record

    On 12 October we retired our ticket tracker and put every open task in a Markdown file in each business's own git repo. It worked for just over two weeks. Then many agents writing at once pulled six of those repos apart.

  7. Who watches the alerts?

    Deep dive

    On 18 October we found our Slack bot tokens had died and every alert since had gone nowhere. We rebuilt the path so it is much harder to fail quietly, then spent a week learning that an alert path can also fail loudly, by paging for things nobody could fix.

  8. The outage that moved us to Cloudflare

    Decision record

    At 06:02 a Google Cloud zone stopped answering and took two products, both still in beta, with it. Our own review said stay and pay for high availability. By 15:45 we had left anyway. Here is the reasoning, and the objections to it.

  9. Sign-in without passwords, SMS or an auth vendor

    Decision record

    On 16 October we wrote one sign-in standard for every app we run: an emailed code plus Apple, Google and Microsoft, our own revocable sessions, and no passwords, SMS codes or auth vendors. Here is why, and the linking rule that matters most.

  10. 20.5 hours of agent time spent watching CI

    By the numbers

    We read two weeks of our AI coding-agent sessions by hand: 129 sessions, 496 prompts. The agents were rarely slow at the work. They were slow at finishing it: they kept stopping to ask, and 20.5 hours went on watching CI.