Agents plan, implement, run the tests and open the pull request. A reviewer from a different vendor reads the diff and posts findings. Fix rounds land, CI runs, and then a person clicks merge. The human writes specs and clicks merge. The human does not write the code.
The verification ladder this loop is built on runs on AWS: Bedrock writes the draft, a Lambda gate recomputes every quoted figure against its source, Step Functions holds the run until a person approves it, DynamoDB journals the tokens and the cost, S3 takes the published report, and CloudWatch carries the cost of a run.
A single specification on 4 October 2026, in UTC, with nothing left out of the middle.
Spec to open pull request: ten minutes. Spec to merged code: four hours, of which the person spent minutes.
22 April to 2 October 2026.
A daily astrology product: a site in four languages, a social feed and a video channel, built and published by the same machinery.
The gate on every push: linting, a language rule, 643 flat checks, 422 tests, and a census of outbound calls that fails the suite when a new one appears unregistered. The nineteen autonomous days ran site, feed and channel with nobody pressing anything.
Counted on 2026-10-06: every pull request opened on a factory/* branch, broken down by repository. 433 pull requests in the ten repositories below, 414 of them merged. This is a breakdown, not a second total: the 440 above was counted four days earlier and also includes the one-round repositories excluded here.
The first row is more than two thirds of that count, and saying so is the point. The factory mostly builds itself: 300 of the 433 are its own code, reviewed by a model from a rival vendor and merged by a person. What the remaining rows show is that the same loop was pointed at nine other things without being rebuilt for them.
Three edges, so the number is not read as more than it is. 19 of the 433 were closed without merging. The specification repository's count mixes real specs with status changes, so it is not a count of specs. And 13 further repositories received exactly one round each in late April, when the loop was pointed at each project to write its description from its own code: that is a round, not a project built through the loop, and it is excluded from the rows above. Private projects are described rather than linked, because the loop holds write access to them.
A gate is only as good as the list of what it missed. Both lists are kept for this product, with dates and commit identifiers; what follows is every entry, described without the internals.
The eclipse is the one worth reading twice. The engine returned a full moon and no eclipse flag; the text announced an eclipse anyway, and the rails published it because a failed preparation had been treated as consent rather than as a stop. It was found by a viewer's comment, six days later. And the 35 quiet mornings are worse, because two tests had certified them: a green suite looks exactly the same whether it is testing the thing or testing its own mistake. That is why the gate on this site recomputes figures from source rather than asserting that someone checked.
127 of 882 developer rounds failed. 51% were infrastructure: a round that read its spec from the wrong commit, branch races, a dirty checkout. 25%, about 32 rounds, were the agent producing no change on a fresh spec. (The 35 guard refusals above are the guard’s own count, not a share of these 127 failures, so the two are not expected to match.) 6% were timeouts. None failed on an ambiguous specification. Two defects that escaped to production were certified by tests that tested the wrong thing, which is the failure worth losing sleep over, because a green suite is exactly what it looks like.
All four open with no account and no login.