Colex / build log
Agents write the code here. My job is to decide what gets built, and to catch what they got wrong. This is how that setup came together, including the parts that are still broken.
The problem
I had one skill that took a plan and built it test-first. It worked. Not sometimes. Reliably, on real work, often enough that I stopped reading the code it produced line by line.
So I used it more. An agent comes back with a red test. Is that a real bug or a broken container? Nobody knows, so I go find out. Twenty minutes gone. An agent says it's done, and I have no idea what "done" meant to it, so I go check. Twenty more. Multiply by every piece of work, every day.
Code generation was the solved part. Everything on either side of it wasn't, and that's where all my time went.
Then reliability created its own problem. Once each piece lands, the limit becomes how fast I can hand out the next one. I was the queue. Sitting there dispatching work one item at a time, which is a bad job for a person and a worse one for the person meant to be deciding what gets built.
I call it a factory and it is not really one. Nothing here is a stamped part. The code is bespoke every time, and when something bigger goes wrong I still have to open the thing up, think like a developer, and guide it out. What actually resembles a factory is the discipline around the work: every run measures itself, every bit of friction gets written down, and each one becomes a fix before the next run starts. That is kaizen, not mass production. The line is worth copying. The idea that the parts are interchangeable is not.
How I got to the fix
I didn't design this. Each part exists because the part before it worked and the bottleneck slid somewhere new.
Three fixes in. All three are working, and together they are the thing below.
The fix, exactly
This is what replaced me sitting in the loop. Nine stages. Click any one to open it and see what happens inside. Reviews are burgundy, stops are red, my calls are green.
Drag to pan · hover a node for detail
Still the fix
That's the part I had wrong for a while. A run doesn't produce a finished thing. It produces something worth testing. I smoke it, that finds real problems, those become the next run. Repeat until it holds.
How many rounds depends on the work. Logic settles fast. Screens don't. I find them hard to specify well, so they take more passes.
What is next
Code, setup and dispatch are all handled. What is left is the part where I find out whether any of it is good. Single units still have no ledger entry either, so the mode I use most is the one leaving the least trace.
Testing is the part I still picked by hand, out of memory, before every run. I wrote the rules down and ran them properly for the first time in July. The run found real problems and three failures that were not real, which turned out to be the more useful result.
A test bench I can rely on →
None of this makes agents smarter. It makes their output checkable, which turns out to be the part that was missing. Every fix here started as something I was doing by hand several times a day until I got tired enough to build the thing that does it instead.
I expect most of this to look wrong in six months. The certified workspaces and the prescribed proof I would keep. The rest is scaffolding I built to get past a specific problem, and it will change when the problem does. That's the whole method, really. Fix the slow thing, watch where the slowness goes, fix that.