| … | … | @@ -1,12 +1,18 @@ |
| 1 | 1 | # SYNTHESIS — an honest account of the basal-agent arc |
| 2 | 2 | |
| 3 | | Falsification-driven investigation (2026-07-20/21), atomspace org #6. This document says |
| 4 | | plainly what genuinely emerged, what was engineered, what honestly failed, and where the |
| 5 | | open edges are. No narration dressed as progress. Two questions that turned out to be one. |
| 3 | Falsification-driven investigation (2026-07-20/21, extended 2026-07-31), atomspace org #6. This |
| 4 | document says plainly what genuinely emerged, what was engineered, what honestly failed, and where |
| 5 | the open edges are. No narration dressed as progress. Two questions that turned out to be one. |
| 6 | |
| 7 | **2026-07-31 extension.** Part B originally ended at "an honest place to stop" after 14 experiments, |
| 8 | with the conclusion *nothing privatizes a catalytic public good without a supplied unit of |
| 9 | selection*. Five further experiments (Part C) show that conclusion was **right but incomplete**, and |
| 10 | replace it with a sharper one. Part C also contains three probes of a published causal-emergence |
| 11 | claim. **The old endpoint at the end of Part B is superseded — read Part C.** |
| 6 | 12 | |
| 7 | 13 | --- |
| 8 | 14 | |
| 9 | | ## The one law that unifies the whole arc |
| 15 | ## The two laws that unify the arc |
| 10 | 16 | |
| 11 | 17 | > **A fitness valley — coordinated change where every partial step is *worse* than staying put — |
| 12 | 18 | > cannot be crossed by search (greedy / local / gradient). It is crossed only by (a) a *directed |
| … | … | @@ -22,6 +28,20 @@ The same valley appears, identically, at every scale we probed: |
| 22 | 28 | |
| 23 | 29 | This is why the major transitions in evolution are *rare and singular* rather than a smooth ramp. |
| 24 | 30 | |
| 31 | ### Law 2 — what a boundary must be to survive (added 2026-07-31, Part C) |
| 32 | |
| 33 | > **A boundary that must be MAINTAINED is a strategy, and strategies get invaded. A boundary that is |
| 34 | > STRUCTURAL is not a strategy and cannot be.** Privatizing a public good requires a boundary; every |
| 35 | > boundary whose upkeep is discretionary decays under selection from *any* starting condition; only |
| 36 | > boundaries on which defection is not an available move persist. |
| 37 | |
| 38 | Measured, not asserted. `signal.c` builds a boundary out of costly verification: it works while |
| 39 | imposed (the first rise above the neutral start anywhere in the arc) and collapses to the identical |
| 40 | low value from starts 0.10 / 0.50 / 1.00 — **invasion, not a coordination trap**. `linkage.c` builds |
| 41 | a boundary out of concatenation: linked genes *cannot* replicate at different rates, so defection is |
| 42 | not on the menu, and it emerges un-forced from independent replicators. Law 2 explains the whole of |
| 43 | Part B in one line: supplied compartments worked because the boundary was **free**. |
| 44 | |
| 25 | 45 | --- |
| 26 | 46 | |
| 27 | 47 | ## Part A — the world model (learning) |
| … | … | @@ -67,6 +87,7 @@ comes from the world (data / selection), never from the dice. |
| 67 | 87 | | 4→5 with duplication | `rung45dup.c` | **partial** — specialists invade (real) but full DoL plateaus at a *second* valley | |
| 68 | 88 | | — flagellation bridge | `flagella.c` | **engineered** — swept β, the convexity parameter that *is* the answer (Michod's theorem) | |
| 69 | 89 | | 1→2 heredity | `gard.c` | **honest NULL** — heredity did not emerge (two chemistries) | |
| 90 | | **2→3 linkage** | `linkage.c` | **emergent** (2026-07-31) — independent replicators concatenate un-forced despite a strict length penalty; pool-draw control stays at length 1 | |
| 70 | 91 | |
| 71 | 92 | ### The critical honesty |
| 72 | 93 | |
| … | … | @@ -447,6 +468,179 @@ failures shared was asking that boundary to emerge for free. That is precisely t |
| 447 | 468 | of biological individuality — and our 14-experiment arc maps its edge sharply without crossing it. An honest |
| 448 | 469 | place to stop. |
| 449 | 470 | |
| 471 | > **⚠️ SUPERSEDED 2026-07-31.** The paragraph above is correct about what the 14 experiments showed |
| 472 | > but wrong about what it means. All 14 tested boundaries made of **space** — walls, patches, |
| 473 | > cohesion, containers. Part C tests boundaries made of *other things*, and finds one that emerges. |
| 474 | |
| 475 | --- |
| 476 | |
| 477 | # Part C — what KIND of boundary (2026-07-31) |
| 478 | |
| 479 | Part B asked *can a boundary emerge?* and answered no, five ways. It never noticed that all five |
| 480 | boundaries were **spatial**. That exhausts the options in chemistry; it does not exhaust them in a |
| 481 | digital substrate, where individuality is routinely established by neither containment nor |
| 482 | connectivity — a writer set, a keypair, a signature. So Part C sweeps the *kind* of boundary. |
| 483 | |
| 484 | All four use chemistry identical to `ribozyme.c` (φ = hairpin fold, parasites 3× faster, F0=0.85, |
| 485 | F1=0.999, 4800 units, 200 gens, start φ≈5.99 which is also the neutral expectation of 6.0), with |
| 486 | **no compartments, no space, no group selection, global Wright-Fisher** — so they are directly |
| 487 | comparable to a known failure: ribozyme well-mixed goes 5.99 → 5.50. |
| 488 | |
| 489 | | kind of boundary | file | result | |
| 490 | |---|---|---| |
| 491 | | reciprocal **wiring** | `coupling.c` | real and selected-for, **insufficient** — φ falls | |
| 492 | | inherited wiring (**persistence**) | `coupling.c` | **falsified by its own control** | |
| 493 | | **topology** (breakable graph) | `partition.c` | partitioning and gating **anti-correlated** | |
| 494 | | **verification** (costly signal) | `signal.c` | **first rise above neutral** — but invadable | |
| 495 | | **concatenation** (linkage) | `linkage.c` | **EMERGES** — the crossing | |
| 496 | |
| 497 | ### `coupling.c` — the gap-junction reframe |
| 498 | |
| 499 | Levin's individuals are not bags: what makes a pile of cells one animal is gap-junctional |
| 500 | **coupling**, and the boundary moves by changing wiring without touching a membrane. We had only |
| 501 | ever tried bags. Each unit owns junctions and controls their conductance; catalysis flows both ways |
| 502 | scaled by each end's φ; received flow sets a unit's **private** fidelity; heritable trait k = how |
| 503 | much a unit reallocates conductance toward junctions that delivered (k=0 is the old public good). |
| 504 | 10 seeds: k=0 → 4.69, **k=1 → 5.36**, k free → 5.07 with **k climbing 0.10 → 0.449 un-forced**, and a |
| 505 | **shuffled control at 4.67** (identical arithmetic and concentration, applied to a random permutation |
| 506 | of the unit's own junctions) — so the +0.67 is genuinely about *whom* the conductance points at. |
| 507 | Reciprocity is real and selected for. **φ still falls in every arm.** |
| 508 | |
| 509 | **Persistence sub-hypothesis, proposed and falsified.** Diagnosis: wiring is rebuilt each |
| 510 | generation, so reciprocity never accumulates, whereas real gap junctions persist. Implemented: |
| 511 | offspring inherit the parent's junctions, remapped to the partners' own descendants. Result: |
| 512 | PERSIST k=1 = 5.40 vs FRESH 5.36 (inside 1 sd), and **PERSIST-RANDOM** (inherit a *random* unit's |
| 513 | junctions) = **5.41** — identical. Lineage consolidation contributes nothing. The control killed the |
| 514 | hypothesis rather than letting it be claimed. |
| 515 | |
| 516 | ### `partition.c` — topology, and a near-miss on an invalid experiment |
| 517 | |
| 518 | `coupling.c`'s junctions were **unilateral**: a parasite could point a junction at a catalyst and |
| 519 | harvest, with the catalyst having no say. A real gap junction is **bilateral** — a hemichannel from |
| 520 | each cell, either side can close. So: undirected edges, conductance g = u_a·u_b, no renormalisation |
| 521 | (edges can vanish, the graph can fragment), plus a maintenance cost **swept not picked**. |
| 522 | |
| 523 | **The first run was invalid and the pre-registered guard caught it.** Q5 asked *did the graph |
| 524 | actually partition?* — largest component **99.8%**. φ is binomial(12,½), concentrated near 6, so |
| 525 | every unit yields u ≈ 0.4–0.6 and no edge ever closes. A null there would have said nothing (the |
| 526 | same failure mode as `ribophi.c`'s not-actually-early window, below). Maintenance cost made |
| 527 | partitioning real, and then: |
| 528 | |
| 529 | | cost | k=1 gating | shuffled control | largest component | **gain vs control** | |
| 530 | |---|---|---|---|---| |
| 531 | | 0.00 | 5.79 | 5.57 | 100.0% | +0.22 | |
| 532 | | 0.20 | 5.82 | 5.74 | 88.2% | +0.08 | |
| 533 | | 0.30 | 5.78 | 5.74 | **50.1%** | +0.05 | |
| 534 | | 0.40 | 5.76 | 5.76 | **0.3%** | **+0.00** | |
| 535 | |
| 536 | **Partitioning and gating are anti-correlated.** Exactly as the graph fragments, gating's advantage |
| 537 | collapses to zero. Breaking the network to exclude parasites also cuts catalysts off from each |
| 538 | other; selective edge-deletion cannot keep the in-group connected while severing the out-group |
| 539 | without already knowing which is which — the thing that was supposed to emerge. And k never evolves |
| 540 | to 1, settling at ≈0.32–0.36 at every cost: selection feels the trade-off directly. |
| 541 | |
| 542 | ### `signal.c` — verification: the first rise, and the decisive negative |
| 543 | |
| 544 | A boundary of **unforgeability**. Razor: "only catalysts may display" would encode the answer, so |
| 545 | the display *is* the catalytic structure — exhibit one of your own complementary pairs. φ=12 passes |
| 546 | first try, φ=2 needs ~6 attempts, so the expected honest cost is exactly 12/φ. That is Zahavi's |
| 547 | handicap, **emerging from search rather than written as a cost formula**, and faking stays possible: |
| 548 | spend more attempts. Junctions open only if both ends displayed. |
| 549 | |
| 550 | | attempt cost | honest σ=1 | RANDOM-display control | σ-evolvable | |
| 551 | |---|---|---|---| |
| 552 | | 0.00 | 5.52 | 5.45 | 5.63 | |
| 553 | | 0.20 | 6.08 | 5.46 | 5.77 | |
| 554 | | **0.50** | **6.45 ± 0.03** | **5.46** | 5.77 | |
| 555 | | 0.70 | 6.41 | 5.49 | 5.78 | |
| 556 | | 1.00 | 6.01 | 6.01 | 5.78 | |
| 557 | |
| 558 | **The first mechanism in the whole arc to lift φ above its random start with no container** (6.45 vs |
| 559 | neutral 6.0, ~15 sd), with the control flat at 5.46 — so the effect is the *information* in the |
| 560 | signal, not the cost burden. The display genuinely filters: φ among displayers 6.47 vs 2.98 among |
| 561 | non-displayers. *(The cost=1.00 row is an artifact, not a result: nearly every unit hits the weight |
| 562 | floor, selection is destroyed, and both arms drift to the neutral mean 6.0.)* |
| 563 | |
| 564 | **And then the decisive negative.** σ free to evolve collapses, and the bistability test settles |
| 565 | why: started at **0.10 / 0.50 / 1.00**, σ converges to the *identical* value at every cost ≥ 0.05 |
| 566 | (0.027 at cost 0.50, from all three starts). Not two equilibria — **one** — and non-signallers invade |
| 567 | a fully signalling population. Honest signalling works when imposed and cannot install itself. This |
| 568 | is what produced **Law 2**, and it makes the multilevel circle **real**: fixing a second-order public |
| 569 | good needs group selection, which needs the compartment we were trying to avoid supplying. |
| 570 | |
| 571 | ### `linkage.c` — rung 2→3, the rung nobody had tested |
| 572 | |
| 573 | `rung2.c` (Eigen replicator) and `rung3.c` (quasispecies over Hamming classes) were both equations |
| 574 | *solved, separately* — the transition between them was never tested as an emergence. It is Maynard |
| 575 | Smith & Szathmáry's independent-replicators → chromosomes, and by Law 2 it should behave differently: |
| 576 | linkage is not maintained but **structural**, and linked genes cannot replicate at different rates, |
| 577 | so defection is not an available move. |
| 578 | |
| 579 | Every unit starts at **length 1**. Fusion/fission are mutations. Payoff needs 4 distinct of 8 types |
| 580 | in one unit. **Longer units replicate strictly slower.** |
| 581 | |
| 582 | | length cost | A mean len | A frac≥4 | B (pool-draw control) | B frac≥4 | |
| 583 | |---|---|---|---|---| |
| 584 | | 0.00 | 7.19 | 0.952 | 4.52 | 0.477 | |
| 585 | | 0.02 | 6.77 | 0.942 | **2.17** | 0.116 | |
| 586 | | 0.10 | 4.82 | 0.899 | **1.41** | 0.014 | |
| 587 | | 0.40 | 4.16 | 0.840 | **1.15** | 0.001 | |
| 588 | | 0.80 | 1.11 | 0.002 | 1.11 | 0.000 | |
| 589 | |
| 590 | **Linkage emerged** — A exceeds B at 5/5 costs where cost bites, minimum ratio 3.12; and at cost 0.80 |
| 591 | even A collapses, so linkage is not free. |
| 592 | |
| 593 | **The tautology trap, and two control bugs the controls caught.** If fitness comes from your own |
| 594 | genes, linkage privatizes *by definition* and the result merely restates the setup. Hence arm B: the |
| 595 | same payoff from a random pool draw, where length costs identically and buys nothing. (1) The first |
| 596 | control drew `len` genes, so length still bought the payoff by another route — confounded, B rose as |
| 597 | high as A. Fixed to draw the **population-mean** size. (2) The verdict tested "B stays near 1", an |
| 598 | absolute bar — the wrong statistic for a two-arm experiment; replaced with the A-vs-B separation, |
| 599 | judged only where cost bites. Both bugs were found by controls firing, not by inspection. |
| 600 | |
| 601 | ### Three probes of a published causal-emergence claim |
| 602 | |
| 603 | Pigozzi & Levin, *Causal Architecture Dynamics Prior to Arrival of Self-replicators* (arXiv |
| 604 | 2607.28250), report that in GARD the ΦID causal-emergence atom Φ_r predicts the appearance of |
| 605 | self-replicators and beats raw-composition baselines. Our estimator is `phir.h` (Gaussian |
| 606 | log-determinant ΦID, Ledoit-Wolf shrinkage, exhaustive minimum-information bipartition, permutation |
| 607 | null), validated on synthetic systems with known answers — independent z=+0.2, redundancy z=−165, |
| 608 | synergy z=+3.4. **Limitation carried throughout: ~50× more sensitive to redundancy than synergy.** |
| 609 | |
| 610 | | probe | hosted the test? | Φ_r | trivial baseline | |
| 611 | |---|---|---|---| |
| 612 | | `ribophi.c` (vs `ribozyme.c`) | **no** — ignites gen 6–10, no quiescent phase | p=1.1e-6 | **p=3.1e-17** | |
| 613 | | `rung34phi.c` (vs `rung34.c`) | yes — lag phase gen 13–59 of 500 | ρ=+0.161 (n.s.) | **ρ=−0.641** | |
| 614 | | `gardphi.c` (vs `gardenv.c`, **is GARD**) | yes | **ρ=+0.457, p=0.007** | **ρ=−0.872** | |
| 615 | |
| 616 | Φ_r is **not nothing** — in the GARD family it is genuinely predictive, the one positive of the |
| 617 | three. But a one-line compositional statistic predicts about twice as strongly in every model we can |
| 618 | test, and that statistic — *change in composition* — is **one of the baselines the paper itself says |
| 619 | Φ_r beat**. Differences that could account for it, none dismissible: their original-GARD parameters |
| 620 | vs `gardenv`'s excess-mutual-catalysis regime; our Gaussian estimator vs their unpublished one; their |
| 621 | MLP vs our rank correlation; their unspecified similarity threshold. |
| 622 | |
| 623 | Separately worth recording: the paper computes Φ_r **inside a single supplied assembly** — the word |
| 624 | "compartment" appears zero times, and the sole occurrence of "boundary" is an MLP decision boundary. |
| 625 | It is a detector operating *within* an individual, and says nothing about where one comes from, |
| 626 | which is precisely our open problem. |
| 627 | |
| 628 | ### Where Part C leaves rung 1→2 |
| 629 | |
| 630 | No closer, and **narrowed**. Wiring, topology and verification are now closed off as substitutes for |
| 631 | a compartment, and Law 2 says *why*. The ladder's asymmetry has one explanation: **boundary |
| 632 | formation emerges when, and only when, the boundary costs nothing to defend** — 3→4 had free |
| 633 | between-compartment selection, 2→3 has free concatenation, 1→2 has neither. |
| 634 | |
| 635 | The next candidate follows from Law 2 rather than from another guess: a **byproduct compartment**, |
| 636 | where chemistry builds its container as an unavoidable side effect of catalyzing (mineral |
| 637 | precipitation, self-templating pores). Wall-building is then **non-discretionary** — you build iff |
| 638 | you catalyze — so it cannot be defected on the way σ was. |
| 639 | |
| 640 | Honest bound on the linkage result: 2→3 is the rung where privatization was *least* contested to |
| 641 | begin with. The principle it demonstrates is real; the rung was the easy one; and it does not |
| 642 | transfer to 1→2 on its own — only Law 2 does. |
| 643 | |
| 450 | 644 | ## What is proven vs open |
| 451 | 645 | |
| 452 | 646 | **Established here:** |
| … | … | @@ -460,12 +654,24 @@ place to stop. |
| 460 | 654 | measured as a phase boundary (`template.c`): sampled heredity decays and *selection inverts* as the |
| 461 | 655 | genome outgrows a fixed token budget, templated holds. Szathmáry's limited-vs-unlimited, in our chemistry. ✓ |
| 462 | 656 | |
| 657 | - **Maintained boundaries are invadable; structural ones are not** (Law 2) — measured both ways: |
| 658 | `signal.c`'s investment converges to one low value from starts 0.10/0.50/1.00 (invasion, not a |
| 659 | coordination trap), while `linkage.c` emerges un-forced against a strict length penalty with a |
| 660 | pool-draw control at length 1. ✓ |
| 661 | - **Rung 2→3 (independent replicators → linkage) emerges.** ✓ — the easy rung, but genuinely tested. |
| 662 | - **A boundary made of edges does not substitute for one made of walls** (`partition.c`) — |
| 663 | partitioning and gating are anti-correlated, so exclusion and mutual access cannot be had at once. ✓ |
| 664 | |
| 463 | 665 | **Open (field-wide, not just here):** |
| 464 | 666 | - **rung 1→2 (metabolism → heredity)** — genuinely unsolved; our null echoes it. `template.c` isolates |
| 465 | 667 | the missing ingredient (a faithful modular copy/template) but does *not* show it arising unaided. |
| 466 | | - **the self-building chain** — no rung produced the next; open. |
| 668 | Part C adds *why* it stays open: 1→2 has no free boundary, and every purchasable one is invadable. |
| 669 | - **the self-building chain** — no rung produced the next; open. (2→3 is now an emergence, but it was |
| 670 | not produced *by* rung 2.) |
| 467 | 671 | - **spontaneous origin of a templated/modular substrate** — we *supplied* modularity and the copy |
| 468 | 672 | primitive; whether either self-organizes from random chemistry is the deep open edge. |
| 673 | - **a non-discretionary boundary for 1→2** — the byproduct compartment, where the wall is an |
| 674 | unavoidable side effect of catalysis. Follows from Law 2; **unbuilt**. |
| 469 | 675 | |
| 470 | 676 | --- |
| 471 | 677 | |
| … | … | @@ -483,6 +689,12 @@ Part A: `stream.c` `sns.c` `mess3.c` `learn.c` `critical.c` `competitive.c` `da- |
| 483 | 689 | `wakesleep.c` `wakesleep2.c` `mom.c`. |
| 484 | 690 | Part B: `lawspace.c` `rung1.c` `rung2.c` `rung3.c` `evoworld.c` `rung34.c` `rung45.c` `bridge.c` |
| 485 | 691 | `rung45dup.c` `flagella.c` `gard.c` `gardenv.c` `digigard.c` `template.c` `templceil.c` `spatial.c` `window.c` `polymer.c` `ribozyme.c` `bridges.c` `coemerge.c` `integrated.c`. |
| 692 | Part C (boundary kind, 2026-07-31): `coupling.c` `partition.c` `signal.c` `linkage.c`; |
| 693 | Φ_r probes `phir.h` (shared estimator) `ribophi.c` `rung34phi.c` `gardphi.c`. |
| 694 | Agent line: `belief_field_agent.c` `agent_learn.c`. |
| 486 | 695 | `src/`: original Phase-1 filesystem active-perception agent (active > random search). |
| 487 | 696 | |
| 697 | Per-experiment write-ups: `coupling.md` `partition.md` `signal.md` `ribophi.md` `rung34phi.md` |
| 698 | `gardphi.md`. |
| 699 | |
| 488 | 700 | Each `*.c` is standalone: `cc -O2 -std=c11 -o X X.c -lm && ./X`. |