The loop turns itself, and clears the wall doing it

turn::plan had produced steps since it was written and nothing had ever taken one. The sentence "step 17 is now partly mechanical" described code somebody ran by hand. It has a runner now, and against PPSA02664 one turn does this unattended:

TURN  8 findings, fault=0xfffe0
PLAN  4 steps, 3 of them this can take on its own
  swept every argument: arg0 is an out-parameter, faulting at arg0+0xfffe0
  *** gave it a region at 0x50000000: reached 25 against 23, faulting at 0x0
  stopped: implementing a function is a person writing code
TURN RESULT  took 4 of 4 steps in 7.8s

Seven point eight seconds, and the second line is the loop satisfying a contract it measured minutes earlier by hand. The wall that stood through twenty-three eliminations is behind it - reached 25 imports against 23, and the fault is a different one at a different address.

What was built

Three bugs found by writing it, and one by running it

Duplication removed while looking for it

Axis::every_variable was seven hand-written strings and ORBISTOUN_WATCHPOINT had never reached them - so a sweep launched from a shell with a watchpoint set would have carried it into every run and called the result controlled (D288). Four more copies in Axis::env, one in orbistoun-llm, five in tests. All read orbistoun_env::<VAR>.name now, which is what orbistoun-paths already did.

Third instance of that shape in one day, after D123's registration lists and D281's dead register functions. The pattern is always the same: a list that looks authoritative, is a copy, and is wrong only where nobody re-reads.