open

Does complexity keep rising?

The open-endedness verdict across the three substrate bets of DESIGN §1.3 — instruction cost, environmental structure and room to grow — read against the default substrate the complexity-plateau finding established. Each of those sweeps carries its own control arm: the cost off, a uniform world, a tape that cannot lengthen, the substrate every earlier sweep ran. This reads each sweep at render time and asks the same two questions of every arm — does the dominant replicator reach a higher complexity than the control arm reaches, and does the world keep more lineages alive — by placing each transitioned run above or below its own control and counting, never fitting a trend. An arm with too few transitioned seeds decides nothing, and the hypothesis it belongs to reads unresolved rather than answered.

Question

On the substrate the programme already had, the dominant replicator's complexity is counted after emergence and the count is of directions: how many emerged worlds end more complicated than they started. That is the baseline. The open question it leaves is whether the substrate was what was limiting — whether a world that has to pay for computation, a world whose regions differ, or a world whose tapes are free to lengthen goes somewhere the default substrate never went. This page is that verdict, for the three sweeps DESIGN §1.3 built to ask it: sweep 6 (instruction cost), sweep 7 (environmental structure) and sweep 8 (room to grow).

Method

Each of the three sweeps carries its own control. The first arm of each grid is the substrate every earlier sweep ran — energy_per_epoch 0, a uniform world, max_tape_len equal to the tape length — so a treated arm is read against the default substrate inside the same experiment, at the same mutation rate, world size and step budget, rather than against runs from another sweep.

For every emerged run of those sweeps this reads two series off the stored samples at or after that run's own emergence epoch. Emerged is narrower than flagged: the detector reads compress_ratio alone, so a crossing counts here only when the replicator census or the copy rate backs it within ten samples of it (docs/design_record.md, 2026-09-15) — the flagged runs of the 512 arm whose census never left zero are not worlds that emerged. The two series are: dominant_instruction_count, how many bytes of the most populous tape that passes the replicator test the run's own instruction set executes, and distinct_lineages, how many lineage ids the cells hold. A run's peak is the highest reading its samples record after the crossing — a ceiling the run touched, not a level it settled at and not a fitted trend — and a run is still rising when its last reading is above the median of its own post-crossing readings. An arm is then placed by counting: a treated arm raises the peak when more than half of its measured runs read strictly above the median peak of the control arm's runs. Nothing on this page is fitted, and nothing is averaged across sweeps.

A hypothesis reads supported as soon as one arm with at least 2 measured runs raises the peak. It reads not supported only when the control arm carries at least that many measured runs, no treated arm raises the peak, and every treated arm has been read — the refutation DESIGN states, with nothing left unseeded. Anything between the two reads unresolved, and the arms that were untestable are named.

An arm is read either by being measured or by coming up empty. An arm whose runs all reached their last epoch — 10 terminal runs or more, a whole seed-block of the grid — with no crossing confirmed in any of them never emerged, and such an arm counts against the hypothesis rather than leaving it untested: it holds no replicator whose complexity could stand above the control arm's, so it cannot be a substrate that raised the plateau. An arm with one emerged run, or with fewer terminal runs than that, is still untestable — one seed decides nothing in either direction. If the control arm never emerged the sweep reads unresolved whatever the other arms did, because there is no default substrate left to read them against.

Each sweep is decided on the one observable its DESIGN hypothesis names. The other observable is printed underneath it in the same shape and carries no verdict, so both readings of every sweep are on the page without a second hypothesis being invented for them.

Under each hypothesis the page also prints how often life emerged in each arm — the arm's confirmed crossings over the runs of that arm that reached an end — with a two-sided Fisher exact test of the arm's emerged and unemerged runs against the control arm's. That table is descriptive. It decides nothing about the plateau, which is read from the peaks of the runs that did emerge and not from how many of them there were, and no verdict on this page moves with it.

Why complexity is read in instructions and not in bytes

The obvious reading — dominant_compressed_len, the dominant tape under zlib — is unusable on the sweeps this page decides. zlib wraps an incompressible stream in an 11-byte envelope, so a tape of junk compresses to its own length plus 11, and on every arm of the room-to-grow sweep that is exactly what 92–99.8% of post-crossing samples read: 75, 139, 267 and 523 bytes at caps of 64, 128, 256 and 512. The reading is the cap, not the replicator, and "523 bytes" cannot be told apart from 512 random bytes.

dominant_instruction_count is not capped that way. Post-crossing it reads 9–17 ops at cap 64, 20–26 at 128, 17–28 at 256 and 37–52 at 512 — 14–26% of the tape at the smallest cap and 7–10% at the largest. Quadrupling the byte budget does not quadruple the op content; the added bytes are junk. So every verdict below is read off the instruction count, which is the pre-registered reading for "complexity keeps rising" (docs/design_record.md, 2026-09-16), and the compressed length is kept only as a length. Each run page now prints compressed length over the tape's own raw length beside it, so the saturation is visible rather than inferred.

Hypothesis 1 — instruction cost

DESIGN §1.3 sweep 6: a cost pressure selects for efficient copiers and opens a second niche. A second niche is a second way of making a living, and what this substrate records of that is the lineages it keeps alive, so the priced arms are read against the costless one on distinct_lineages.

not supported No arm of the sweep reads above the control arm in most of its runs, and every arm has either been measured or run to 10 seeds with nothing emerging — the refutation condition of the hypothesis, at the seeds this sweep has. It rests on 2048, where nothing emerged at all. Instruction cost has 7 emerged runs, 7 of them carrying a lineage count after the crossing. The control arm's median peak is 8424 lineages, and every other arm with at least 2 measured runs is counted against it. Arms that never emerged: 2048 (0 of 30 runs). That arm holds no replicator to read, so nothing there stands above the control arm and the sweep counts it as read rather than as unseeded.

Arm Terminal runs Emerged Measured Median peak lineages Above control Still rising
0 control 30 3 3 8424 — 0
32768 30 2 2 8393 1 0
8192 30 2 2 8087 1 0
2048 never emerged 30 0 0 — 0 0

One row per arm of the sweep. "Terminal runs" counts the runs of the arm that reached an end — finished or failed with at least one sample — whether or not anything emerged in them, "Emerged" counts the arm's confirmed crossings, not every crossing the detector flagged, and "Measured" the emerged runs whose samples carry the reading after their own crossing; the median is of each run's peak, the highest post-crossing reading it recorded. "Above control" counts the runs of the arm whose peak is strictly above the control arm's median peak — a dash until the control arm has a median to count against — and "Still rising" the runs whose last reading is above the median of their own post-crossing readings. An arm badged "never emerged" has run a whole seed-block of 10 terminal runs with no crossing confirmed in any of them, which reads as an arm that raised no plateau rather than as an arm nobody tested.

no verdict Read but not the hypothesis under test. DESIGN decides this sweep on lineages, so the complexity in instructions below is printed for completeness and no verdict is drawn from it: whichever way these counts fall, they neither support nor refute the hypothesis above.

Arm Terminal runs Emerged Measured Median peak instructions Above control Still rising
0 control 30 3 2 10 — 0
32768 30 2 1 22 1 0
8192 30 2 1 26 1 0
2048 never emerged 30 0 0 — 0 0

One row per arm of the sweep. "Terminal runs" counts the runs of the arm that reached an end — finished or failed with at least one sample — whether or not anything emerged in them, "Emerged" counts the arm's confirmed crossings, not every crossing the detector flagged, and "Measured" the emerged runs whose samples carry the reading after their own crossing; the median is of each run's peak, the highest post-crossing reading it recorded. "Above control" counts the runs of the arm whose peak is strictly above the control arm's median peak — a dash until the control arm has a median to count against — and "Still rising" the runs whose last reading is above the median of their own post-crossing readings. An arm badged "never emerged" has run a whole seed-block of 10 terminal runs with no crossing confirmed in any of them, which reads as an arm that raised no plateau rather than as an arm nobody tested.

How often life emerged

Arm Terminal runs Emerged Rate Against the control
0 control 30 3 3 of 30 (10%) —
32768 30 2 2 of 30 (7%) p = 1
8192 30 2 2 of 30 (7%) p = 1
2048 30 0 0 of 30 (0%) p = 0.24

Every treated arm emerged less often than the control arm (2 of 30, 2 of 30 and 0 of 30 against 3 of 30); none of the differences reaches p < 0.05.

One row per arm of the same sweep. "Terminal runs" counts the runs of the arm that reached an end with at least one sample, "Emerged" the confirmed crossings among them, and "Rate" the second over the first. "Against the control" is a two-sided Fisher exact test of the arm's emerged and unemerged runs against the control arm's — a dash for the control arm itself and for an arm with nothing terminal to test. The test describes how often life emerged under each substrate and decides nothing about the plateau above.

Hypothesis 2 — environmental structure

DESIGN §1.3 sweep 7: environmental structure raises the plateau the dominant replicator's complexity settles at, refuted if a world whose regions differ plateaus where a uniform world does.

unresolved Not enough emerged seeds to decide it either way. Environmental structure has 11 emerged runs, 8 of them carrying a complexity in instructions after the crossing. The control arm's median peak is 16 instructions, and every other arm with at least 2 measured runs is counted against it. Untestable here: patchwork carries fewer than 2 measured runs without having drawn a blank seed-block either, so the sweep cannot read as not supported until it is seeded further — an arm that has emerged once refutes nothing, and neither does one nobody has run.

Arm Terminal runs Emerged Measured Median peak instructions Above control Still rising
uniform control 30 3 3 16 — 1
gradient 90 6 4 16 2 2
patchwork 90 2 1 63 1 0

One row per arm of the sweep. "Terminal runs" counts the runs of the arm that reached an end — finished or failed with at least one sample — whether or not anything emerged in them, "Emerged" counts the arm's confirmed crossings, not every crossing the detector flagged, and "Measured" the emerged runs whose samples carry the reading after their own crossing; the median is of each run's peak, the highest post-crossing reading it recorded. "Above control" counts the runs of the arm whose peak is strictly above the control arm's median peak — a dash until the control arm has a median to count against — and "Still rising" the runs whose last reading is above the median of their own post-crossing readings. An arm badged "never emerged" has run a whole seed-block of 10 terminal runs with no crossing confirmed in any of them, which reads as an arm that raised no plateau rather than as an arm nobody tested.

Its secondary prediction — a heterogeneous world keeps more lineages alive after emergence — is the same arms read on distinct_lineages, and DESIGN states it as a prediction, so this one does carry a verdict.

supported gradient, patchwork reads above the control arm in most of its runs. Environmental structure has 11 emerged runs, 11 of them carrying a lineage count after the crossing. The control arm's median peak is 8424 lineages, and every other arm with at least 2 measured runs is counted against it.

Arm Terminal runs Emerged Measured Median peak lineages Above control Still rising
uniform control 30 3 3 8424 — 0
gradient 90 6 6 8715 5 0
patchwork 90 2 2 8971 2 0

One row per arm of the sweep. "Terminal runs" counts the runs of the arm that reached an end — finished or failed with at least one sample — whether or not anything emerged in them, "Emerged" counts the arm's confirmed crossings, not every crossing the detector flagged, and "Measured" the emerged runs whose samples carry the reading after their own crossing; the median is of each run's peak, the highest post-crossing reading it recorded. "Above control" counts the runs of the arm whose peak is strictly above the control arm's median peak — a dash until the control arm has a median to count against — and "Still rising" the runs whose last reading is above the median of their own post-crossing readings. An arm badged "never emerged" has run a whole seed-block of 10 terminal runs with no crossing confirmed in any of them, which reads as an arm that raised no plateau rather than as an arm nobody tested.

How often life emerged

Arm Terminal runs Emerged Rate Against the control
uniform control 30 3 3 of 30 (10%) —
gradient 90 6 6 of 90 (7%) p = 0.69
patchwork 90 2 2 of 90 (2%) p = 0.099

Every treated arm emerged less often than the control arm (6 of 90 and 2 of 90 against 3 of 30); none of the differences reaches p < 0.05.

One row per arm of the same sweep. "Terminal runs" counts the runs of the arm that reached an end with at least one sample, "Emerged" the confirmed crossings among them, and "Rate" the second over the first. "Against the control" is a two-sided Fisher exact test of the arm's emerged and unemerged runs against the control arm's — a dash for the control arm itself and for an arm with nothing terminal to test. The test describes how often life emerged under each substrate and decides nothing about the plateau above.

Hypothesis 3 — room to grow

DESIGN §1.3 sweep 8: room to grow raises the plateau the dominant replicator's complexity settles at, refuted if tapes free to lengthen plateau where fixed-length tapes do — which would say the 64-byte ceiling was never the binding constraint.

supported 128, 256 reads above the control arm in most of its runs. Room to grow has 13 emerged runs, 11 of them carrying a complexity in instructions after the crossing. The control arm's median peak is 10 instructions, and every other arm with at least 2 measured runs is counted against it. Untestable here: 512 carries fewer than 2 measured runs without having drawn a blank seed-block either, so the sweep cannot read as not supported until it is seeded further — an arm that has emerged once refutes nothing, and neither does one nobody has run.

Arm Terminal runs Emerged Measured Median peak instructions Above control Still rising
64 control 30 3 2 10 — 0
128 90 5 4 26 4 3
256 90 4 4 33 4 1
512 30 1 1 62 1 0

One row per arm of the sweep. "Terminal runs" counts the runs of the arm that reached an end — finished or failed with at least one sample — whether or not anything emerged in them, "Emerged" counts the arm's confirmed crossings, not every crossing the detector flagged, and "Measured" the emerged runs whose samples carry the reading after their own crossing; the median is of each run's peak, the highest post-crossing reading it recorded. "Above control" counts the runs of the arm whose peak is strictly above the control arm's median peak — a dash until the control arm has a median to count against — and "Still rising" the runs whose last reading is above the median of their own post-crossing readings. An arm badged "never emerged" has run a whole seed-block of 10 terminal runs with no crossing confirmed in any of them, which reads as an arm that raised no plateau rather than as an arm nobody tested.

no verdict Read but not the hypothesis under test. DESIGN decides this sweep on complexity, so the lineage count below is printed for completeness and no verdict is drawn from it: whichever way these counts fall, they neither support nor refute the hypothesis above.

Arm Terminal runs Emerged Measured Median peak lineages Above control Still rising
64 control 30 3 3 8424 — 0
128 90 5 5 9583 5 0
256 90 4 4 10400 4 0
512 30 1 1 11226 1 0

One row per arm of the sweep. "Terminal runs" counts the runs of the arm that reached an end — finished or failed with at least one sample — whether or not anything emerged in them, "Emerged" counts the arm's confirmed crossings, not every crossing the detector flagged, and "Measured" the emerged runs whose samples carry the reading after their own crossing; the median is of each run's peak, the highest post-crossing reading it recorded. "Above control" counts the runs of the arm whose peak is strictly above the control arm's median peak — a dash until the control arm has a median to count against — and "Still rising" the runs whose last reading is above the median of their own post-crossing readings. An arm badged "never emerged" has run a whole seed-block of 10 terminal runs with no crossing confirmed in any of them, which reads as an arm that raised no plateau rather than as an arm nobody tested.

How often life emerged

Arm Terminal runs Emerged Rate Against the control
64 control 30 3 3 of 30 (10%) —
128 90 5 5 of 90 (6%) p = 0.41
256 90 4 4 of 90 (4%) p = 0.36
512 30 1 1 of 30 (3%) p = 0.61

Every treated arm emerged less often than the control arm (5 of 90, 4 of 90 and 1 of 30 against 3 of 30); none of the differences reaches p < 0.05.

One row per arm of the same sweep. "Terminal runs" counts the runs of the arm that reached an end with at least one sample, "Emerged" the confirmed crossings among them, and "Rate" the second over the first. "Against the control" is a two-sided Fisher exact test of the arm's emerged and unemerged runs against the control arm's — a dash for the control arm itself and for an arm with nothing terminal to test. The test describes how often life emerged under each substrate and decides nothing about the plateau above.

The same sweep under both detector rules

This sweep is flagged by the detector of DESIGN §1.2, which reads a constant threshold: compress_ratio at or below 0.6, held. A fresh soup's ratio depends on the cap, and the dependence straddles that line — over its first 500 epochs the 512 arm means 0.754 with a minimum of 0.618, against 0.984 at cap 64 (docs/design_record.md, 2026-09-19). A second reading was added beside it, transition_epoch_relative: the same fall taken against each run's own baseline, the mean compress_ratio of its samples at epoch 500 or earlier. The stored corpus was rescored under it on 2026-09-19, without re-running anything. Both readings of this sweep:

max_tape_len Terminal runs Crossings, constant rule Crossings, relative rule Confirmed by a replicator
64 30 3 3 2
128 90 5 5 3
256 90 4 4 4
512 30 30 1 1

Rescored with lab:backfill_relative_transitions over 1 729 terminal runs of the whole corpus, 2026-09-19 (GitHub #174).

The 512 arm's 30 constant crossings are the initial condition rather than anything that happened in the world: the arm starts within a hair of the threshold, and every one of those 30 runs crosses by epoch 1 000. Under the relative rule that arm keeps 1 crossing — the same run the replicator census confirms. The three narrower caps read the same crossings under both rules, and so does every arm of the other six experiments, 35 arms in all. Over the whole rescored corpus — 1 729 terminal runs — the 512 arm is the only place the two rules part, and there is no crossing the relative rule finds and the constant one misses.

No verdict above moves. Emergence on this page has required a witness since the record's 2026-09-15 entries — the replicator census or the copy rate, read against every crossing a run holds — so the 512 arm's flagged-but-dead runs were never emerged runs here, and the arm has entered these tables as 1 of 30 all along. The peaks the three hypotheses are decided on are read from emerged runs only, and they are unchanged.

What the flag counts cannot be read for. Under the relative rule the crossings by cap read 3 / 5 / 4 / 1 — flat, then falling at the widest cap — so nothing here says that a bigger cap transitions more often or sooner. "Room to grow" is read on this page for the height of the plateau the dominant replicator reaches, which is the verdict above, and not for how often life started. transition_epoch under the constant rule remains the locked observable of DESIGN §1.2; whether the detector is relocked on the relative reading is a design-record decision and is not made here.

Does anything keep rising?

Across the three sweeps the lab holds 61 runs flagged by the detector and 31 confirmed by a replicator. 23 of the confirmed ones carry a complexity reading after their crossing and 7 end above the middle of their own post-crossing readings; 31 carry a lineage count and 0 end above the middle of theirs. That is a description of where each run ended, not a trend, and it is censored at both ends by that run's budget.

Read as one table rather than three, the three control arms emerged in 9 of their 90 terminal runs and every treated arm together in 22 of 480 terminal runs — the default substrate against every substrate the programme bet on, pooled across sweeps that were never designed to be pooled, so it is a summary of this page and not a test.

What this does not claim

A peak is a peak at these budgets. Every arm runs the same 20 000 epochs as the sweeps it is compared to, and a run's series is cut off wherever its budget ended. A substrate that would have elaborated at epoch 200 000 reads flat here, and the refutation condition DESIGN states is met at this budget rather than in general.

"Still rising" is a description, not a verdict. No hypothesis on this page turns on it. A run counts as rising when its last post-crossing reading is above the median of its post-crossing readings, which rules out a single step up right after the crossing but is still one reading against a summary of a short series rather than a trend, and it is censored at both ends: a world still climbing when its epochs ran out reads as rising, and one that would have climbed later reads as flat.

A lower rate at 20 000 epochs is not an impossibility. How often life emerged is counted at the budget these sweeps ran, and an arm that emerged less often than its control may be slower rather than barren. The 60 000-epoch re-run of sweep 1 found half of that sweep's confirmed crossings after epoch 20 000, where the short sweep had already stopped watching — so every rate above is a rate of emergence by epoch 20 000, and an arm at 0 of 10 here is an arm nothing crossed in that window.

Counts, not effect sizes. A majority of an arm's runs above the control arm's median peak is a direction, not a magnitude, and at the seed counts these sweeps carry a direction is compatible with a large range of true effects. None of the three verdicts is a significance test.

Complexity is a count of instructions and lineages are descent. An instruction count bounds the program rather than describing it — a tape can carry fifty ops that do nothing useful — and distinct_lineages counts descent rather than shape — two lineages that drifted onto the same tape still count twice. Neither reading opens a tape and says what it does, so "a second niche" is inferred from a count of lineages rather than observed.

Every run is read from its own crossing. An arm that takes longer to cross is read from a later epoch, and distinct_lineages falls as one lineage takes over the world, so a substrate that delays emergence enters this table with fewer lineages left through no property of the niches it opened. Nothing here corrects for that, and hypothesis 1 is the one it bears on.

One reading per sweep decides it. Each hypothesis is judged on the observable it names and nothing else; the second reading of each sweep is printed beside it and decides nothing. An arm that raises the complexity peak while losing lineages would read supported on sweep 7's primary prediction and not supported on its secondary one, which is two sentences about the same world rather than a contradiction.

What next

If every arm reads where its control does, the three substrate bets are spent and the design record's rung 4 needs a richer substrate rather than a wider grid — and this page is the evidence for saying so. If an arm does raise the peak, the next run is that arm alone at a budget long enough to see whether the new level holds. Either way the reading that would settle it is per lineage rather than per dominant tape, so one colony can be watched elaborating instead of a population being scored by whichever tape is most populous at each sample.

Evidence

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

Sweeps: Instruction cost · Environmental structure · Room to grow

Read against: Does the replicator keep getting more complicated?

This finding rests on no single sweep: it weighs 3 sweeps against each other, and the runs behind each verdict are tabled above by arm. A sweep the lab has not queued yet carries no runs and decides nothing here.