A field report
The graph is the workflow.
We spent months writing recipes with a tool built for convergence — decent recipes, wrong instrument. Here is what changed when we stopped, and what happened when we pointed the result at its own repository.
Eight sections. Every claim has receipts behind it: select any card, stage, node or stat to open the detail.
The shape, in one picture
01The mistake
We were missing the point.
We had a tool for convergence loops. We used it to draw our task breakdown — plan, then write, then test — and wondered why quality was a coin flip.
Recipe plane · control plane
A directed acyclic graph written in graph syntax is a recipe with extra steps. The power was never the notation. It is corrective back-edges and goal gates that make “done” structurally unreachable until evidence says so.
“When you find yourself adding plan → implement → test as graph nodes, stop.”
02The flip
Convergence, not chaining.
Same nodes. Same models. Same prompts. Change only the topology and the arithmetic of the whole run changes with it.
Probability the whole run is correct
“Design the gate first, the loop second, the steps last.”
03The machine
A machine that writes its own definition of done.
An issue goes in. A verified fix comes out as a pull request, converged against a gate that a hostile pass already tried and failed to cheat. A human gives the merge word. That last part is not a gap in the automation — it is the design.
The repair loop, stage by stage
The machine autonomously writes the definition of done, hardens it against a pass that is actively trying to cheat it, and converges a real fix against the hardened version. The human does not author the steps. The human says ship it — on top of a green required check.
No merge without the maintainer’s explicit word. That constraint is load-bearing, not leftover.
“‘Done’ is structurally unreachable until a machine-checkable gate passes.”
04On itself
Then we pointed it at its own repository.
This is the part that matters. The pipeline is wired to the issue list of the project that produced it, it runs in continuous integration, and it has been used to hill-climb on its own defects and its own feature requests — dragging an earlier iteration of itself into line with a written vision. Not a demo against a fixture. The thing, working on the thing.
The loop, on its own repository, in CI
The quality system that grew with it
“The quality system examined itself, and found real things.”
05Scars
Scars we earned.
Every rule in this deck is scar tissue from a specific failure. Three of them, with the incident and the structural fix behind each card.
Why the gate lives outside
“Gates outside workers.” · “Evidence over self-report.”
06Meaning
The operator sits at the rim.
The graph is the execution contract for anything that runs unattended. The human is the standing reviewer of a loop and the holder of the merge word — not the author of every step inside it.
Operator at the rim
“Deterministic macro-control containing adaptive micro-control.”
07The test
Three questions — and two good answers.
Point them at any pipeline you own, ours included. A “no” is a signal to reconsider the shape of the work, not a verdict on it — and one of the honest outcomes is that you wanted a recipe all along.
The three-question test
Two tools, two problem shapes
“If your pipeline graph has no cycle, it should probably have been a recipe.”
08Where next
Where this goes.
Everything above is built and running. What follows is the direction we think it points — described as a horizon, not as a shipped thing.
The horizon, in two ideas
A retry is temporal: “try that again.” An attractor edge is causal: “go fix the thing that made this fail.”
“Orchestrator runs, attractor defines, model adapts.” · “Let the models breathe.”