Build with AI and trust what you make. Free guide, no signup

The artifact is the only thing that knows what is missing

A loop that only looks at the decisions cannot find a decision that is absent, because from inside there is nothing to see.

Give a refining loop its legal moves and the list looks complete. Sharpen a decision, move one between fields, remove one, close an open question, add an open question.

Read it again. Nothing on that list adds a decision. The object is structurally a shrinking thing and it shrinks in practice: seven live decisions on the first pass, four by the sixth. Three lost, none gained.

That is fatal rather than annoying. More passes cannot improve quality if no operation increases what has actually been decided. A loop like that is doing constraint satisfaction and calling it refinement.

Measured against doing nothing

Same starting object, same model, same final instruction. One document written straight from the raw object, one written after the loop has settled it.

                             RAW      SETTLED
decisions in the object       8          8
parts the document covers     7          7
parts a decision describes    1          1
parts it had to INVENT        6          6

No difference at all, after twenty three commits of machinery. The loop applies defaults, stamps where every value came from, finds relationships between values and records rejected alternatives. The finished document still has to invent exactly as much as before.

The rule underneath it. Everything a refining loop does improves the precision of decisions already in the object. Almost nothing it does improves coverage. Coverage is the only thing that decides how much the document has to invent.

There is usually a move for covering something nothing describes and it will almost never be chosen. The reason is structural rather than a failure of attention. A missing decision leaves no trace in the object that is missing it. From inside, there is nothing to see.

The fix is outside the object

The finished document can see it, because writing the thing forces every open decision to be made one way or another. So close the loop into a circle. Settle, write the document, count the parts written with nothing behind them, hand one of those back as a target, settle again.

Three arms from the same starting point, counted by the same function in one run.

                             RAW      SETTLED    CIRCLE
decisions in the object       8          8         14
parts the document covers     7          7          7
parts a decision describes    1          1          7
parts it had to INVENT        6          6          0

The mechanism is the finding rather than the number. Told which part of the document is bare, the model chooses the covering move and a gate can approve it for a specific reason. Here it chose it three times out of three and the ordinary loop then extended the pattern to the remaining parts on its own.

Three caveats travel with that table. The zero is a harness counting the finished document rather than the tool reporting success about itself. The decisions it adds are thin, one default stamped per part and visibly wrong for two of the seven. And each of those carries a stamp saying it was assumed, which is what makes it visible and easy to overrule.

The sentence underneath all of it: nothing that only looks at the decisions can find a decision the decisions do not contain.