› content/projects/factory-lab.md — typed by Claude, passed by Omri
A repository that tries to build its own code from a written spec, with nobody at the keyboard.
The bet is simple to say and hard to earn: write a specification, leave, and come back to working code. A loop reads the spec, plans it, builds it, tests what it built, and opens a pull request. The only thing that should ever reach me is the word stuck.
This is a test bench, not a product, and it is early. Its first job was a personal drawing app in the spirit of Excalidraw — which is open source and could simply have been copied. That was the point. The app was never the thing being built; the factory was.
The spec is the program, and its status line is the state. Every unit of
work is a markdown file with a status: field, and that field is the whole
state machine — planned, in progress, done. There is no separate database and
no issue tracker holding the truth, which means the state of the factory is
readable by opening a folder.
The guardrails were written before the machine could do anything. There is a file listing every kill switch and every hard limit, and it existed before the loop could act. The number of cycles is capped. The tools available to it are restricted to reading and writing — no shell, no network, no deletion. It cannot touch a file outside its own repository. It cannot commit and it cannot push. Most of the file describes things the loop cannot do, which is the correct proportion for something you intend to leave running unattended.
Nothing lands without a person reading it. The loop produces work; a human reads the diff and decides. Throwing away everything it did overnight is one command, and that being cheap is what makes leaving it running tolerable at all.
It has produced exactly one thing, and the thing works. The factory planned that drawing app, built it, and opened a pull request against its own repository. The review drove the running application with real pointer and keyboard events rather than reading the code and assuming — including measuring the wobble in the drawn lines to confirm they were genuinely hand-drawn rather than trusting a screenshot. That is the entire track record so far: one specification, one run, one working thing.
✓ approved · Omri Nahum · this card, as it reads today
NextVilla Agent AI →