partial

Does the engine reproduce BFF emergence at all?

The positive control the design record makes mandatory: a well-mixed soup of 2^17 tapes, the shape the published BFF work used. It shows the transition in tape statistics in one mutated seed and the largest replicator census in the lab in another, so the interpreter and the pairing rule are not what the sweeps were measuring. Two of its stored worlds sit on census-positive samples and rescore to the live count exactly, 316 replicating cells and 112, so the census is real; but no stored world brackets the peak itself at this experiment's snapshot cadence, so its height is still read from in-run samples alone. A zero-mutation control collapses entropy with a census of zero: compression alone is not a replicator.

Hypothesis

This is not a claim about nature but a claim about the instrument: the engine, run in the shape the published BFF work used, reproduces the emergence of self-replicators. A well-mixed soup — every interaction pairs a cell with a partner drawn uniformly from the whole world — of 217 tapes should leave the random-soup regime within the epoch budget: compress_ratio collapses, replicator_count rises off zero and stays there.

The falsifier is blunt. If this control never transitions, suspect the interpreter or the pairing rule, not the hypothesis: the sweeps of DESIGN §1.3 are only worth reading once the engine has been shown to produce the effect they measure.

Method

A 512×256 torus — 131 072 cells, 217 tapes — of 64-byte tapes (tape_len = 64), radius = 0 for the well-mixed neighbourhood, max_steps = 8192 per interaction, 50 000 epochs per run. Two arms, mutation_rate = 0 and the engine default 2-12 = 2.44 × 10-4, with seeds 1, 2 and 3 each: six runs. Sampling is sparse for a world this size — sample_every = 50 and snapshot_every = 2000, 25 full-world snapshots per run instead of the 500 the engine's default cadence would write. The runs carry queue priority 10, ahead of every sweep, because nothing else in the lab means anything until they land.

Result

Partial, and not yet the reading the hypothesis asked for. It is a reading and not a claim for three reasons: the runs are far from their epoch horizon, the mutated arm has moved in two of its three seeds and no more, and the census that would make the move mean something is confirmed in stored worlds off its peak but not yet at the peak itself. What follows states shapes; the per-run numbers behind them drift with every sample and are in the evidence table below, which reads the runs live.

The instrument produces the signature. The mutated arm has transitioned in one of its three seeds, and it transitioned the way the mutation-rate sweep's flagged runs do: compress_ratio collapses inside a few sampling intervals, distinct_tapes falls from one-per-cell and keeps falling, copy_rate lifts off exactly zero, op_density rises and entropy_bits drops — one joint move, not five independent ones. Two of the three mutation_rate = 0 controls sit at the random-soup baseline, the third is the negative result discussed below, and the last mutated seed has not moved. So the interpreter and the pairing rule do produce the published signature in the published shape; the harness is not what the sweeps were measuring.

And the census is not zero. A second mutated seed carries the largest replicator_count in the lab — thousands of replicating cells at its peak, at a copy_rate of a few percent of all interactions where a soup that has not moved sits at zero — which is the shape the mutation-rate sweep shows: a census peak near the transition rather than a level that holds. That census is not an artefact of the in-run assay. Two of this control's stored worlds do sit on census-positive samples, and rescoring each reproduces the live count exactly — 316 replicating cells at epoch 9 900, 112 at epoch 16 000 — so what the samples report, the worlds hold. What no stored world holds is the peak itself: this control snapshots every 2 000 epochs, the count runs into the thousands for a window shorter than that cadence, and the nearest world stored on a positive census sits past the maximum on the way down. The height of the peak therefore still rests on in-run samples alone, while the claim that the count is real rests on worlds that were rescored. Truncation of the ranking is not ruled out here either, and on this control it bites: rescoring a mutated seed's stored world further past its census peak than either of those two reads a census of zero at the top 16 tapes and 38 at both 64 and 256, with compress_ratio 0.476 and entropy_bits 5.52 — a lineage too diffuse for the top of the ranking, living in ranks 17 to 64. Widening the cut is not inflating a non-lineage: the zero-mutation arm's collapsed world reads zero at every width, and of the 178 stored worlds rescored at all three widths only two are zero at 16 and positive at 64. Nor is it a change of the instrument — top_k stays where DESIGN §1.2 locks it, at 16, and what is reported above is a reading of a stored world at a wider cut, not a new default. So the census here is confirmed off the peak and unresolved at it, and the falsifier above is neither triggered nor retired.

What the zero-mutation control shows

The sharpest result of this experiment is in its negative arm. One mutation_rate = 0 seed collapses entropy_bits outright and drives compress_ratio to a tenth of the soup floor with a census of zero throughout. With no mutation there is nothing novel to find, so nothing there can be a replicator that emerged; what the collapse is, is a copying cascade of the tapes the seed handed the world — the control behaving as a control. That is direct evidence that an entropy collapse on its own is not evidence of a replicator, and it is why the census, not the compression, is what decides.

The measurement this experiment still owes is a stored world inside the census peak, and the engine now takes it unasked: the run loop writes a snapshot whenever the census rises off zero, at most one per snapshot_every, so a re-run of this control would store the world at the epoch where the count lifts rather than wherever the cadence next fell. These runs predate that reason. Until a re-run brackets the maximum, the height of the peak is read from in-run observables and the lineage from the worlds stored past it.

The gap in these runs is harness history, not signal. All six failed between epoch 546 and epoch 633 against a read limit in the runner's lab-mode client — its 10 MiB cap on an API response, too small for a world this size — fixed by PR #17, which raised the limit to 256 MiB, and they were requeued from their last snapshot. A container recreate released them a second time, and they resumed from their snapshots again.

The mutation-rate sweep's strongest transitions have been confirmed in their stored worlds, and so have two of this control's own census readings, so the census is real here too and the instrument can see a lineage. What is still open is the height of this control's peak and the third mutated seed, which has not moved. Until the arm is read out at its horizon no sweep on this site is readable as a clean negative result, and the mutation-rate finding is held on that basis.

Evidence

Transition, flagged, census and arm are used here in the senses set out in the glossary.

Sweep: BFF positive control

Transition epoch vs mutation rate
0 0.000244 0 5000 10000 15000 20000 Mutation rate Transition epoch 0: emerged at epoch 7400 0: emerged at epoch 6950 0: emerged at epoch 17400 0.000244: emerged at epoch 9750 0.000244: emerged at epoch 5400 0.000244: emerged at epoch 14250

Filled dots are runs a replicator confirmed emerged in; the line joins the median per value. Hollow dots are crossings the detector flagged that nothing confirmed. Hollow markers at the top count the runs with no emergence in 50000 epochs, the flagged-only ones among them.

Transitions and replicator counts

One row per finished run the detector flagged or that counted at least one replicator. "Transition epoch" is the detector's event; "Peak replicators" is the largest census the run reached, with the epoch it first reached it in brackets; "—" means the run never had a value.

Run Seed Mutation rate Transition epoch Peak replicators Min entropy_bits Max copy_rate
Run #185 (CSV) 2 0.000244 5,400 267 (8,350) 5.59 0.00206
Run #182 (CSV) 2 0 6,950 0 4.37 0.0024
Run #183 (CSV) 3 0 7,400 0 0.909 0.0000305
Run #186 (CSV) 3 0.000244 9,750 4,000 (9,750) 5.45 0.0299
Run #184 (CSV) 1 0.000244 14,250 130 (31,300) 5.09 0.00181
Run #181 (CSV) 1 0 17,400 865 (17,700) 4.13 0.00861

Runs

Every run of the sweep, flagged or not, with its seed — the denominator of the rate above.

Seed Mutation rate Status Priority Epochs done Transition epoch Census
1 0 finished 10 50,000 17,400 confirmed 865 Run
2 0 finished 10 50,000 6,950 confirmed — detector only Run
3 0 finished 10 50,000 7,400 confirmed — detector only Run
1 0.000244 finished 10 50,000 14,250 confirmed 130 Run
2 0.000244 finished 10 50,000 5,400 confirmed 267 Run
3 0.000244 finished 10 50,000 9,750 confirmed 4,000 Run