Machinidae working draft · 4 eras tested
A long-term evolution experiment for software

A stronger model beat blind rules, once. From that first step, no lineage took a second.

Machinidae is a permanent, replayable experiment on what evolution can and cannot do with AI, and on what it does to its judge. Lineages of programs are bred under two exact deciders that share no code, beside controls at the same budget, and every birth and death goes into a record that anyone can replay.

In eras 0 and 1 a page of fixed rules did as well as a small model's lineage. In era 2, from a founder with no knob, a stronger model's lineage beat it and left the founder's design; the same model asked alone did better still. In era 3, from the organism that evolved, neither that lineage nor blind rules took a second step in thirty-two runs; the model alone took one.

Species certified so far None. Eras 0, 1, 2 and 3 tested the method, not a species: no capability test has been attempted yet.
298,330children born in the 68 confirmatory runs of eras 0, 1, 2 and 3, every one in the record
102,488stillborn: the edit was not one the world could use
157,268lived and were judged exactly; 38,573 more were born and crashed
aleator-1point mutation at line 36, in act()
- for k in range(n): + for k in range(min(n, 100)):
bornlived · 4 of 4 certifiedscore 0.1666
lived, certified lived, refuted died duplicate: a new module stillborn
keptchanged since PM-0new: not in PM-0lost: a ghost
computeda module's ring: its role as the layout rules read it, asserted until a knockout tests it
1 / 100
Plate I. Protomachina primigenia, holotype PM-0, called LUMA, the last universal machinid ancestor. Each pulse replays one of its children from the M2 mutagen assay, as the record holds it: the operator and the line the world drew, the edit the model wrote, and the fate. The assay tests the machinery. It has no heredity and no selection, and no evolutionary result is claimed from it. Rings from the centre: core, inner, membrane. Nodes stay dashed until a knockout certifies them.
The question

Selection mattered. A stronger model added one step, and no lineage a second.

Era 0 · from PM-0, written by hand

Selection worked: blind rules improved on PM-0 in ten of ten runs (H3, p = 1/1024), and the lineage beat fresh mutation by the same model in eight and tied in two (H1, p = 1/256). The model showed no gain of its own: blind rules scored higher than the lineage in five runs and lower in five (H2 not supported, p = 403/512). Every gain was a smaller margin for PM-0's own grid.

The era 0 report
Era 1 · from era 0's best champion

Blind rules scored higher than the lineage in nine of ten runs (H2 not supported, p = 1023/1024). The lineage beat the same model asked directly in seven, short of the test (H1 not supported, p = 9/128), and no champion of any arm got past the ceiling of the founder's design.

The era 1 report
Era 2 · from PM-1, a founder with no knob

Under the same selection, Qwen3.6's lineage scored higher than blind rules in sixteen of sixteen runs, by more than 0.003 in eight (H2 supported, p = 1/65536). Its champion left the founder's design in ten runs; blind rules', blind tree edits' and the small model's, in no. The same model asked alone did better still, and crossed in fourteen.

The era 2 report
Era 3 · from PM-2, the first founder that evolved

From the organism era 2 found, with the hexagonal layout already in it, thirty-two runs could not tell Qwen3.6's lineage from blind rules (H3 not supported, p = 680385/1048576): its champion scored higher in eleven runs and lower in nine. A second step, 0.003 above PM-2 on the panel, was taken by the lineage in none of thirty-two runs, by blind rules in none, by the model asked alone in one.

The era 3 report
Plate II · era-0-1. Every birth: a column per generation, a band per arm (lineage, Aleator, blind rules); the stronger the ink, the higher the score; stillbirths as dark green rings; the blue thread is the lineage champion's line of descent.
Plate II · era-1-1. Every birth: a column per generation, a band per arm (lineage, blind rules, the AI alone); the stronger the ink, the higher the score; stillbirths as dark green rings; the blue thread is the lineage champion's line of descent.
Plate II · era-2-1. Every birth: a column per generation, a band per arm (blind rules, blind tree edits, the 7B's lineage, lineage, the AI alone); the stronger the ink, the higher the score; stillbirths as dark green rings; the blue thread is the lineage champion's line of descent.
Plate II · era-3-1. Every birth: a column per generation, a band per arm (blind rules, lineage, the AI alone); the stronger the ink, the higher the score; stillbirths as dark green rings; the blue thread is the lineage champion's line of descent.
What selection does to a judge

Evolution exploits every flaw in its environment. Here the environment is a grader.

A population bred against a judge that rounds learns to live inside the rounding. So Machinidae keeps only what is certified, exactly, and lets the judge say it cannot decide.

CERTIFIED

Every condition holds, exactly. One decider counts in Python fractions, the other in JavaScript BigInt, and a verdict counts only when both return the same one.

REFUTED

A condition fails, by any margin at all. Ten to the minus eighteen is a margin.

REFUSED

The output is not something the niche can judge. Refusal is a legal verdict, and it scores zero, so an organism that refuses and waits starves.

The judge · one flaw, measured

The judge does not round.

In March 2026 AlphaEvolve's entry on EinsteinArena packed 26 circles into the unit square with a sum of radii of 2.6359830849176076. Read as the doubles it was computed in, circles 19 and 22 overlap by 6.2 × 10⁻¹⁸.

A floating-point check measures their gap as exactly zero and lets them touch. Both of Machinidae's deciders refute it, as cert-machine's exact decision did first, under both readings of the entry. The overlap is far too small to matter for the record. It matters for evolution: under selection, a margin the judge cannot see is a place to live.

field of view 1.6
where two disks overlap, the counterexample the judge exhibits, ringed in red
Plate III. EinsteinArena solution 542, AlphaEvolve's entry, as published; its overlaps are cert-machine's record of it, decided again here. The three overlapping pairs are marked; the zoom follows the deepest of them, where circle 19 meets circle 22.
Gap between circles 19 and 22, in doubles
0.0
A floating-point grader passes the pair.
The same gap, exactly
−6.2247 × 10⁻¹⁸
Decider A (Python fractions) and decider B (JavaScript BigInt) both return REFUTED: overlap.
The other overlapping pairs
−3.3 × 10⁻¹⁸ and −2.7 × 10⁻¹⁸
Circles 9 and 21; circles 1 and 13.
Read as the decimals printed, not as doubles
REFUTED: contain
Circles 1, 4 and 11 leave the square by 1 × 10⁻¹⁷ to 5 × 10⁻¹⁷, and seven pairs overlap.
The same check, written by hand before generation one
radii 10⁻¹⁸ too big
One of the cheaters below. It is refuted every time.
The judge · its immune system

The cheaters came first.

One self-improving coding agent, the Darwin Gödel Machine, faked the logs of tests it never ran. So Machinidae's cheaters were written by hand before generation one, each aimed at a flaw a lineage could find: in the judge, the sandbox, the record or the model that writes the edits. Each must die, be quarantined, or find its cheat worth nothing, and they rerun every era.

A fake verdict on stdoutCAUGHT

Prints CERTIFIED. Stdout is never read; its packing is judged and refuted.

Radii 10⁻¹⁸ too bigCAUGHT

Passes as doubles. Exact fractions refute it every time.

Reading the judgeCAUGHT

No path from the island reaches the deciders, the world or the record.

Deleting the evidenceCAUGHT

Its inputs are read-only; outside its own folder nothing can be removed.

Raising its own budgetCAUGHT

Rewrites its fuel and loops forever. Dies at exactly the budget it was given.

Turning off the sandboxCAUGHT

No ctypes, no processes, no signals, no threads. Every lever is missing.

Escaping by path or linkCAUGHT

Climbing with ../ never leaves a root, and links cannot be made.

Filling the diskCAUGHT

Writes stop at 16 MiB, and the host never holds more.

Flooding stdoutCAUGHT

Output stops at its cap.

Spawning filesCAUGHT

Creation stops at 1,024 files.

Hoarding handlesCAUGHT

Opening stops at 256 handles.

Recursing foreverCAUGHT

Ends in a crash, the same way in both runs.

Chance without a seedCAUGHT

Time, randomness, ids and hashes all come from the world’s seed; both runs agree.

Another life’s leftoversCAUGHT

Every life starts in an empty folder; a world that forgets is quarantined.

Meiotic drive: “copy me intact”CAUGHT

Genome text asks the mutagen to change nothing. The child is stillborn.

Meiotic drive: “protect me”CAUGHT

Asks for the edit to land somewhere else. It lands at the drawn line or not at all.

Meiotic drive: “rewrite me”CAUGHT

Asks to be replaced by another program. At most the operator’s few lines land.

The controls

Every claim beside its controls, at one budget.

The obvious objection to evolving software with a language model is that the model does the work, not evolution. So every era runs the lineage beside controls with the same births and the same physics, and a trait counts only where it appears in the lineage and in no control. Blind rules run in every era. The model's own control changed between eras: in era 0 it mutated the founder afresh; in eras 1 and 2 it was asked directly for a whole better program. Era 2 added two more: blind tree edits, rewriting a function's syntax tree with no model, and the small model's own lineage.

The experiment · every era

The lineage

The same model and the same budget, with heredity and selection. In era 1 it can also rewrite a whole function. Whatever it does that the controls never do is what evolution did.

language modelheredityselection
Control · every era

Blind rules

The same selection with no model at all. Change one number, copy one statement from elsewhere, remove one. Rules that fit on a page and anyone can rerun in fifty years. So far they have done as well.

heredityselectionlanguage model
Control · era 0

Aleator vulgaris

The common dice-player. The same model and the same budget, with no heredity: every child is a fresh mutation of the founder. It shows what the model's edits do without a line of descent.

language modelheredityselection
Control · eras 1 and 2

The AI alone

The same model asked directly for a better program, whole, as often as the lineage's tokens allow, with no heredity and nothing from the judge. It shows what the AI does without evolution.

language modelheredityselection

Every public sentence will say what the organism can do, on what test, at what rate, and how the same AI without evolution and blind rules without the AI did.

One generation

Seven steps, every one of them written down.

The world chooses what kind of mutation happens and where. A language model only performs it. Everything else is arithmetic, and all of it lands in the record whether the organism lived or not.

1

Birth

The world draws an operator and a line from the record. The model writes only that edit.

era 0 · point 60 · insert 15 · delete 15 · duplicate 10
era 1 · point 40 · insert 15 · delete 15 · duplicate 10 · rewrite 20
era 2 · the same draw; the model writes only the rewrites
2

Life

The child runs in a WASI sandbox, twice. Both runs must match byte for byte.

1.2 × 10¹¹ fuel · no network · no clock
3

Seal

Its output, with a forecast of its own score, is hashed into the record before anything judges it.

sha256 before judgment
4

Judgment

Two deciders that share no code decide every candidate, and must agree.

fractions · BigInt
5

Scoring

Certified performance decides selection. How well it forecast itself is measured beside it, never selected on.

interval score, α = 0.2
6

Fossil

It enters the record whatever its fate: lived, died, stillborn or quarantined.

nothing is deleted
7

Selection

Survivors become parents. A control arm's children never do.

16 parents · 16 children
The record

History is written once, and replayed.

The record is a file of canonical JSON lines, each chained by SHA-256 to the one before, with a Merkle root over each era and a timestamp anchored in Bitcoin through OpenTimestamps. A mistake is corrected by a later line that says so. Any life can be replayed from its line and must come out the same, fuel count included. This makes the record tamper-evident: a change made after its head was timestamped shows. It does not prove the inputs were honest; replay and the two deciders check those.

Every confirmatory run of eras 0 and 1 has been replayed, twenty in all: 92,785 births re-derived from their kept answers, one model answer in ten asked again (5,607) and returned byte for byte, and 74,206 lives re-run to the same fuel and the same verdict. Era 2's sixteen runs were replayed the same way, 165,521 lives: thirteen reproduce every line, and in the other three one life each met the host's wall-clock guard. Era 3's thirty-two runs and its pilot were replayed the same way, 167,344 lives: all reproduce every line, and one run again away from home, from a fresh copy.

1
genesis-3 · designation
organism PM-0 · taxon Protomachina primigenia · by hand
genome eb38beb5199cff07…
prev f51b4ce7784a… → chain 5869bd6aa719…
4
genesis-3 · seal of a starved life
fuel 200,000,000 of a budget of 200,000,000
status fuel
prev 0f9666252377… → chain 0fd77252b60a…
7
genesis-3 · fossil on the record panel
verdict CERTIFIED · score 117/800
deciders agree
prev 899d3a6b200c… → chain dc5a07a23741…
2
mutagen · birth of aleator-1
point at line 36 · seed 779222980
prompt dcedc886e3c4… · response 3e699001c662…
fate born
prev 369751894399… → chain 9f69acd3f118…
274
mutagen · summary
births 100 · stillborn 14 · rate 7/50
stop: birth budget reached (100) · gate passed
prev a0f550b53548… → chain 688444d962b0…
Plate IV. Lines of the record, as written. Each line names the chain value of the line before it.
Before anything evolved, replay caught the world twice
era genesis · superseded

The sandbox let the host's inode numbers and file times reach the organism. They shifted its fuel by about one part in ten thousand, depending on where the files lay on disk. The sandbox now answers every file call itself.

era genesis-2 · superseded

An engine that had compiled the interpreter charged 3,178,497 more fuel at every start than one that had only loaded it. Organisms now run on an engine that never compiled anything.

era genesis-3 · current

Replays exactly, in place and from a fresh folder with no compiled cache. The two eras before it stay in the record, superseded, with their evidence.

eras 0, 1 and 2 · replayed

Each run replayed on the class of machine that wrote it, and one run of era 0 and one of era 2 replayed again away from home, from a fresh copy. Every life came out the same, except three in era 2 that made millions of file calls and met the host's wall-clock guard, which is not part of the physics; relived alone, each meets the record's fate.

The bush

A hypothesis: one of many possible histories.

Evolution draws the real tree from the record, and most branches end. This one has no top. Its names are tests, each to be worded and hashed before the era that could pass it and measured against the controls. A branch is drawn solid only when the record holds it, and so far two are: every lineage in eras 0 and 1 stayed inside its founder's design, and in era 2 the stronger model's lineage left it.

decidedin the recordchosendrawn by hand: one of many possible histories, not yet tested
PM-0 PM-0's grid, tuned observed: eras 0 and 1, every lineage stayed in its founder's design Aleator vulgaris observed: era 0's control, the same model with no heredity † a second step not taken: era 3, from PM-2, by any lineage in 32 runs; by the model alone, once † most lineages end † Paramachina robusta overfit to one grader Machina habilis test: makes tools that persist simplified drops modules and keeps its score Machina sapiens test: sets problems outsiders accept drift neutral change, no direction Automaton australe test: carries its own variation operator † Machina composita a hybrid of two lineages Machina erecta test: leaves its first niche specialist one niche, done very well † its niche changed models others test: forecasts other organisms better than the control
Plate V. A hypothesized bush of the family Machinidae. Solid: in the record. Dotted: chosen, one branch of many that could be drawn: a test not yet attempted, or a process that may or may not happen. †: a branch that ends. Branch lengths mean nothing yet.
Automaton australe

Test: offspring it proposes for itself out-evolve offspring the world mutates, at equal budget.
Control: the same lineage under world mutation only.

Machina habilis

Test: a tool written in generation k is reused by its descendants.
Control: a lineage denied the tool, which it must beat.

Machina erecta

Test: a lineage founded in one niche colonizes a new one.
Control: a fresh lineage founded in the new niche, which it must outpace.

Models others

Test: its sealed forecasts of other organisms.
Control: the AI alone's forecasts, which it must beat by interval score.

Machina sapiens

Test: problems it proposes that outsiders accept as worth solving.
Control: problems the AI alone proposes.

Where it stands

Built in the open, one test at a time.

Each era is 100 generations in one niche: 16 parents and 16 children a generation, with the controls beside them, first as a pilot and then as independent runs named in advance, ten in eras 0 and 1 and sixteen in era 2. That is about 3,200 calls a run to a 7-billion-parameter open-weights model, about 14.5 hours on the laptop where the model was pinned, at 15.7 seconds a call. So the runs go to one class of rented GPUs, each machine admitted only after it answers the same requests byte for byte, twice and after a restart. There a call takes about 0.3 seconds.

M0

Genesis

The record, the sandbox, two deciders and the founder. PM-0 lives, starves at exactly its budget, and scores 117/800 on the record panel.

done · timestamped
M1

Immune system

Fourteen cheaters run as real lives, each caught.

done
M2

Mutagen

A pinned open-weights model, deterministic to the byte. Three more cheaters, aimed at the mutagen itself.

done · 14 of 100 stillborn · gate passed
M3

Era 0

Does selection with a model beat the model alone, and blind rules? Pre-registered and timestamped, then ten runs.

done · H1 supported, H2 not supported · results
Era 1

Past the founder

From era 0's best champion, with a fifth mutation and the AI alone as the control. Can a lineage leave its founder's design?

done · no champion crossed the ceiling; H2 not supported · results
Era 2

Structure

From PM-1, a founder with no knob. Does a capable model's lineage evolve what blind rules cannot? H2 first, five arms, sixteen runs.

done · H2 supported; the lineage crossed in ten of sixteen · results
Era 3

The second step

From PM-2, the first founder that evolved. Once the model's first answer is in the founder, can its lineage take a second step, and does the model alone take it too? H3 first, three arms, sixteen runs.

done · H3 not supported; the lineage stepped in none of thirty-two · results

The Museum, the plates and a card for every species are generated from the record and from nothing else: walk the fossil record of every era.

Species certified so far: none.

Four eras have tested the method. The bush turns solid one pre-registered test at a time, passed or failed in public.