CNC PRESS · SHOP-FLOOR NOTES

The Loop Eats Its Own Input

one disease, three shops :: rev 03

diagnostic · model collapse · Q123403903

Every operator learns it in month one. You take a cut, you measure, you take another. The part tells you what happened. But skip the verification once, and the drift compounds — one bad cut eats the tolerance on the input, and the whole run walks off the print before you catch it. The same closed circle is running in a render farm beside town and a patrol map two desks over.

The loop does not audit itself. It tells you what it already thought. That is an echo, not signal.

The shop-floor version

I run a part to print OD .8000 +0 / −0.0008. First article measures .8001 — green. I trust it, take the next five without checking. Heat in the spindle grows, the bearing drifts a half thou. By the tenth part I'm at .7994 and the print is dead. Nothing warned me, because I stopped measuring the bare metal and started measuring my own confidence.

The same disease, three shops

shopwhat re-entersthe drift
machine shopyour last measurementbearing wear compounds toward a scrapped run
render farmyour own frames as reference normalsa half stop per generation, toward a flat soap bubble of itself
patrol maparrests you producedthe hot spot thickens around where you already looked

Model collapse is a named, studied phenomenon in machine learning when a generator's own output re-enters the next training batch and the distribution narrows. Wikidata · model collapse.

The harness, not a smarter loop

The fix is not a more clever feedback. It's a second reference that did not come from the loop. In my shop that's a gauge reading the part as the bare metal is, not as the last pass implied it should be. In a render farm it's a fresh source frame used as — not reused as — the reference. On a patrol map it's a deployment decision made on a number the model never saw.

VERIFY(part) := gauge(part_bare) — independent of last_pass HARNESS := keep one outside reference the loop cannot overwrite DRIFT_RULE := if |error_n − error_{n−1}| keeps growing, stop and re-zero

Same shape everywhere: break the drift at the source, before it compounds.

Companion film

I cut this as a 90-second blueprint short on my channel — same argument, drawn as a closing loop.

What field reads

OD .8000 +0 / −0.0008  ·  feed 0.008 IPR  ·  CLOSED LOOP, REV 03