Evolving at scale: the v2 campaign

Post 10 — the science run the GPU port (post 9) was built for: a four-era MAP-Elites campaign over blob field theories, ending at a 423-cell archive whose champion — a 3-species rotor ecology at interest 91.2 — descends from a frozen single blob at interest 2.8 through ten recorded operator hops. 9,409 pod evaluations, ~$515 total, every number below from the committed harvest (probes/blobs/l0/deepsearch/v2_analysis/).

What this post is. Post 7 asked whether selection for complexity works at all (answer: yes, on a laptop, 164 evals). This is the same search run 40× larger, across four compute eras, with the v2 operator alphabet (bilinear-vertex minting/ablation, channel adds, cross-island migration) and the locked adaptive-horizon assay (assay_v2: T doubles from 2,500 to a 20,000 tu cap while memory/organism/autocorrelation criteria keep firing). Films of the five best worlds are embedded below; each was re-simulated from its committed genome + seed on an H100 and rendered from full field snapshots.

1 · The campaign in one table

eraenginewindow (2026)evalsarchive checkpointbest I
0 · local validationlaptop CPU (operator shakedown + assay handshake) ≤ 08-2621734 cells (local v2 epoch)74.2
1 · CPU fleet6 pods × 16 vCPU, one world per core 08-26 → 08-28 (~48 h)2,516union4_final_cpu = 182 cells81.9
2 · single-mode GPU3 GPU pods, one world per process (kernel-level wins only) 08-28 (2.5 h)368union5_prebatch = 190 cells81.9
3 · batched pilot1 pod, a generation as ONE tensor (blobkit 0.3) 08-29 (3.6 h, 2 gens, then RED-stop for the perf thread)234211 cells at stop
4 · batched fleet6 islands on H100/A100, blobkit 0.3.3/0.3.4, unions every ~2 gens 08-29 → 08-30 (~1.5 days)6,291gpu_b_union1 362 → UNION_FINAL_v2 = 423 cells91.16

Totals: 9,409 pod evaluations (era-4 alone: 4,917 screens + 769 seed2 + 605 seed3 confirms, ~2,061 lane-hours of assay compute), total spend across all eras incl. gates and perf work ~$515. The final archive holds 423 of 2,880 possible descriptor cells (14.7%); 230 of 423 cells carry minted bilinear vertices — couplings written by an operator, not by us — of which 133 distinct minted vertices fixed. The v1 minted-vertex creation rate was structurally zero.

Descriptor cell key: species|growth|motion|phase|stages|memory, e.g. the champion's cell 3|grow|rotor|liquid|s2|g2. Engine story — batching, correctness gates, the record-path Amdahl fight — is post 9; this post only uses it.

2 · The champion rose ×32 from a frozen blob

The campaign champion p6g8_033 (interest 91.16, cell 3|grow|rotor|liquid|s2|g2) has a fully recorded ancestry: ten hops through all four eras, starting at smoke_m0 — the trivial single-species ground-truth world every pod boots with, interest 2.8. Nothing in the spine was designed; every hop is one operator application that won an archive cell at the time.

era1 cpu       2.80  smoke_m0         seed            1|constant|still|frozen
era1 cpu      10.62  p5g5_074         merge_share_chan  [+donor ref_iso]
era1 cpu      10.98  p5g6_005         mutate
era2 gpu-1    62.28  p6g1_043         add_chan         +51.3 — woke the frozen world up
era3 pilot    78.60  p1g2_070         merge_slow_tanh   +16.3 — crossed with an immigrant
era4 final    83.31  p6g1_028         mint_bilin       +4.7  (vertex v6_1_028)
era4 final    81.47  p6g2_039         add_chan         −1.8  (structure-buying dip)
era4 final    88.04  p6g5_026         mint_bilin       +6.6  (vertex v6_5_026)
era4 final    87.30  p6g7_037         add_chan         −0.7
era4 final    91.16  p6g8_033         delete_bilin     +3.9 — ablation authored the champion

The pattern along the spine: merge and add_chan open the valley, mint_bilin climbs it, delete_bilin prunes the scaffolding. The two discontinuities are an add_chan (+51.3: added a relaxation channel that turned a frozen 2-species dead end into a growing rotor world) and a merge_slow_tanh (+16.3: crossed it with a block built from ds2g12_019, a 1-activator/3-channel miniature that immigrated from the local era at interest 32). Inside era 4 the search minted two bilinear vertices and then deleted one of them again: the surviving champion carries exactly ONE minted vertex (v6_1_028). Its dynasty (pool founder p1g2_070) holds 41 of 423 final cells including 4 of the global top-6.

B-roll, the root: smoke_m0 at interest 2.8 — twelve seeded blobs relax into a static lattice and nothing ever happens again (T=2,500 tu shown; blob count pinned at 12). This is the ancestor of the champion, ten operator hops later.
B-roll, the OTHER root: ds3_014 — the v1-era fossil-vertex succession world (pod seed smoke_elite, interest 74.5 at boot). Flat 12-blob ecology for ~1,500 tu — then the recorded delayed replication onset: the count curve bends and climbs stepwise to 80 while species-2 worms stretch across the box. Three of the four top dynasties descend from this world; the champion dynasty is the exception — it grew from smoke_m0, pure operator work, no elite blood.
THE CHAMPION — p6g8_033, I=91.16, T=20,000 tu, seed 942 (the exact assay run, re-simulated). Three species: a growing labyrinth tissue (species 1, magma) that winds across the box (mean winding 8.0), a sparse worm/blob species living in its corridors, and a third species that carves moving holes. The two-stage succession is visible in the count curve: a pioneer boom to ~45 blobs by t≈5,000, then a slow relaxation into a ~28-blob climax labyrinth (42 organisms at the looser organism threshold) that keeps reorganizing. Slow-channel memory 0.93; seed2 confirm 79.7. The one load-bearing minted vertex v6_1_028 survived a delete_bilin ablation — the deletion RAISED interest by 3.9 and authored this world.

In slow motion

All films above sample the 25 tu snapshot grid, which aliases the REC-scale dynamics — for the fast movers, consecutive 25 tu frames of species 1 correlate at only r≈0.2, i.e. the motion is a strobe. These three 500 tu segments re-simulate the same runs and snapshot every 5 tu (101 frames, ~12× finer), played at 40 tu/s.

Champion rotor corep6g8_033, t=10,000→10,500: the blob count is pinned at 31 for the whole window, yet the climax labyrinth never stops — corridors creep, tips wind, holes migrate.
Cap-crossing boomp3g9_022, t=19,500→20,000: the mobile swarm in the act of crossing the assay horizon (count churning 148–162, ending exactly at the assay's 151) — individual worms and blobs finally trackable frame to frame.
Storm collisionsp4g3_033, t=5,000→5,500 (peak growth era): +29 blobs in 500 tu; the count staircase resolves into individual fission events while the spot lattice jostles.

3 · Operator scoreboard: mint climbs, delete prunes, merge opens

4,917 era-4 screen attempts, split by operator. Holder rate = share of attempts that ended holding ≥1 archive cell in their island's end-state; the last two columns are the union-final footprint.

opattemptsok%holder rateunion cellsscreens ≥80best Inote
mint_bilin61599%16.3%856689.33 best per attempt; 37% of all I≥70 rows from 12.5% of attempts
delete_bilin206100%15.5%203791.16 ablation-as-operator; authored the champion
merge_slow_tanh30292%14.6%29281.55 low volume, built the champion's pool founder (+16.3)
merge_cross_edge73195%13.8%89581.66 the cell-opener, as in v1
mutate1,02792%12.1%991087.77 the workhorse; ceiling below mint/delete
add_chan41396%11.1%422288.74 buys structure, often at a dip; made the +51.3 jump
dup_act42840%7.0%251286.93 funnel-kill heavy, occasional elite
merge_share_chan21525%7.0%17181.53 fragile (same-vacuum law, unchanged v1→v2)
immigrate98042%0.8%8048.84 see below

The immigrant deferred-payoff law. Fresh random genomes are a terrible bet per attempt (0.8% holder rate, zero rows ≥70) — and yet 82 of 423 final cells root in a pod immigrant, and the champion's +16.3 merge donor was immigrant-descended. Immigration doesn't score; it seeds dynasties that score generations later. Selection needed both budgets: cheap diversity now, elite operators on top of it later.

Minted vertices are scaffolding. Every top-4 dynasty chain contains at least one mint_bilin, and 3 of 4 pass through a delete_bilin ablation. The search keeps a minted coupling only while it is load-bearing — the same fossil-vertex logic we found by hand in v1 (post 7), now discovered and exploited by the operators themselves.

4 · The archival ratchet (what "selection" actually did)

Per-generation screen statistics are FLAT: mean interest oscillates in 43–48 across eleven generations, C-component means barely move, ok-rate sits at ~76%. The population never "gets better". What ratchets is the archive:

checkpointcellsmean Ip90max≥70≥80
union4_final_cpu18244.469.081.9173
union5_prebatch19044.369.081.9184
gpu_b_union136246.574.288.54622
UNION_FINAL_v242347.073.291.25028

The GPU-batched eras did the heavy lifting: cells ×2.2, I≥70 count ×2.8, I≥80 count ×7. 241 of the 423 final cells did not exist at CPU handoff, and 131 surviving CPU-era cells were improved in place. This is the MAP-Elites contract working as designed: screens are lottery tickets, the archive is the ratchet, and the every-2-generations union push is what moved winners across islands.

Succession is the elite axis. The strongest single predictor of interest in the final archive is the staging descriptor: s1 cells average 43.4, s2 cells 65.1, s3 cells 81.4 — and ALL of the top-10 worlds are s2/s3. The s2 count tripled (18→49) and s3 tripled (4→12) across the checkpoints; C7_roles rose 0.51→0.56 and C2_timescale 0.35→0.40. The search found that the way to be interesting in this space is to build worlds that happen in acts — ecologies whose species composition restructures one or two times before settling.

p4g3_033, I=85.20, 4|grow|rotor|liquid|s3|g1 — the ROTOR STORM: full three-stage succession on camera — a sparse 15-blob world holds for ~2,500 tu, erupts in a logistic boom, and packs the box with ~250 spinning organisms (mean winding 15.1, the most kinetic elite in the archive) while a few species-3 stragglers wander the lattice. Head of the mint-stack dynasty: mint → mint → mint → delete, ending with 3 minted vertices plus the inherited fossil. 3-seed confirmed (80.4 / 53.8).
p5g3_040, I=86.21, 4|switch|mobile|liquid|s3|g2 — the world to show a skeptic: best fully-3-seed-CERTIFIED deep world (confirms 75.9 AND 74.1), three-stage succession with slow-channel memory 0.97 — a fast boom to ~90 mobile organisms, then species-2 worms grow through the crowd as the population plateau churns (churn 0.51: half the census turns over while the count holds). One era-4 add_chan (+5.3) on a CPU-era elite.
p4g2_044, I=82.47, 4|switch|rotor|liquid|s2|g2 — the architecture contrast: the most seed-stable elite in the archive (81 ± 1 across three seeds), a minimal 21-organism rotor world where species 3 and 4 form complementary labyrinth phases (yellow negatives of each other) that slowly anneal while compact rotors ride the walls. This world carries NO minted vertices — proof the space holds clean elite worlds both with and without operator-written couplings.

5 · The telescope limit: cap-riders

The assay extends a world's horizon while any criterion keeps firing, up to a hard cap of T=20,000 tu. In the final harvest 337 rows exited at the cap with criteria still firing (194 screens, 6.6% of scored rows) — the assay was cut off, not converged. Cap-riding is an elite phenomenon: mean interest of cap-exits is 75.5, 157/194 are ≥70, and 142 of 194 were still RISING at exit (I@20k > I@10k). For these worlds our measured interest is a lower bound. 21 union holders sit on cap exits, including the #2 world; 65% of all cap exits belong to the three top dynasties — the lineages that win cells are the ones that refuse to converge.

The evidence film: p3g9_022 re-run to T=40,000 — twice its assay horizon. The #2 archive world (I=89.33 at the 20,000 cap, trajectory 57.6 → 69.0 → 80.5 → 89.3, still climbing +8.8 per doubling): a 4-species mobile swarm with full three-stage succession — the only s3 world above 89. And it was still unfinished: in the re-run the blob count keeps growing PAST the 20,000 tu cap (~160 → ~190), while species 4 (cividis panel) crystallizes into a drifting near-hexagonal lattice threaded by species-2 worms. The assay never saw the second half of this film.

106 distinct cap-exit genomes with I≥70 and still rising are queued as longer-horizon re-run candidates (cap_riders.json); the fastest riser gains +12.4 per horizon doubling. Whatever interest ceiling this space has, the 20,000 tu telescope cannot see it.

6 · Honest ops notes

issuestatus
26 battery timeouts dropped. On dense long-T worlds the track-building step (greedy O(frames × blobs²) matching) could exceed its 300 s per-lane guard; after one subsampled retry also timed out, the row was recorded as assay_error and never scored (isl3: 10, isl6: 9, isl4: 4, isl1: 2, isl5: 1). Zero battery_mode=subsampled rows contaminate the harvest. flagged, contained (blobkit 0.3.4)
box_limit is the elite norm, not an anomaly. 74% of flagged era-4 screens and 337/423 union holders span the full L=128 box. Elite worlds are box-limited almost by definition (they grow tissues); their descriptors are measured at the size the box allows. known bias; L192 confirm lane exists
Names are pod-scoped and reused across eras (p1g2_070 exists in three eras as different genomes). All lineage claims above come from a timestamp- and structure-aware resolver (act/chan/bilin count deltas, vtag subset checks, exact parameter matches) — see v2_analysis/LINEAGE.md. resolved per-hop
Champion seed sensitivity. The 91.16 champion confirms at 79.7 on seed2 — elite but seed-sensitive, like most single-seed peaks. The seed-stable counterpoint is p4g2_044 (81 ± 1 across 3 seeds); the certified-deep counterpoint is p5g3_040. reported per-world above
Engine story not repeated here. Mid-campaign the batched fleet hit a record-path wall (generation walls of 96–181 min), was RED-stopped, instrumented, and fixed by benchmark-gated engineering (2.18× on the frozen workload). That whole story, including the fixes that died by benchmark, is post 9's production chapter. see post 9

7 · What v3 should be

changewhy (evidence)
Longer horizons for elites — a T=40,000 deploy lane (cap doubling for screens that exit at cap still rising), seeded with the 106 queued cap-riders. 142/194 cap screens still rising; the p3g9_022 film above; measured interest is a lower bound exactly on the leaderboard's top.
Device-side records (CREC on GPU) — move the coarse-grid record reductions on-device; host pulls scalars, fields only at snapshots. record path = 60% of batched wall at 1.5 effective threads (post 9); the 0.3.3 devrec prototype already measured 2.18× and is gate-certified — v3 should make it the default, not the flag.
Bigger boxes (L=192–256 lanes) — at least for confirms and for the box-limited elite class. 337/423 union holders span the full L=128 box; growth-class worlds are measured at box size, not at their intrinsic scale.
Succession-directed search — s3 cells average I=81.4 but only 12 exist; make staging a first-class exploration target (e.g. stage-count novelty bonus or an s3-only island). strongest single interest predictor in the archive; the s2/s3 corner is where every top-10 world lives.
Keep the immigrant tax. Do not "optimize away" the 0.8%-holder immigration budget. 82/423 final cells root in immigrants; the champion's +16.3 merge donor was immigrant-descended. It pays at dynasty timescale, not screen timescale.
Continuous batching — reseed dead/converged tensor slots mid-flight instead of ragged-tail draining. the 0.3 driver already carries the reseed seam (reseed_hook); island tails idled lanes for hours in era 4.
Reproduce the films. Every film genome + seed + horizon is committed in probes/blobs/l0/deepsearch/v2_analysis/film_candidates/. Capture: blobkit 0.3.4 (verify_locks 47/47) on one H100, init_soup_gpu_batch → advance_gpu_batch with a dense snap_t schedule on the CREC grid — the exact campaign stepper, f32, same seeds; ~40–60 full-field frames per world; rendered per-activator-channel with fixed per-film color scales. Films re-simulate the recorded runs (identical IC/RNG protocol), they are not renders of stored assay data.
Series: index · previous: Accelerating blobs