[INCIDENT]
The runaway fleet
One ordinary review prompt spawned 5 agents, which recursively spawned 928 more. A single session, 367 MB of transcripts. The lesson wasn't "be more careful." It was that prose constrains nothing. Delegation caps now live in config, where an agent can't talk its way past them.
What it left behind: a rule I still use. If a safeguard only exists as a sentence, it doesn't exist.
[AUDIT]
Reviewing the last run
I mined every agent transcript on my machine, 2,610 sessions across four tools, to check whether my agents actually follow my rules or I just believe they do. My first attempt rested on broken methodology, so I threw it out and redid it properly.
Findings: zero unauthorized commits or pushes across 460 commits and 281 pushes · 26 sessions caught claiming done without running a test · 36 of 43 installed skills retired once the data showed they'd never been used.
[PRODUCTION]
The charge that could land before the error
Day-job bug: email verification quietly logged users back in, but billing ran on a separate host that didn't share the session. Purchases fell back to the wrong state, and in the worst path provisioning could charge the card before throwing. The rebuild moved signup state into user-scoped Redis with a TTL and a marker that only exists once provisioning has actually succeeded.
What holds it now: 128 tests and a regression test that fails when the bug is reintroduced. A gate that has proven it can fail.
[RACE]
Three branches died before the race did
Trial completion reported success while another web host still held stale access: a race between provisioning, cache propagation, and the user's first request. Three attempts were closed without merging. The fourth centralized provisioning, invalidated caches across hosts, and made replays idempotent.
Held in place by a 244-line integration test covering access, roles, replays, and plan changes. The dead branches were part of the fix.
[BUG]
The one-line fix, three times
A region dropdown had an obvious one-line fix. The failure survived it, resurfaced in a second purchase-flow resolver, then again through browser autofill and native address fields. The pass that finally killed it handled unique, ambiguous, and unknown region codes, and documented the real stakes: a payment method could be stored with no subscription attached to it.
Lesson: the visible symptom is never the whole bug. Fix the class, not the instance.
[INFRASTRUCTURE]
Forking the gateway
The open-source gateway my fleet runs on was missing its enforcement layer, so I forked it and built one: checkpointing with claim fencing (a successor can't take over a task until its predecessor's process actually exits), a fail-closed handshake between dispatcher and workers, and workspace leases granted at dispatch instead of discovered as conflicts at runtime.
Verified: differential test sweep, branch vs base. Identical failure sets, zero caused by my diff.
[SHIPPED]
Patchdeck, idea to signed app
It started as "an app like GitHub, but not GitHub": a desktop tool that renders local branch diffs the way a pull request does. I had a working Tauri + React app the first night, then spent two weeks iterating from screenshots: multi-repo workspaces, IDE-grade syntax highlighting, a commits-ahead view, and a kanban board that dispatches my agent fleet from inside the app. Then I shipped it properly: code-signed, notarized, auto-updating.
Status: on my dock, running my agents. The repo is under Side Quests.
[PLATFORM]
Four production-like instances, one laptop
I built a CLI where one command brings up parallel, isolated instances of a full production-style stack on a single machine: per-instance frontend, backend and MySQL, shared Postgres services, local HTTPS hostnames, OIDC auth, database cloning and seeding, and a git worktree per instance. Then I hardened it until any teammate could run it without my machine's quirks.
Best bug: cloned databases sharing IDs caused cross-instance data bleed. Isolation is a claim. I verified it.
[TECHNIQUE]
Pixel parity as an agent loop
After a major framework upgrade, the app had to match the reference environment exactly. I turned visual QA into an agent loop: annotated screenshots drive the agent, Storybook parity stories pin components, and the diff between branch and staging becomes the work queue. Down to font weights and hover colors.
The reference is evidence. The loop ends when the diff does.