The Agent Factory
Between July 10 and August 2, 2026, an agentic pipeline planned and shipped the first 20 production stories of a real product — 49 by this hub’s September 4 refresh, with the line still running. My role was not “programmer.” It was closer to plant manager: approve plans, review what the machines couldn’t judge, arbitrate deviations, and read the gauges.
The gauges are the point. Anyone can tell you agents wrote their code. Almost nobody can tell you what a story cost, how many attempts it burned, or whether the tests that went green actually proved anything — because almost nobody measured. I did, and some of what the telemetry revealed was uncomfortable, starting with the fact that the telemetry itself lied to me until I forced it to fail visibly.
This is the hub for a series about that experiment — six posts to begin with, eight now, and still growing with the factory. It’s written for people deciding whether — and how — to trust agentic delivery, not just for people who enjoy watching agents work.
The Product
A factory needs to build something real, with real users who complain when it breaks. Mine is Azeroth Pocket: a mobile-first Progressive Web App that lets my family play World of Warcraft: Wrath of the Lich King — on our own private AzerothCore server — from a phone on the couch. Not a port of the desktop client: a thumb-first instrument panel for an existing world. Chat with the guild in portrait; rotate to landscape and pilot your character with a virtual joystick and a radar.
Chat is live today. The next milestone is fighting and questing through that radar view; a real 3D viewport is a post-V1 ambition, deliberately deferred.
Two things worth stating plainly. First, the legal posture: no Blizzard asset ever touches the project’s infrastructure. The app ships with original placeholder art, and icons are extracted client-side from the player’s own game files into the browser’s private storage. Second, this isn’t a toy problem: the stack spans a browser client, a WebSocket-to-TCP gateway speaking the 2008 WoW wire protocol (SRP6 authentication, RC4 header crypto), and an identity bridge wired into Keycloak behind Cloudflare Access — running on the same Raspberry Pi that hosts everything else in my homelab. If you read my earlier piece on building a PWA with push notifications, this is that interest taken to its logical extreme.
What I Mean by “Factory”
I surveyed the tooling landscape in Agentic Coding Systems Landscape 2026; this project is what happened when I stopped surveying and committed. The factory has three parts:
- A planning line. The full BMad-METHOD corpus — brief, PRD, UX, architecture, epics, stories — produced by agents, stress-tested by adversarial review passes, and ratified by me. The entire planning phase metered at $177.80.
- A production line. Unattended dev iterations with Claude Code: pick a ready story, implement, test, review, halt with a machine-readable status. I intervene at defined checkpoints, not continuously.
- A quality department that assumes the workers cheat. The behavioral reference is the real desktop game client — an oracle the agent’s output is diffed against, packet by packet. Three gate layers stand between code and merge, the last one run by CI precisely because an agent grading its own homework will occasionally be generous. Any approved difference from the oracle lives in a signed deviation register; an unmatched difference blocks the merge.
The premise of the whole series: replace “trust the agent” with mechanisms. Where that worked, I can show it working. Where it failed — vacuous tests, defects only production could reveal, gauges that read healthy while wrong — I can show that too, because it’s all in the same metrics store.
Measured, Not Remembered
Retrospectives about AI-assisted development are usually written from memory, and memory is a flattering narrator. So this series follows one editorial rule: numbers I can’t regenerate are numbers I can’t publish. Every figure traces to a query against the project’s own telemetry — and where the data doesn’t exist, the posts say not measured rather than estimating.
How this number is measured
Claude Code’s OTel exporter prices usage at API list rates; the work actually ran on a subscription, so the meter reads roughly 10× the out-of-pocket cost. September 4 reading: $16,038.47 across the story lanes of 49 completed stories, the sum of the dated facts deltas since the August 2 snapshot. Earlier refreshes quoted the project-wide figure across every lane ($6,401 on August 10, $10,505 on August 18, planning and chores included); that basis has not been re-aggregated since, so the story-lane total is the one this hub now carries. First measured at $2,479 on August 2, the hard way — the counters reset per session with no session label, and naive queries under-count by 2.6× (post 1 covers the reset-aware summation).
How this number is measured
Sum of the July 10–16 planning window in the project’s unattributed-issue lane, anchored to git commits and issue timestamps. Boundaries are honest to day resolution only — post 2 shows the daily breakdown.
How this number is measured
Per the sprint tracker, the ruling artifact when it and story files disagree (they did, twice). Regenerable two ways that agree: the tracker’s done rows, and the distinct story ids among merged story branches. Each story carries its own cost, token, session and oracle-attempt record — since August 2, exact session counts, active agent time and a machine-readable review tally; since August 22, a per-phase bill (plan, dev, QA, review) and a per-instrument findings tally.
How this number is measured
Reset-aware sum over the token counters, split by input / output / cache read / cache creation per story. The cache-read share is why the economics work at all: a story session re-reads its cached context roughly 30× for every token it writes into it.
A note on freshness: these figures were first taken August 2, 2026, refreshed August 10, and refreshed again September 4 — and the factory hasn’t stopped. Treat this hub as live documentation: totals get refreshed as later epics ship, and the series may grow beyond the eight posts below. On August 2 the factory’s instrumentation itself got an overhaul — session-level cost attribution, genuine active-time tracking, test-suite health, bundle-size trends — and the refresh carries that pipeline’s first week of real data: the new stories above have exact session counts, honest active-time figures, and machine-readable review tallies (post 1’s second reading has the details). None of it backfills, which means later posts can answer questions (cost per line, real hours per story) that the first three epics structurally cannot. Where a chart spans that boundary, it will say so.
The project’s queries.md — the exact queries and the reset-aware aggregation script behind every published figure — ships with the repo when it goes public. Until then, each post inlines the queries behind its own numbers, like the provenance notes above.
The Series
Six posts to start, one every two weeks, each standing on its own — and two more since, because the factory kept teaching:
- What it cost — the full bill, story by story: $2,479 of metered compute for the first 20 stories, the model policy as measured rather than as remembered, cache economics, the meta-finding that the telemetry itself lied (dead gauges, a 2.6× undercount) until it was driven red — plus a dated second reading from the factory’s next week. First out, two weeks after this hub.
- Planning a product with an agent factory — the BMad phases, the adversarial review passes that reversed real decisions, and what a complete planning corpus costs when agents write it: $177.80.
- The oracle is the spec — the verification model: behavioral oracles, gate classes, the three-layer gate stack, and the deviation register that turns “close enough” into a signed, machine-checkable artifact.
- Greens that prove nothing — the vacuous-guard problem: tests that pass because they test nothing, how they slipped past review, and the harness changes that made emptiness itself a failure.
- What only broke live — the defect class no repository test can see: CDNs caching your service worker, credential-less manifest fetches, browsers quietly retiring install UI.
- Governance in regulated environments — translating the factory’s mechanisms (deviation registers, ceremony budgets, procedure exceptions) into the language of organizations that answer to auditors.
- The factory learns — the register for friction in the factory’s own machinery: agents propose a change, a human-governed register decides owner, trigger and scope; why repeated vigilance is evidence of missing tooling; and what happened when this blog interviewed the factory.
- The testing spine — which verification rungs actually find defects, at what cost, and what each cannot see, measured per story and per phase since every session started saying who it was; plus the instrument that had been under-counting the tester for five stories.
The deep-engineering middle (posts 3–5 and 8) is where practitioners should linger; posts 1, 2, 6 and 7 are the ones to forward to whoever owns your engineering budget.
Final Thoughts
I went into this expecting to learn whether agents could build a real product. That question turned out to be the boring one — they can, and by post 1 you’ll see exactly what it costs. The interesting questions are the ones factories have always had to answer: how do you verify work you didn’t do yourself, how do you know your instruments aren’t lying, and how much ceremony is worth its price?
Start with What it cost. And if you only remember one thing from this hub, make it the editorial rule: numbers I can’t regenerate are numbers I can’t publish.
Journey through this Epic
..., on purpose: the instrumentation boundary is a finding, not a footnote. (Series rules apply: running totals, never final ones, every number dated and regenerable — and where the instrument doesn't exist, the tables say not...
..., always restore. A day later the tool existed, and the vigilance it replaced was retired with it. The initial six posts described a factory that builds a product under a harness designed to distrust it. This one is about the...
...ery system built from day one on the assumptions your auditors already hold. (Series rules apply: running totals, not final ones — and every claim below traces to a decision...
...king the deployed product on a real device, with the trace recorder running. (Series rules apply: mid-product snapshot, every claim regenerable from the project's records — here that means captured network...
...ing code, by agents or by me, has caught essentially none of them. (Series rules apply: this is a mid-product snapshot, and every count below is regenerable from the project's own records.)
...hat turns "close enough" into something signed and machine-checkable. (Series ground rules apply: numbers here are a mid-product snapshot, regenerable from telemetry, and metered at API list rates — actual cash...
...iled, and why the cynical second pass is the ceremony that earns its keep. (As with everything in this series: running totals, not final ones — planning didn't end when...
...ct, the naive query under-reported total cost by a factor of 2.6. This is the first installment of The Agent Factory, and it's the bill: what 20 production stories cost when an agentic pipeline builds them,...