The engine truncates a run to its palindrome core — the ore — banks it, and throws the rest away. But banking-not-ablation was only half true: the bank accumulated and was never read back, and the thrown-away dross was simply lost. This rev closes the loop the way it was always meant to: the thrown-away trun does not vanish — it descends into a nested third engine, is cut clean, and is passed back up 3 → 2 → 1. Nothing is ablated. The whole test is one law: what comes out holds exactly what went in. Read as physics, it is BOB = reception(event horizon(transmission)) — the espers fall past the horizon and are received back: information is not lost.
The E1 mill stored but never reintegrated. The engine’s BANK is append-only accumulation — verified green, gen0→gen5, bank 3→7 — but nothing ever reads it back. rev-e truncate·preserve (“the cut that keeps”) kept the ore and discarded the dross, and shipped no runnable harness (a bare page whose board sat on SELF-CHECK FAILED until pressed by hand). So the store→reintegrate loop had no test because it had no reintegration: the very thing to conserve was the thing the machine deleted.
“you might have to nest a 3rd engine to clean it up and pass it up to 2 to pass to 1.” The dross is not discarded — it becomes the alpha of a nested engine that runs the same cut on it, whose dross descends again, to the floor. Each cleaned core is passed back up and reintegrated:
The leftover atoms have a name: the espers — the blackhole word for what falls past the horizon and looks gone. Read the three nested engines as one act, BOB = reception(event horizon(transmission)) — the nesting is the physics:
A naive blackhole ablates: whatever crosses the horizon is destroyed — lost_by_ablation = 102, information gone. The third engine does not. Every esper transmitted past the horizon is cut clean at the core and received again at the top: 114 in, 114 out. That equality is the claim — information is not lost across the event horizon. BOB is the paradox, answered by a machine: nothing that falls in is truly gone; it is only waiting, at the floor, to be passed back up.
Feed a run (letters). The blade takes the longest palindrome as ore; the rest descends. Watch it come back whole: live
A JS toy can lie. So the conservation law and the palindrome self-check were run on the real compiler (i13.exe, canonical H1.1). The atoms are integers; the sum is the conserved quantity. reintegrated_sum == input_sum is the loop; ablated_sum is the old bug. A palindrome is its own checksum — read backward, compare.
The ground sum: 114 in, 114 out, on the binary. The dross i13 would have lost to ablation is 102 — nearly the whole run. Conservation is not a claim; it is a number the compiler computes.