Commit graph

53 commits

Author SHA1 Message Date
0159e2839a New Fig. 1 (experimental-programme schematic); Table 2 to SI; figures in citation order; Fig. 2B legible labels
Replaces the results table with a pipeline figure: five questions x three
architecture tiers (exact Wright-Fisher simulator, trained networks, language
models), filled cells naming the experiments, dashed cells the honest gaps.
Table 1 (the dictionary) stays; Table 2 moves to SI Appendix Table S2. The
renumber surfaced a pre-existing citation-order violation (the LLM figure was
cited in the recombination section before Figs. 3-6), so figures are renumbered
to strict first-citation order (LLM tier is now Fig. 3). Fig. 2B: the montage's
baked-in raster labels are cropped away and replaced with vector row numbers
under a rotated "generation" header.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 11:12:33 +01:00
073fc33509 Accessibility pass: introduce every pop-gen term at first use, with real-world anchors
The CS reader is now walked into the biology as it arrives: drift (surname
extinction, island alleles), Wright-Fisher and heterozygosity defined in
place (collision-probability reading), Muller's ratchet (Y-chromosome decay),
immigration (the one-migrant-per-generation rule of conservation management),
blending inheritance (Jenkin's 1867 swamping argument, which the Proposition
makes exact), Fisher-Muller (clonal competition vs assembly), genotype/locus,
epistasis and NK landscapes glossed, outbreeding depression (the Tatra ibex
restocking collapse), panmixia, BDM incompatibilities (mule sterility),
hybrid load. Three new literature anchors (Mills & Allendorf 1996; Jenkin
1867; Templeton 1986), all verified; references renumbered to
first-appearance order (now 72) and re-verified 1..72.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 10:58:46 +01:00
cc27522270 Discussion: creative diversity — stylistic collapse and the evolutionary remedy
New Discussion block before the Outlook: homogenisation of writing style is
the same tail-drift phenomenon at a different locus (a voice = a distribution
over rare stylistic variants), so the paper's remedies — diverse grounding,
decorrelated lineages, union-preserving recombination, difference-rewarding
selection — transfer, explicitly flagged as untested here. Adds three verified
references (Guo et al. 2024; Padmakumar & He 2024; Doshi & Hauser 2024,
Sci. Adv.); first-appearance order re-verified 1..69.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 10:46:58 +01:00
6325286a0e style: remove herald sentences (announcer claudisms)
Nine sentences of the 'The diagnosis comes first.' genus removed or
folded — announcements that add nothing over the sentence that follows:
'This population also reproduces.', 'One consequence of drift deserves
its genetic name.', 'It is also only the entry point.' (folded), 'The
question this paper addresses is...', 'I begin with a result...', 'The
engineering point survives the definition:' (rewritten plain), 'The
supported conclusion, stated conditionally:', 'The strongest constraint
comes from...' (inverted to content-first), 'The framework's reading of
that trajectory is concrete.'. Functional enumerator colons and content-
bearing topic sentences kept. 19 pp rebuild clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 10:38:46 +01:00
e2b398c897 voice: first-person singular for single authorship
All 37 first-person-plural instances converted: 'I' where the author
acts or judges (I transfer, I measured, I aligned, to my knowledge, the
only anchor I trust — 18 instances, ~one per 260 words), impersonal
constructions elsewhere (the simulator, the tested settings, this paper
poses). 'What is borrowed and what is ours' -> 'what is new'; 'Ours is
the framework-level synthesis' -> 'New here is'. Reference titles
containing 'we' untouched. 19 pp rebuild clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 10:29:54 +01:00
d58f1c7ee6 intro: thesis sentence recast from perspective-claim to motivation + activity
'The claim of this paper is that the vocabulary should be given its
mathematics' framed the paper as advocacy; a research paper states what
it does. Now: the population observation motivates the work, and we
transfer the framework and use it to treat inheritance, diversity, and
compatibility as measurable, predictable, manageable quantities.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 10:27:28 +01:00
612be58433 introduction rewritten: setting, diagnosis, question — nothing else
The Introduction is halved (1,360 -> 654 words, four paragraphs): the
model-population setting; the data-coupled generations + the thesis
sentence; the drift diagnosis placed in the literature; and the
motivating question (the four operator decisions with no principled
guidance + the continual-learning framing), closing on the value
anticipation without disclosing results. Evicted and rehomed: the
interpretation/explanation/prediction ladder (deleted — its content
lives in the calibrated Results and ledger); the answers-list (deleted —
results belong in Results); the correspondence walk-through (Muller's
ratchet moved to the minimal-model section with its scope clause;
immigration/Fisher-Muller/BDM citations anchored where the concepts are
developed in Results; the Livnat precursor and predictor-delta moved to
the Discussion ledger); the tiers-of-evidence and negative-results-
prominence sentences (deleted). The continual-learning operator mapping
moved into the Discussion block, retitled "Continual learning at the
population scale", deduplicated against its five offers. All 66
references wholesale-renumbered to the new first-appearance order and
the list reordered (invariant verified: in-text order = 1..66 = list).
Main text 4.7k words; 19 pp.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 10:20:00 +01:00
02ff327b58 lessons: note promotion of the reader-facing-prose rule to global CLAUDE.md
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 10:14:03 +01:00
f82d11ccce narrative: remove internal-deliberation ghosts from the diagnosis passages
The convergence paragraph rewritten as a natural literature entry: the
drift identification is stated as a fact of the field, made repeatedly
and independently (pre-deep-learning inference chains; LLM text
ecosystems; the first-extinction law; quantitative-genetic form), its
multiplicity presented as a property of the idea rather than a claim
about us; the pivot is positive (population genetics is a theory of what
maintains populations despite decay, and this paper develops that fuller
structure) instead of defensive ("what none of that parallel work
develops"). "We reached independently", "priority of publication", and
"convergence we take as support" removed from the abstract and the
Discussion ledger as well. Refs 22-25 renumbered to the new textual
(chronological) order; citation invariant re-verified (1..66). Lesson
recorded: internal strategic deliberations must not surface in
reader-facing prose — confident papers situate, they do not litigate.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 10:03:28 +01:00
e2981c845d narrative: make the intellectual contribution explicit
Two insertions answering the editor's implicit questions. Introduction
gains "stated as a problem": the four recurring decisions a model-
population operator cannot currently answer from principle (replay
budget; compose-or-damage; pre-merge detection; separate-vs-consolidate)
and the framework's counterintuitive answers — averaging cancels the
multi-parent benefit exactly in the tail regime; specialisation/
divergence produced no incompatibility anywhere tested while conflicting
conventions always did; weight distance carried no predictive signal
while cheap behavioural disagreement did; and the theory's numbers land
on the replay constants practice converged to independently
(unexpectedness + problem-solved + external check, at reviewer-hardened
calibration). Discussion gains a closing "Outlook: the evolution of
language models": the ecosystem's trajectory is consolidating on exactly
these operators, and the framework's fork is concrete and measurable —
either models stay freely recombinable (one interbreeding population;
levers = per-capability grounding budgets + deliberate diversity) or
long-horizon specialisation at scale begins emergent speciation (a
routed archipelago of diverging lineages), decidable now with the
pre-merge conflict instruments tested here. Design rules tie back to the
posed decisions. 5.2k words, citation invariant intact, 20 pp.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 09:20:21 +01:00
aaa146863f typography: remove bold-for-emphasis from the main text (PNAS convention)
All 48 in-text bold spans converted: term first-introductions to italics
(model merging, genetic drift, continual learning, Fisher-Muller effect,
outbreeding depression, directed sex, grounded inheritance/evaluation,
and kin), pure-emphasis spans to plain text (the organising-claim
sentence, the emergent-null statements, the supported-conclusion
sentence). Bold retained only where PNAS uses it: run-in paragraph
headings (Design rules. / Analytic tier. / etc.), table labels, and
reference volume numbers. Repeat mentions of first-use-italicised terms
de-italicised (italics at first use only). 18-pp rebuild clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 09:13:30 +01:00
96902e87f0 figures: publication-ready — unified, lettered, codename-free
paper/pnas/make_figs.py re-plots every panel directly from the committed
results artifacts into six single-file figures (figs/fig1..fig6.pdf):
no experiment codenames or suptitles (interpretation moved to captions),
bold panel letters, plain-language axis labels and legend entries, one
consistent style (8pt, no top/right spines). Panels: fig1 A-B (grounding
equilibrium + MNIST montage with its baked-in title cropped), fig2 A-B
(blending cancellation + Fisher-Muller), fig3 A-D (outbreeding, directed
recombination, mating breadth champion + diversity), fig4 A-C (society
ablation trajectories), fig5 A-F (speciation: analytic curve + cliff,
MLP decomposition + conflict sweep, LLM coherence + duration null),
fig6 A-D (seed-replicated merging, 7B-hard routing vs averaging,
predictive-test scatter, predictor comparison). build.py now places the
single PDFs; captions rewritten per lettered panel; in-text panel refs
updated (5B->5C-D, 5C->5E-F); stale stacked copies removed. Document
20pp -> 18pp.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 09:09:46 +01:00
6f1f8bf172 references: citation-order renumbering, PNAS style, full verification
All 66 references renumbered to first-appearance order (programmatically
verified: in-text sequence = 1..66 = list order; ranges expanded,
remapped, recompressed) and rewritten in PNAS style (initials-first
authors with the >5 -> et-al rule, sentence-case titles, abbreviated
italic venues, bold volumes, year-at-end, arXiv [Preprint] + 10.48550
DOIs). Correctness: 47 arXiv ids batch-verified against the arXiv API
(title/first-author/year); caught and fixed an authorless GENOME entry
(Y. Zhang et al.), "Sakana AI" -> J. Abrantes et al., a wrong Kotha id
(2310.05719, a different paper -> 2309.10105), Nemotron's corporate
author, and Liang's truncated title. Also: six load-bearing refs that
lost their in-text anchors during the restructure re-anchored (NK, QD,
Pari, LoRA, Sharma, Kozodoi), one real mis-citation fixed
(Self-Instruct credited to Multiagent-Finetuning; new ref added), and
four figure captions in build.py brought up to third-review calibration
(operational grounding threshold; first-order conservation;
complementary-contributions society; permutation-and-rescaling
alignment). 20-pp rebuild clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 09:00:56 +01:00
543cbe3e45 format compliance + de-claudism pass
PNAS hard limits now met: title 120/135 chars; Significance rewritten to
117/120 words (plain register, carries the CL frame); Abstract rewritten
to 241/250. Style pass over the whole manuscript per GG: em-dashes cut
94 -> 20 in the body (appositives to commas/parentheses, trailing
clauses to colons/semicolons), tic phrases removed (quietly/sprawling/
no-longer-metaphorical/pays-for-itself/deserves-its/whatever-one-thinks/
celebrated/we-think and kin), rhetorical framings flattened to plain
statements. Main text 4,809 words + 456 table words + 65 refs; estimated
~10 PNAS pages with the six composed figures (within the 12-page hard
max; above the 6-page preference — trim options noted in work order).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-06 22:50:24 +01:00
e1532abb4b narrative revision: substantiated premise, continual-learning positioning, convergence framing
Per GG's directive: (1) the model-societies premise is no longer asserted
— the Introduction opens with the verified evidence base (3M-model
ecosystem with phylogenetic lineage-mapping literature, >98%-synthetic
alignment pipelines, machine-generated web share, the human-data
ceiling, mainstream merging tooling, agent economies; refs 31-44, all
identifiers verified by the literature scan). (2) The findings are
contextualised in CONTINUAL LEARNING, where they land hardest: a new
Introduction block maps the CL canon onto the operators — replay <->
grounding, with the field's measured replay fractions (1%/5%/25%)
sitting on our theorized g*~0.05; pseudo-rehearsal/generative replay as
precisely our ungrounded null; parameter isolation; CLS consolidation;
merging-for-CL vs cross-lineage recombination; tail-first forgetting <->
tail-allele extinction; CF-vs-collapse mechanism distinction kept
explicit — plus a Discussion block with five CL impact points (replay-
ratio theory testable against published sweeps; a failure theory for
generative replay; pre-merge interference prediction with a mechanism; a
consolidate-vs-modular decision rule; tail monitoring, engaging the
latent-vs-extinct objection). The scan verified the bridge is open: no
prior work carries pop-gen formalism into CL. (3) Downplaying replaced
by convergence framing: the diagnosis was reached independently and is
corroborated by parallel arrivals (Riis; Benati; Yoon; and Crutchfield &
Whalen 2012, pre-deep-learning) — cited for priority of publication, the
full arc owned as one framework. References 30 -> 65; Significance
carries the CL frame; 20-pp rebuild; 151 tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-06 20:15:40 +01:00
6b5591c92f third review round: mathematical corrections + operator separation + headline calibration
The five priority fixes, in the PNAS draft and propagated to the
long-form document and results documentation:

1. The averaging proposition now proves what it claims: a FIRST-ORDER
   cancellation of the multi-parent retention gain under output-mean
   inheritance in the rare-item regime (n·p/K << 1), with the convexity
   boundary stated (averaging's variance reduction can reduce extinction
   outside that regime — the reviewer's argument) and the union
   operator's renormalisation + oracle requirement explicit. "Adding
   parents cannot help" deleted everywhere.
2. Grounding: g*~=0.05 restated as an operational threshold (equilibrium
   smooth in g — no phase transition); m·p floor restated as
   1−exp(−m·p) per-batch observation probability with
   retention/occupancy/reintroduction distinguished; the deep-tail rule
   de-categoricalised (stratified sampling; recombination recovers only
   what parents retain).
3. Grounded INHERITANCE (data channel) separated from grounded
   EVALUATION (fitness channel) in the society section; retitled to
   "complementary contributions"; general joint necessity disclaimed.
   Table 1 + v6 ledger updated.
4. Alignment contradiction removed everywhere ("cannot be an alignment
   failure" -> the reviewer's formulation); abstract says "remaining
   after permutation-and-rescaling alignment"; group = search space,
   control recovery != global optimality; "specialisation is merge-safe"
   -> "do not treat divergence/specialisation alone as evidence of
   incompatibility".
5. Significance headline matched to the bounded evidence; seed-
   dependence sensitivity added (per-seed rho stable +0.37..+0.53 for
   functional measures, ~0 for geometry, gradient alignment
   seed-UNSTABLE −0.11..−0.55 — reported as its own caveat; LOSO ranges
   in stats script).

Presentation: review-process meta-language stripped; "exact" reserved
for closed forms ("analytic model" labels); headroom rule qualitative;
directed-sex phrasing per review; ratchet = consequence-level
correspondence; compact results table (Table 2) added. Response letter:
paper/response-to-review-3.md. Both PDFs rebuilt; 151 tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-06 19:29:09 +01:00
bf4b1c077c Phase 4: PNAS research-article draft (main.md + composed figures + SI skeleton)
paper/pnas/main.md — the manuscript restructured as a research article
(~5.6k words main text): significance statement, abstract, introduction
(diagnosis conceded; the management thesis; the interpretation/
explanation/prediction ladder with the prediction rung stated as a
bounded controlled test), the minimal model with its exactness boundary
(learning kernel cited against ourselves), Table 1 dictionary with
per-row support levels, a five-step results ladder (grounding floor;
conservation law + operator boundaries + Fisher-Muller + directed sex +
mating structure; the jointly-necessary society; speciation across three
tiers with the emergent null; the controlled predictive test at
second-review calibration), discussion (design rules, borrowed-vs-ours
ledger, limits with the reviewer's generalisation-before-scale ordering,
what biology gets back), brief methods, 30 references.

build.py composes 6 figures by stacking committed vector PDFs (bespoke
unified re-plots deferred to submission polish); builds clean under
tectonic (15 pp incl. 6 full-page figures). si.md: SI skeleton
(propositions, claims ledger, per-tier methods, statistics, figure
list). Manifesto sections of v6 (institutions, timescales, re-minting)
compressed into Discussion per the plan; v6 remains the long-form
perspective document.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-06 18:24:58 +01:00
a40ace1821 second review round: tempered claims, robust statistics, corrected technical statements
Analyses (figures/stats_llm_epistasis.py, committed + reproducible):
condition-clustered bootstrap CIs (functional measures exclude zero:
dis_raw [+0.04,+0.69], conf-weighted [+0.02,+0.68]; gradient alignment
[-0.59,-0.06]; geometry straddles zero), PAIRED predictor contrasts (not
individually significant — stated), leave-one-condition-out held-out
prediction (functional replicates, geometry ~0, performance baseline
unstable), three outcome references (ordering sensitive to reference —
reported, with the mechanism), between/within-axis decomposition
(within-conflict identification impossible by design; the compat axis
identifies), and seed-level paired reliability (routing/directed beat
soup 3/3 seeds incl. one catastrophic soup failure; CI-width fragility
claim withdrawn).

Renames and corrections: "decisive experiment" -> "controlled predictive
test"; "operational epistasis" -> "confidence-weighted functional
conflict (proposed proxy)"; "functional by construction" -> "controls a
major source of coordinate mismatch / conflict-associated" (module,
configs, READMEs, figures); SI proposition's "chord" defined precisely
(endpoint-loss interpolation, invariant) vs the path (not invariant) +
no-global-optimality caveat (removable = lower bound, residual = upper);
snowball count != performance cliff distinction added; claims table
gains four rows (grid finding / weighting NOT supported / functional-vs-
all-geometry not established / operator choice open); §1 ladder states
the prediction rung as a bounded small-model result.

paper/response-to-review-2.md: point-by-point, opening with the
bookkeeping correction (E13b/c were in the reviewed draft — revised
interpretation, not new results). READMEs rewritten around the four
analyses with the chronology (prospective/adaptive/post-hoc) disclosed.
151 tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-06 17:55:46 +01:00
1ae950cb7c paper: response to the external review + the last outstanding fix
paper/response-to-review.md: point-by-point response covering the
claim-narrowing revision (interpretation/explanation/prediction ladder,
drift/ratchet scoping, merge-operator boundaries, speciation scope
block, the claims table, control-theory->framework, the three supporting
overstatements) and the new experiments run in answer to the review —
full-symmetry alignment, the pre-registered emergent null, LLM-tier
speciation, multi-seed replication, and the decisive epistasis-predicts
experiment with its control axis and its honestly-failed internal
prediction. Two mild push-backs stated; open items listed; invites
another iteration.

Also fixes the one §4 review point not yet addressed in the text: §11's
"unbounded growth of capability" close is rewritten — the architecture
removes the STORAGE obstacle to indefinite accumulation; that is
bookkeeping, not a demonstration of unbounded capability growth.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-06 17:31:36 +01:00
287d2326cc epistasis_predicts: functional conflict, not weight geometry, predicts merge failure pre-merge
The decisive experiment from the external review. 39 LoRA parent pairs
(0.5B, 3 seeds) on three axes decorrelated by construction: conflict
(contradictory conventions on shared prompts, private budgets fixed),
compat (same prompts, SAME convention — overlap without conflict), and
duration (weight divergence, zero conflict). Six pre-merge predictors;
primary outcome = merge penalty (parent potential − merged achieved).

League table (Spearman vs penalty, n=39): functional measures predict
(dis_raw +0.460, epi_conf +0.446, p<0.005); geometry collapses
(delta_cos +0.03, delta_l2 +0.17 n.s.); gradient alignment weak (−0.35);
performance ~0. The first grid's apparent geometry win (+0.60) was an
overlap/volume artifact — the compat control axis (added for exactly
this) exposed and killed it: same overlap and data volume, zero penalty.
Honest riders in the README: confidence weighting does not beat raw
disagreement as a rank predictor (pre-registered internal prediction not
confirmed; it does double the conflict/compat level contrast), and
|rho|~0.45 is bounded by 0.5B merge-outcome noise (7B is the firm-up).

Also: micro-batched gradient accumulation (OOM fix on the shared 16GB
GPU), exact r-space LoRA-delta geometry (brute-force-verified test,
151 green), systemd-run runbook lesson (tmux dies with the SSH session
scope on this box).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-06 17:19:46 +01:00
5a23ddaf2a Phase 3: LLM-tier speciation + multi-seed firm-up of the recombination claims
llm_speciation (new kind; src/llm/speciation.py): E13 in LLM weights.
LoRA children share the frozen base's coordinates, so merge failure is
functional by construction. CONFLICT (ambiguous sort prompts learned
under opposite conventions — the BDM structure): function-specific
hybrid breakdown — merged coherence 0.02-0.08 falls below BOTH parents
(~0.2) on the conflicted function; and in the de-confounded `add` design
(private budget fixed, conflict added on top; 3 seeds after a
single-seed pilot showed one anomalous point) the merge's private-family
accuracy shows NO trend with conflict — the damage is surgical, not
global. DURATION (over-trained disjoint specialists, 1->12 epochs): the
merge improves (0.84->0.94) and stays above the best parent — the MLP
"no emergent isolation" null generalises; relevant to the
expert-training-duration report (2607.11997), with the epistasis
prediction left to the decisive experiment.

Multi-seed firm-up (seeds threaded into specialist caches; `seeds:` list
support in the runner; fixed test sets): all three recombination claims
hold with CIs — merges beat every specialist (5 seeds, ties
0.647±0.027 > best spec 0.592±0.009; worst-family 0.28 vs <=0.16); union
0.274±0.026 > fusion 0.174±0.102 on hard (3 seeds); directed 0.221±0.026
> soup. NEW finding: fusion is seed-FRAGILE where headroom exists
(CI ±0.10) while routing/directed selection are stable (±0.026) — the
union/selection operators win on reliability, not just mean.

Figures (llm_speciation 3-panel; llm_seeds 3-panel with 95% CI), READMEs,
+1 convention test (150 green), make llm-speciation / llm-seeds targets.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-06 15:39:15 +01:00
58e6c74609 paper: claim-narrowing revision from the external review
The review's core instruments adopted: the interpretation/explanation/
prediction ladder is now explicit in §1 (with the decisive pre-merge
epistasis-prediction test stated as the open bar, not claimed); identity
claims scoped (WF exact only in the minimal model, with the
learning-kernel deviation cited against ourselves; Muller's ratchet
scoped to the irreversible arm — recombination reassembles only what
survives); "nobody has / none imports / theory outrun" removed;
merge-don't-average given explicit operator boundaries (output-mean vs
weight-average vs routing vs max-with-oracle; budgets; oracle; capacity
handoff to speciation); a "what these experiments do and do not
establish" scope block added to the speciation section (conflict floor
is information-theoretic, not genetic; epistasis-cliff + snowball =
hypotheses at the neural tier; emergent DMIs = flagship hypothesis,
bounded by our null); "control theory" -> "framework" (subtitle
included); §3/§11 overstatements fixed (frozen core != frozen behaviour;
Baldwin echo, not identity; operational vs archival irreversibility);
claims-at-a-glance table (status/assumptions/evidence/limits) added to
§13. Reviewer's framing sentence adopted as the stated core
contribution. Accessible version calibrated to match. md2tex gains pipe-
table support; PDF rebuilds clean (22 pp). Lessons recorded.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-06 15:14:28 +01:00
d6a5c5cacd paper (Phase 2): fold hardened E13 into both versions, citation refresh, arXiv package
Speciation section rewritten around the hardened results: alignment
modulo the full function-preserving symmetry group (answers 2606.23607
preemptively), the hybrid-fitness cliff (0.97 -> 0.03), the mu(S)/2
floor, and the pre-registered emergent converse (no isolation without
functional conflict; the merge rescues forgetting specialists) — in the
abstract, §5, §13 ledger, and the accessible version.

Citation refresh (author names verified via arXiv API): concede
First-Extinction Law (Benati 2509.20101) and quantitative-trait collapse
(Yoon 2407.17493) alongside Riis; add verifier-injection (Yi 2510.16657),
Livnat & Papadimitriou (CACM 2016) as the sex-as-computation precursor,
and the adjacent 2024-26 merge/LMC/multi-agent literature (Ainsworth,
Pari, Zhou, Cao, Sharma, Hu, Kozodoi, Li & Shen, Harris, Chen, Tanaka).

arXiv package (paper/arxiv/): md2tex.py — a small block-based
Markdown->LaTeX converter keeping the Markdown as source of truth —
main.tex, generated body.tex, 3 vector figures; builds clean under
tectonic (20 pp; pdflatex hint guarded for arXiv); ARXIV-SUBMISSION.md
carries categories, license note, and a <=1,920-char abstract. 149 tests
green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-06 12:49:52 +01:00
ea051a5f92 E13b/c: harden real-weight speciation — full symmetry group + emergent-divergence null
E13c (the symmetry defense): alignment now runs modulo the FULL
function-preserving unit symmetry group of a ReLU MLP (per-unit positive
rescaling via canonicalise_scale, composed with Re-Basin permutations;
sanity gate recovers a permuted-and-rescaled copy exactly). Verdict: the
full group removes the independent-init barrier (residual 0.001) and
essentially none of the conflict barrier (0.502 -> 0.497) — the residual
is functional, not a missed symmetry (answers arXiv:2606.23607). The
cliff gains a hybrid-fitness readout: merged accuracy 0.97 -> 0.03 with
conflict. Floor proposition drafted (paper/si-notes.md S1): endpoint
invariance + max(eps_A, eps_B) >= mu(S)/2 for any merged model under any
alignment group.

E13b (emergent divergence): pre-registered second reading — with NO
conflicting training signal (disjoint class specialists; rolled-input
conventions), residual is 0.000 at every divergence to t_div=3200, and
the merge RESCUES the forgetting specialists (parents 0.535/0.474 ->
merged 0.955; a sustained Fisher-Muller rescue at zero barrier).
Speciation in real weights requires functional conflict; it does not
emerge from compatible specialisation on shared ancestry. LLM-scale
over-specialisation (cf. 2607.11997) deferred to Phase-3 llm_speciation.

3-panel figure, READMEs, +2 tests (149 green), make mnist wired.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-06 12:35:14 +01:00
72d5e9e736 tasks: open the PNAS submission campaign (work order + plan)
Post-hold reassessment (2026-08-11): fresh lit scan confirms the core
claims (speciation/BDMI, evolution-of-sex framing, mating systems,
headroom law) remain unclaimed; new concessions identified
(First-Extinction 2509.20101, quantitative-trait 2407.17493,
verifier-injection 2510.16657) and one methodological threat to E13
(richer symmetry groups, 2606.23607). Venue check ranks PNAS first
(direct 2026 precedent: "Evolvable AI" + letters), over PLoS Comp Bio
(scope risk). Five-phase plan: E13 hardening -> arXiv preprint ->
llm_speciation + multi-seed -> PNAS manuscript -> submission mechanics.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-06 12:34:59 +01:00
f5f68f5249 E14: mating systems — monogamy vs promiscuity (mate-pool breadth)
A new analytic experiment on an orthogonal evolution-of-sex axis: not the
recombination RATE (E9) but the population's mating STRUCTURE. Agents on a
ring recombine with a second parent drawn from a window of breadth b
(b->0 monogamous/isolation-by-distance, b=1 promiscuous/panmictic), under
local selection, swept against NK ruggedness K.

Finding: the optimal mate-pool breadth SHRINKS as skills get more
entangled. Wide/promiscuous merging wins the champion on additive
landscapes (K<=3, b=0.6), but on rugged ones (K>=6) it prematurely
converges to a worse champion and an intermediate breadth (b~0.35) wins;
pure monogamy over-fragments. Throughout, promiscuity monotonically lifts
the population MEAN but destroys diversity and parallel exploration. The
design rule extends E9: merge widely for additive skills, keep
island-structured sub-populations for entangled ones — a merging-native
axis the panmixia-assuming literature lacks.

- src/knowledge/mating_system.py + experiment.py dispatch (kind: mating_system)
- configs/layer1/E14.yaml (breadth x K sweep, 20 reps, bitwise-reproducible)
- figures/plot_E14.py; results/E14/ (figure, README, manifest, resolved config)
- tests/test_mating_system.py (+5, 147 green); make layer1 wired
- folded into both papers (full + accessible) as the third §5 result

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 12:38:50 +01:00
9fea375ff8 paper: add plain-language parallel version for a basic-ML reader
A companion accessible manuscript mirroring the full paper section for
section (§1-§13), same argument and conclusions, but assuming only basic
ML knowledge: all population-genetics jargon explained from scratch, a
one-paragraph summary and mini-glossary up front, the five load-bearing
claims and E13 speciation confirmation kept, and the dense
literature-positioning ledger compressed to a pointer back to the full
paper. Honest scoping (grounding-tail limit, merge-headroom condition,
prototype-not-society, open fitness-function problem) preserved.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 09:04:58 +01:00
b950ea37e4 paper (v6): fold E13 real-weight speciation into the limit-of-sex section
Update the "flagged not claimed" paragraph to a reported result: after
Git Re-Basin permutation alignment, independent-init barriers drop ~98%
(coordinate artefact) while conflicting-task barriers lose 0% (residual
0.49, genuine reproductive isolation), and the residual traces the
isolation cliff with task conflict. Also threads the real-weight
confirmation through the abstract (claim v + the reproducible-models
sentence) and the §13 ledger, and drops the now-done Git Re-Basin item
from the "still to engage" note.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 09:04:45 +01:00
01d87e504f E13: real-weight model speciation — the Git Re-Basin residual confirms E12
The real-weight image of E12, and the answer to the mode-connectivity reviewer.
Small no-BN MLPs on MNIST, forked from a shared base and trained independently,
are weight-averaged; we measure the linear-mode-connectivity barrier before and
after in-house deterministic Git Re-Basin permutation alignment (neural/rebasin.py,
scipy linear_sum_assignment), decomposing it into removable (coordinate artefact)
and residual (reproductive isolation). kind: speciation_real.

Result (3 reps):
- shared (same task, shared fork): no barrier — trivially mergeable.
- independent (same task, different init): naive 0.056, alignment removes 98%
  (residual 0.001) — the incompatibility is a coordinate artefact.
- conflict (conflicting label maps): naive 0.496, alignment removes 0% (residual
  0.496) — genuine reproductive isolation. Because alignment demonstrably works on
  the independent case, the conflict residual is real, not a failure to align.
- Isolation cliff (speciation_real_cliff): residual rises 0.00->0.13->0.19->0.28->
  0.40->0.49 with the fraction of conflicting classes — the real-weight mirror of
  E12's cliff; residual==naive throughout (functional, not coordinate).

rebasin.py sanity-gated (recovers a known permutation exactly). plot_speciation_real.py
(2-panel), +4 pure-NumPy tests (142 green), README with honest positioning vs
Git Re-Basin / Entezari / Frankle / Pari 2024 / Zhou 2026. Wired into make mnist
(needs torchvision).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 00:19:04 +01:00
56f642e7f9 paper: v6 'The Evolution of Sex for AI' + fold in E12 model speciation as headline
Reframe of v5 into a population-genetic control theory for agent societies (leads
with evolution-of-sex, concedes collapse=drift up front), positioned against the
2025-26 landscape (Multiagent-Finetuning, GENOME, M2N2, DGM, Pari 2024, Zhou 2026,
Git Re-Basin) with an explicit concede/own ledger. Folds in E12 as the headline
NEW modelling result: a dedicated 'The limit of sex: model speciation' section
(compatible -> outbreeding depression -> hybrid inviability; the isolation cliff
set by epistasis not divergence alone; the Orr-Turelli snowball; the route-don't-
merge design rule), threaded through the abstract (5th load-bearing claim) and the
what's-ours ledger. New draft file; v5 preserved.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 22:41:53 +01:00
db9452c9d4 E12: model speciation — the merge-compatibility limit of the sexual society
New analytic result for the evolution-of-sex paper: how far can two lineages
diverge before recombination (model merging) stops working? Frames merge failure
as biological reproductive isolation via Bateson-Dobzhansky-Muller
incompatibilities. src/knowledge/speciation.py, kind: speciation, on the E7-E11
genotype machinery (pure seeded NumPy, bitwise-reproducible; no external
simulator whose separate RNG would break that).

- BDM construction (E12.yaml): ancestor + two lineages substituting disjoint loci
  (each parent adaptive, incompatibility-free), a fraction rho of cross-lineage
  pairs are BDMIs. Sweeping divergence d reproduces the predicted
  compatible -> outbreeding depression -> hybrid inviability curve; the isolation
  cliff moves to lower d as epistasis density rises (iso at d=20: 0.00/0.03/0.50
  for rho 0.1/0.25/0.5); incompatibilities snowball ~ (d/2)^2 (Orr-Turelli).
- NK variant (E12_nk.yaml): parents = hill-climbed local optima; the epistasis
  wedge — recombination gain flips 0 -> -0.13 and OD rate 0 -> 0.90 as ruggedness
  K rises. At matched divergence, mergeability is governed by epistasis, the axis
  no divergence-only ML merge predictor captures.

plot_E12.py (3-panel), +7 tests (138 green), README with honest positioning
(concedes the empirical phenomenon to Pari 2024 / Zhou 2026 + permutation
artefacts to Git Re-Basin; claims the predictive theory + the epistasis wedge).
Wired into make layer1.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 22:40:02 +01:00
ae1779a9a8 specialise: extract train_lora_on_tasks — reusable answer-only SFT primitive
Factor the LoRA SFT loop out of train_specialist into train_lora_on_tasks(base,
tasks, out_dir, ...), which fine-tunes a fresh adapter on an arbitrary list of
(prompt, answer) pairs. train_specialist now generates its family's tasks and
delegates. Backward-compatible (same behaviour for the merge/moe/directed
experiments); the primitive is available for future loops that train on
arbitrary or model-generated pairs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 20:27:53 +01:00
4e86d8b602 papers: consolidate the real-LLM recombination arc (merge/moe/directed + headroom law)
Folds the four LLM runs into both papers now that the arc is fully characterised.

results-summary.md: new section 5 "The claims tested in real LLM weights" — the
Fisher-Muller generalist (7B merge 0.87 > best specialist 0.77), union-vs-fusion
(routing beats averaging where there is headroom), directed sex (breed + select),
and the unifying HEADROOM law that resolves the earlier saturation confound.
Updates design rule 2 ("merge, don't average — where there is headroom"), adds a
plain-language point 8, refreshes the validation counts (131 tests, real-LLM tier).

the-lamarckian-society-v5.md: softens the three "not a language model yet" claims
to acknowledge the prototype; adds the real-LLM confirmation after the
Fisher-Muller and directed-sex claims (with the headroom caveat as a sharpening,
not a weakening); adds an LLM bullet to section 13; reframes the closing gap to
"the operators, checked; the living society, next."

Tone held to the accessibility/honesty bar: prototype scope flagged (signs not
magnitudes), caveats presented as sharpening the claims, nothing over-celebrated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 19:20:19 +01:00
39f6c9f4df hard benchmark: the 7B "fusion wins / no headroom" results were saturation artefacts
The easy task families saturated 7B (strings & arith at 1.00), so the earlier
7B nulls — moe: fusion 0.87 > union 0.84; directed ~= soup — could not separate
"refinements don't help at scale" from "tasks too easy at 7B". Adds a hard task
variant (hard: true in tasks.py: multi-step lists, Caesar ciphers / letter
transforms, multi-step & larger arithmetic; same family labels and answer
formats, threaded through make_tasks/train_specialist/runners; hard specialists
cache separately as spec_*_hard) and re-runs both experiments at 7B on Imperial
CX3 (one L40S, 24 min, unsaturated: arith ~0.48, strings 0.67, lists 0.34).

Both nulls flip back to the 0.5B ordering:
- Union beats fusion again: routing 0.500 > fusion 0.40 (soup 0.392 / ties
  0.400), the same 10-pt margin as 0.5B. Fusion dilutes the fragile strings
  specialist so hard (0.665 -> soup 0.300) that soup even trails the best single
  specialist (0.425); routing keeps it intact (0.670).
- Directed selection beats soup again: 0.492 > 0.392 (+10 pts), recovering most
  of routing's benefit from one deployable merged model (lifts strings to 0.630).

Correction to the earlier interpretation: the llm_moe_hpc "regime flip" and the
llm_directed_hpc "no headroom" null were driven by TASK SATURATION, not base
capability. The operative variable is headroom — "merge, don't average" (union >
fusion) and "directed sex" (selection > single blend) hold whenever there is room
to lose to dilution: a weak base (0.5B) OR hard tasks at a strong base (7B-hard).
Fusion only wins in the degenerate corner where easy tasks let a strong base
compose to the 1.00 ceiling. Vindicates E8's max > mean in real 7B weights once
saturation is controlled.

Default (easy) task behaviour is unchanged (hard defaults False). +1 hard-task
test (131 green). Excludes the 0.5B smoke bundle (a pipeline gate, not a
deliverable). Results in results/llm_{moe,directed}_hard_hpc/ (parquet gitignored).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 19:13:26 +01:00
e433e48860 llm_directed: directed sex (breed offspring + select on verifier) — E10 in real weights
Adds the "directed sex" operator (E10) the moe regime-flip pointed to: don't
commit to one a-priori blend — breed a population of recombinant offspring
(specialists merged at Dirichlet-sampled weights), score each on a held-out
validation split with the verifier, and keep the fittest, reported on a fresh
test split. Two breeding objectives: best-overall and best-worst-family.
src/llm/directed.py + kind llm_directed, reusing the cached specialists.

Result — refinements pay off in proportion to how far the uniform soup is from
optimal:
- 0.5B (soup dilutes): directed selection beats soup on the bred objective —
  directed_overall 0.69 > soup 0.64; directed_balanced worst-family 0.37 > 0.26.
  Riders: single-objective selection trades off the other axis (overall-breed
  tanks lists to 0.17); a global blend still trails per-input routing (0.74).
- 7B (Imperial CX3, soup already composes to ceiling on near-saturated families,
  strings/arith 1.00): directed ~= soup (0.868 ~ 0.873, marginally below via a
  val/test overfit gap) — no fitter offspring to breed.

Through-line across all four LLM runs: "merge, don't average" and its refinements
(routing, directed selection) are weak-base / suboptimal-default phenomena — they
help at 0.5B and are inert at 7B. Honest limitation kept in the writeup: the 7B
families are near-saturated, which caps the headroom; a harder unsaturated
benchmark is the fair next test.

Also folds in the two llm_moe local manifest/config files missed in 8da0dac.
+3 directed unit tests (130 green). Results in results/llm_directed{,_hpc}/
(parquet gitignored).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 18:35:04 +01:00
8da0dac007 llm_moe: the union operator (route/max-merge) vs fusion — and the regime flips at scale
Adds the union-preserving recombination operator that llm_merge lacked (E8's max,
not mean): keep each specialist LoRA intact and SELECT the right one per prompt
(MoE router: oracle, or training-free nearest-centroid over base embeddings) or
per module (max_merge = winner-take-all by delta norm). src/llm/moe.py, kind
llm_moe, reuses the cached specialists.

Result — a clean regime boundary for "merge, don't average":
- 0.5B: union wins. Routing 0.74 / worst-family 0.43 > soup 0.64 / 0.26, with no
  dilution (recovers each specialist's own-family peak). E8's max > mean in real
  weights, because at a weak base averaging dilutes.
- 7B (Imperial CX3, L40S, 9 min): the ordering INVERTS. Fusion wins — soup 0.87 >
  routing 0.84 > max_merge 0.78. Routing is capped at the best parent per family;
  fusion blends and, given a capable base, COMPOSES beyond any parent (soup lists
  0.62 > spec 0.57). Selection can't synthesise better than its best component;
  averaging-that-composes can.

So "merge, don't average" (E4/E8) is a weak-parent / small-model law, not
universal: union wins under dilution, fusion wins under composition. Refines E8
(its additive-landscape max>mean assumed no compositional headroom). The operator
to want is fusion-that-composes + offspring selection = the directed-sex ideal
(E10) — the natural next experiment.

Honest riders: the learned router is trivially perfect (lexically-distinct
families), and router-free max_merge is the weakest union (not input-adaptive).
+2 router unit tests (127 green). Results in results/llm_moe{,_hpc}/ (parquet
gitignored per the reproducibility contract).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 17:53:47 +01:00
585264d0b4 llm_merge_hpc: the 7B firm-up makes the Fisher-Muller sign decisive
Re-ran the specialist-merge experiment at a capable base (Qwen2.5-7B-Instruct,
200 tests/family) on one L40S GPU of Imperial's CX3 HPC (8 min walltime). The
two caveats the 0.5B prototype left marginal are now resolved:

- "exceeds every parent overall" is clean: both merges 0.87 vs best specialist
  0.77 (+10 pts), and above every specialist on every family.
- dilution vanishes: at 0.5B averaging diluted the lists-specialist
  (0.43->0.26); at 7B the merge beats it (0.62>0.57). Dilution was a
  small-model artefact -- a capable base composes rather than dilutes, which
  softens E4's "merge, don't average" once the parents are strong.

The figure title is now data-driven (reports ">" for 7B, "~" for 0.5B).
Adds the hpc/ smoke job script and the llm_merge walltime trim. Results synced
to results/llm_merge_hpc/ (parquet gitignored per the reproducibility contract).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 17:32:51 +01:00
38bb252c20 hpc: PBS job scripts for Imperial CX3 (probe + scaled LLM merge run)
Enable running the LLM tier on Imperial's HPC (scheduler: PBS Pro / qsub).
- hpc/probe.pbs: 10-min 1-GPU reconnaissance job resolving the two unknowns
  the RCS docs omit -- compute-node internet access and the L40S driver's
  CUDA version -- plus TMPDIR/disk and available python/cuda modules.
- hpc/llm_merge.pbs: scaled run on an L40S (48 GB), offline HF-cache wired,
  runs configs/llm/merge_hpc.yaml.
- configs/llm/merge_hpc.yaml: Qwen2.5-7B-Instruct (fits the L40S) to reduce
  the noise that left the 0.5B prototype's overall-exceeds sign marginal.
- hpc/README.md: the git-based workflow (login-node uv env + model
  pre-download -> qsub -> rsync results back), confirmed PBS/GPU directives,
  and the code TODOs for the definitive run (multi-seed, more families,
  directed/dilution-resistant merge).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 16:02:09 +01:00
809e45a5e0 llm: first real-LLM prototype — recombining specialist LLMs (C2/C4)
First step from toy models toward real language models, on one 16 GB GPU.
New src/llm/ package: procedural task families + exact-match verifier
(tasks.py), batched eval (evaluate.py), LoRA specialisation (specialise.py,
manual answer-only SFT), weight-space merge via peft add_weighted_adapter
(merge.py: soup = averaged deltas, ties = sign-reconciled union), runner
(experiment.py, kind llm_merge). Base Qwen2.5-0.5B-Instruct (Apache-2.0);
three disjoint hard families (lists/strings/arith); one LoRA specialist each
(~90s total).

Result (seed 1), reported honestly:
- STRONG/robust: the merges are the ONLY models competent across ALL
  families -- worst-family ~0.25 vs <0.16 for every single specialist (the
  Fisher-Muller "generalist assembled from specialists" signature, in real
  LoRA weights).
- MARGINAL: "exceeds every parent overall" is only marginal at this scale
  (soup 0.64 vs best specialist 0.63; ties 0.61 below it).
- CAVEAT VISIBLE: averaging dilutes peaks (lists specialist 0.43 -> merge
  0.26) -- Layer-1's "merge, don't average" (E4) appearing in real weights.

The pipeline works end-to-end; the balance/retention half reproduces; the
strict overall-exceeds and soup-vs-ties distinction need scale (bigger base,
more/cleaner families, seeds, a dilution-resistant / offspring-selected
merge) -- the HPC step. Env: Python 3.14 + transformers 5.13 works;
note transformers-5.x apply_chat_template returns a dict. make env-llm /
make llm; adapters under gitignored models/llm/, base in the HF cache.
figures/plot_llm_merge.py, README, tests/test_llm.py (+3, 125 green).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 15:48:02 +01:00
6bca1db61e paper: reframe the perspective paper around sexual reproduction (v4 -> v5)
Rewrite the-lamarckian-society-v4.md -> v5, making sexual reproduction the
central engine and lifting accessibility for a cross-disciplinary audience
(geneticists, ML engineers, neuroscientists) — every field's jargon glossed
inline, big picture kept legible, measured tone, honest about scope (the
evidence is from minimal models, not LLMs).

Core reframe (section 5): single-teacher distillation is asexual copying,
which collapses (Muller's ratchet = model collapse); the cure is to ground
every birth in reality and to reproduce SEXUALLY — recombining many
complementary parents so offspring can exceed any parent (Fisher-Muller).
Adds the honest limits (outbreeding depression on entangled skills) and the
distinctly-AI advantage (directed sex: choose mates, screen offspring,
unbounded parents). Turns the old "a companion paper will..." into "what we
built and found," folding in the demonstrated results (E1-E11, neural +
MNIST, the learning kernel) and the Riis positioning (concede collapse=drift
as prior art; claim the control-theory cure). Update CLAUDE.md / README
references; results-summary noted alongside.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 13:53:10 +01:00
bab81d3178 paper: expand results summary to the full study
Rename layer1-summary.md -> results-summary.md and rewrite to cover the
whole body of work with the sexual-reproduction arc as the through-line:
Layer 1 (E1-E6, Wright-Fisher core + closed forms), Layer 1.5 (neural
existence proof: histogram bridge, RNN metric reframing, architecture-
generality, recombination in weights, real-MNIST external validity), the
learning kernel (neutral drift fails both neural models oppositely), the
sexual society (E7-E11: advantage of sex, Fisher-Muller super-parents,
outbreeding depression, directed sex, the dynamic-society vertical claim),
and the Riis positioning (concede collapse=drift; lead with the cure).
Technical + accessible halves; six design rules.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 13:47:44 +01:00
0f7b775ae5 society: the dynamic Lamarckian society — the vertical claim (E11 / C3)
The culmination. A finite population of agents (genotypes, L loci) evolves
on a rugged NK landscape that IS reality (knowledge/dynamic_society.py),
composing the four operators the whole study built toward: grounding,
directed recombination (sex), quality-diversity selection, and mutation.
Grounding is made load-bearing via the consensus-conformity (self-
consumption) mechanism (GG decision): selection acts on
g*true_fitness + (1-g)*conformity, where conformity = agreement with the
population's own consensus, so at g=0 the society optimises fitting-the-
crowd rather than reality.

4-arm ablation (12 reps), each breaking distinctly, only the full society
climbing (global_opt ~ 0.79):
- full         0.78  climbs to the optimum, diversity maintained longest
- no_sex       0.77  can't recombine to escape local optima
- no_diversity 0.74  greedy: collapses diversity fastest, worse local optimum
- no_grounding 0.48  self-consumption collapse to an unfit consensus
                     (trains on the crowd -> confident-but-wrong mean;
                      conformity-true gap ~ 0.5)

This integrates E1-E6 + the learning kernel + E7-E10 into one system and
shows the Lamarckian society needs ALL of grounding + directed sex +
diversity: on a rugged landscape you need diversity to explore basins, sex
to recombine them, and grounding to select on reality -- remove any one and
you fail differently. Closes the C3 vertical claim analytically; the LLM
rung remains the eventual empirical instantiation.

New: knowledge/dynamic_society.py, configs/layer1/E11.yaml, figures/
plot_E11.py, README, tests/test_dynamic_society.py (+5). kind:
dynamic_society dispatch; make layer1 wired. 122 tests green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 12:34:01 +01:00
48181a1c84 society: make the sexual-transmission model rigorous (E9 epistasis, E10 directed sex)
Deepen the sexual-reproduction frame before entering the full society, on
the two facets GG chose: landscape robustness and directed recombination.
Adds a Kauffman NK landscape (genotype.nk_fitness, tunable ruggedness),
finite n-parent crossover (genotype.crossover, per-gap recombination rate),
and hill-climb (parents = local optima = trained models).

E9 (recomb_landscape) -- the "why sex?" test: E8's dramatic super-parent
result used an ADDITIVE landscape. On rugged/epistatic landscapes, blindly
recombining local optima causes OUTBREEDING DEPRESSION -- offspring fall
below the parents, worse with both ruggedness and recombination rate (K=8,
free recomb: ~ -0.23), and the optimal recombination rate shrinks as
ruggedness grows. Design rule: merge freely when skills are complementary/
additive; sparingly (and with selection) when entangled.

E10 (directed_sex) -- directed sex beats biological sex: biology is stuck
with 2 random-mating parents and no offspring preview; an AI can choose
complementary mates, evaluate many recombinant offspring, keep the fittest,
and use unbounded parents (iterated recombine-then-select). Random
("biological") sex craters with ruggedness (0.66->0.51); directed sex
tracks/exceeds the best parent at every ruggedness -- converting the
outbreeding-depression catastrophe into a win. No biological analog.

Complete sexual-transmission picture: dramatic super-parent offspring when
skills are complementary (E8); outbreeding-depression risk when entangled
(E9); directed sex resolves the risk (E10). configs/layer1/{E9,E10}.yaml,
figures/plot_{E9,E10}.py, READMEs, +5 tests (117 green).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 11:13:37 +01:00
62c68d6c8c society: multi-locus recombination frame — the vertical claim (E7/E8)
Enter the Lamarckian society with a robust theoretical frame. The single-
locus, fixed-p* model can only express recovery toward a ceiling; the
society's load-bearing claim is vertical -- capability that EXCEEDS any
component. Generalize knowledge to a distribution over genotypes (L
biallelic loci, K=2^L, additive fitness = # correct loci), reusing all the
K-mode machinery. The one new operator is recombination: free recombination
sends p -> product of per-locus marginals (linkage equilibrium).

E8 (star, kind: society) -- the vertical claim / Fisher-Muller: decorrelated
PARENTS (specialists, expert on their loci, agnostic elsewhere) are
recombined; sexual merge assembles a genotype fitter than any parent,
climbing to the optimum (12/12, a genotype no parent had) as parent count
grows and rho->0, while the best single parent (~8.7) and the mean-mixture
"model soup" (~11.6) plateau below. Reuses make_retention_matrix (locus
mastery replaces tail-item retention).

E7 (kind: genotype_lineage) -- the advantage of sex: a single population
adapts toward the optimum; the sexual lineage adapts faster than asexual
(clonal interference) by keeping loci in linkage equilibrium (LD->0 vs LD
spike). Honest scope: a speed advantage, not a permanent Muller's-ratchet
gap (subtle to force); E8 carries the headline.

Metaphor shift (per GG): the society is sexual reproduction with UNBOUNDED
parents, not teacher->pupil. Teacher->pupil caps at the ceiling; n-parent
recombination is combinatorial and generative, and unlike biology there is
no two-parent limit. Collapse = asexual degradation; the cure = sex. This
unifies E4 (merge != average) + E6 (irreversibility) under evolution-of-sex
theory and reaches ground Riis's single-locus n-grams cannot.

New: knowledge/{genotype,genotype_lineage,society}.py, configs/layer1/{E7,
E8}.yaml, figures/plot_{E7,E8}.py, READMEs, tests/test_genotype.py (+7).
experiment.py dispatch (kind in {genotype_lineage, society}); make layer1
wired. 112 tests green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 10:51:41 +01:00
871bc39ec6 knowledge: learning kernel — model the estimator bias, not just sampling
Revisiting Layer 1 against Layer 1.5 (and Riis 2026, arXiv:2604.08554):
neutral Wright-Fisher is a null that BOTH neural architectures deviate
from, in opposite directions. Add a learning kernel to the refit step,
p_{t+1} = T_theta(counts/n), with two population-genetics knobs -- reset u
(mutation toward a prior = smoothing) and temperature tau (sharpening =
mode-competition) -- both identity by default, so the histogram bridge and
all 68 scientific-validation/correctness tests are unchanged.

Result: neutral drift fails both neural models, oppositely.
- VAE regime (n=6000, K=30): neutral drift is inert (no collapse), yet the
  real VAE collapsed to one mode. Sharpening tau=0.8 reproduces it -- the
  estimator ADDS collapse pressure.
- RNN regime (n=200, K=256): neutral drives H->0, but the real RNN only
  partially collapses. Mutation u=0.006 reproduces the H-floor -- the
  estimator REMOVES collapse pressure. Honest caveat: uniform-mutation
  overshoots the RNN's forward-KL, evidence its smoothing prior is
  truth-like, not uniform (future refinement).

This mechanistically explains the architecture-generality result and the
softened neural g*, and develops the estimator axis Riis names as future
work. New: knowledge/kernel.py, configs/layer1/kernel_{sharpen,smooth}.yaml,
figures/plot_kernel.py (overlays analytic arms vs committed neural
endpoints), READMEs, tests/test_kernel.py (+6, 105 total green). Strategic
Riis positioning recorded in CLAUDE.md: concede "collapse=drift" as prior
art; lead with recombination, the kernel axis, and the Lamarckian society.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 10:23:33 +01:00
79bbc45f41 neural: real-MNIST external-validity tier (collapse + grounding)
Confirms model collapse and its arrest by grounding on REAL images, not
just the synthetic sandbox. A conv VAE (the canonical generative-collapse
model) is retrained each generation on its own generated digits, with a
fraction g of fresh real MNIST mixed in. Modes = digit class x stroke-
thickness bin (K=30, Zipf, ~18 tail modes); the oracle is a frozen CNN +
deterministic thickness at 98.5% mode accuracy (30x30 confusion matrix
recorded in the manifest as the measurement-noise floor).

Result (4 reps): dry (g=0) collapses to a single mode -- forward-KL
0.5->18, support 30->1, tail 1.0->0.06, H->0 -- while 10% grounding holds
all 30 modes (KL~0.6, full tail, H~0.9). Signs, not magnitudes (blueprint
3.5); the exact synthetic oracle stays the quantitative anchor. The VAE
needs ~10% grounding vs the synthetic histogram's ~5%, consistent with the
grounding finding that trained nets need more than the exact operator.

Plugs into the existing data-agnostic contract (metrics/grounding/output
reused verbatim): mnist_data (thickness bins, class x thickness bijection,
MnistSampler), mnist_oracle (ClassifierOracle + confusion matrix),
mnist_vae (ConvVAEGenerator), mnist_loop (run_mnist_lineage), kind=
mnist_lineage dispatch, MnistCfg/OracleCfg. Figures: plot_mnist (parquet-
only) + mnist_montage (eyeball diagnostic showing digits degenerate to one
blurry mode). make mnist / make env-mnist, kept out of the make neural
loop. 99 tests green (+5 torchvision-gated).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 09:19:36 +01:00
3b9f4f7893 docs: accessible figure legends (README.md) for all figures
One self-contained README.md per results/ figure folder (Layer 1 E1-E6
and Layer 1.5 bridge/collapse/grounding/architectures/recombination):
plain-language claim, setup, a compact symbol glossary, a panel-by-panel
walkthrough, and the takeaway + falsifier. Auto-renders when browsing the
folder; carries the honest caveats (grounding's ruler reframing, the
excluded VAE).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 08:43:04 +01:00
b8da418034 neural: grounding refinement + all five Layer-1.5 figures
Grounding refinement (18 reps): forward-KL is the operative neural
collapse metric, not H or tail-survival. The RNN's smoothing keeps
spurious tail modes alive, so tail_truth_mass_alive is flat/non-monotone
in g and H stays ~0.8 of H*; only forward-KL falls monotonically (dry
2.08 -> g=0.2: 0.75, paired t up to 3.3). The sharp g* << 1 is an
exact-operator feature carried by the histogram bridge (0.047); the
trained RNN confirms the SIGN and softens the sharpness (half the KL gap
closes by g~0.04, but full recovery needs g~0.19). Blueprint 3.5's
directional claim holds; the pre-registered 95%-of-H*/tail falsifier is
not met because those are the wrong metrics for a smoothing model.

Robustness: a fully-degenerate RNN can emit only invalid codewords, so
measure_distribution now returns a terminal-collapse sentinel (fixation
on the dominant mode) instead of crashing a long sweep. Edge test added
(94 tests green).

Figures: plot_{bridge,collapse,grounding,architectures,recombination}.py,
each a pure function of its committed bundle, wired into `make figures`
(glob plot_*.py minus plot_E[1-6]/_*). bridge sits on the exact H_eq
curve (g*=0.047); recombination shows max-merge rising while mean-distill
stays flat; architectures shows the collapse/rescue signs across
histogram/GRU/MLP.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 08:14:19 +01:00
d22dd9d535 recombination: reproduce the E4 "merge, don't average" finding in real weights
src/neural/recombine.py mirrors Layer-1 run_coverage but trains K_T specialist RNNs on
assignments from the exact shared-switch retention construction (K_T/rho/q clean; union
matches the closed form), then recombines the measured teacher distributions two ways:
mean (naive pooling) vs oracle-guided max-merge (per-mode strongest teacher, M2N2-style),
each followed by size-n resampling.

Result (8 reps): at rho=0, union rises 0.49->0.96 (supply matches closed form); analytic
surviving_max rises 0.043->0.087 while surviving_mean stays flat ~0.045 — the conservation
law (averaging cancels the union gain, max-merge realises it). At rho=1 (identical
teachers) union and max are flat. The lesson holds in the neural setting; trained-weight
columns show the same signs but noisier (smoothing inflates baseline; deep tail barely
clears n=200 resampling). torch-gated test added. 93 tests green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 21:49:44 +01:00
aca7b394a3 Rename neural experiments to descriptive paths (drop N* codes)
configs/neural/{N0,N1,N2,N5}.yaml -> {bridge,collapse,grounding,architectures}.yaml,
results dirs likewise. Updated experiment/output.dir fields, comments/docstrings, and
docs; regenerated the four result manifests (now carrying the real git commit). No
functional path resolution referenced the codes (the Makefile globs configs/neural/*.yaml
and tests use inline configs), so nothing breaks. 92 tests green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 21:21:56 +01:00