Loop Engineering: Why AI Workflows Spin Instead of Compound
Most AI coding workflows are loops in name only. You plan a little, build a lot, and go round again. It has the shape of a loop. It behaves like a circle.
The difference between the two comes down to one question: does anything from the last lap change the next one?
Usually, no. And that is where projects quietly stop getting better.
The step everyone skips
Ask someone to describe their workflow and you will hear some version of plan, then build, then check it works. Three steps. It sounds complete.
The missing one is the step that reads the lap you just finished. Call it learn, or review, or observe. Whatever the name, it is the step where the project notices what actually happened, as opposed to what was supposed to happen, and writes it somewhere the next plan will look.
Skip it and you get a workflow that runs at speed and accumulates nothing. The dead end you hit in week two gets rediscovered in week five, with the same enthusiasm. Your estimates never improve, because nobody compares them to how long things really took. Every lap starts from roughly the same place as the last one.
That is a circle. It is fast, and it goes nowhere in particular.
What makes a loop compound
A loop compounds when each pass leaves something behind that the next pass can use. In practice that means the boring parts, done consistently.
Every build reports back. Not a status update, an actual report: how much effort it really took against what was predicted, what surprised you, what you noticed was broken while you were in there. That last one matters more than it sounds. Half the useful information in a project is discovered by accident, while doing something else, and then lost because there was nowhere to put it.
The next plan reads those reports before it does anything else. So estimates sharpen against reality. Surprises stop repeating, because the surprise is written down where the planner will trip over it. A failed approach in cycle three becomes a warning label in cycle eight instead of a fresh adventure.
Dead ends are only wasted if nobody writes them down.
Review stays human, deliberately. Whether a thing is good enough is a judgement call, and handing that to the same system that produced the work is how standards quietly slide.
The second loop, which almost nobody runs
One failure survives all of that. You can run a tight inner loop, hit every estimate, ship every cycle, and still be marching confidently in the wrong direction.
An inner loop optimises how you build. It has no opinion on whether you should be building this at all. Left alone, it will make you extremely efficient at drifting.
So there is a second, slower loop sitting on top. PAPI runs a strategy review every five cycles. It looks across the recent arc rather than the last task, and asks the uncomfortable questions. What is drifting. What did we decide that the evidence no longer supports. What have we been quietly avoiding.
Two loops, running at different speeds. The fast one keeps the work honest. The slow one keeps the direction honest. You need both, and the slow one is the one people drop first, because nothing breaks the day you skip it.
Where the compounding actually shows up
The effect is not dramatic in any single cycle, which is what makes it easy to skip.
You notice it around cycle twenty, when the plan stops being a guess and starts being a read on the project. You really notice it the first time a strategy review tells you something about your own work that you did not want to hear and were quietly relieved to be told.
Without the loop, an AI project is a run of disconnected sessions, and the curve bends down. With it, the project accumulates judgement, and gets easier to work on as it grows rather than harder.
We have run this on PAPI itself for 330 cycles, including the post you are reading, which was planned, built, and reviewed like any other task. If you want the shorter version of how the four steps fit together, we wrote that up in Plan, Build, Review. Run your first cycle.
Ready to keep the thread on your own project?