Commit graph

65 commits

Author SHA1 Message Date
9055fca792 Fig. 1A: pastel palette (green biology, two blues for AI) + Mendel peas and robot icons
Per GG: the biological model goes pastel green (nature), the two AI tiers
light and darker pastel blue; header text switches from white to the dark
shade of each hue (white is unreadable on pastel). A green-pea icon honours
Mendel in the biology header; a friendly robot marks the two AI headers.
Icons are Flaticon #2347052 and #10479785, used under GG's paid Flaticon
licence (noted in make_figs.py); header text is centred slightly left of a
dedicated icon slot so nothing collides. Caption colour sentence updated
(green vs blues).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 13:23:35 +01:00
2d8f661924 Paper-wide rename: the pop-gen construct is "the biological model"; "(exact)" dropped
"Model" now means an AI model everywhere; the Wright-Fisher construct is "the
biological model" throughout (19 occurrences): tier header, section title (now
"The biological model, and where trained learners depart from it"), Table 1
support column ("Exact" -> "Closed form"; "Analytic model" -> "Biological
model"), Results, Discussion, Methods ("Biological-model tier"), and all
figure captions. "Exact" survives only in technical noun phrases (exact-match
verifier, exact oracle, exact equilibrium, exact recovery); the abstract's
"exactly Wright-Fisher" is now "literally Wright-Fisher".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 13:08:58 +01:00
f1970728cf Fig. 1B: information-flow taglines under each panel
Space: "information is passed on, but not easily stored: it fades with the
conversation". Time: "information is inherited, evolutionarily selected, and
passed on again — from parent model to child model — where population
genetics applies". The contrast that justifies the transfer, stated where the
reader's eye lands.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 13:03:41 +01:00
3a41ee0c2e Fig. 1B polish: larger text, no overlaps, speech bubble says hi
Per GG: the "a society in time" label no longer collides with the gen-2
agent's capability dots (taller canvas, pedigree spread), the "inherit" label
clears the timeline (shortened; the caption carries "training on output"),
the cryptic "..." bubble now reads "hi!", and every text element is one to
two points larger.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 12:59:59 +01:00
b417a66c23 Fig. 1B: the conceptual cartoon — from a society in space to a society in time
The paper's key move drawn as a two-panel partner to the programme grid (now
Fig. 1A): on the left, the usual picture — contemporaries exchanging messages
(multi-agent systems, one moment on the clock); on the right, the same
ecosystem seen along its time axis — a pedigree in which a rare capability
(gold dot) is lost under single-parent inheritance, reassembled by merging
complementary parents, and re-supplied by grounding from a reality that can
say no (the globe). Friendly-robot glyphs, colour-coded capability dots;
build.py now stacks multiple PDFs per figure; the Introduction cites 1A and
1B in panel order.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 12:50:36 +01:00
9c0210ba93 llm_society pilot v1 diagnosis + v2 knobs: raise inheritance fidelity, add elitism
Pilot v1: full and no_grounding indistinguishable - both arms pay a ~25%
distillation tax per generation and pin at the same mutation-selection floor,
so grounding has no differential to act on. v2 raises inheritance fidelity
(n_inherit 240->600, child epochs 2->3, founders 600x3) and adds two evenly-
applied knobs: elitism (top parent survives as an unmodified copy - overlapping
generations, compensating for lossy distillation where E11 had faithful
genotype copying) and n_parents (sharper truncation selection). v1 archived at
results/llm_society_pilot1; v2 running.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 12:38:15 +01:00
16e9002773 Fig. 1 doubles as a map of the paper: per-cell figure/panel tags
Each filled cell now carries, in its bottom-right corner, the figure or table
where that result is reported (Fig. 2A ... Figs. 7E-F, 3C-D); the caption says
so. Building the mapping surfaced one imprecise citation: the bred-and-screened
seed-replication claim cited Fig. 3A, whose panel shows the soup/ties bars -
that result lives in SI Appendix Table S2, and the citation now says so.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 12:10:51 +01:00
9b0ca32f51 llm_society: the composed society at LLM scale (C3) — loop, tests, smoke green
E11 re-instantiated in a population of LoRA agents, closing the paper's stated
gap before submission (GG: a weeks-scale experiment a reviewer would demand).
One grounding knob in the evaluation channel (g*verifier + (1-g)*conformity,
exactly E11); inheritance is identical in all arms and deliberately ungrounded
(children distilled from their source's own answers - self-consumption made
literal). Directed sex = complementary pairing + Dirichlet offspring screened
on the arm's own signal (the verifier never enters the no_grounding loop);
QD selection on verifier-free behavioural distance; terminal-degeneration
fallback copies the parent instead of crashing a sweep. Pure operators
unit-tested (155 green); smoke run end-to-end on the local A4000 already
shows the self-consumption signature (conformity up, diversity down in one
generation). Design, falsifiers, cost table: tasks/workorder-llm-society.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 11:55:19 +01:00
d75c58474a Fig. 1: "not tested at this tier" -> "adds no discriminating test at this tier"
The old label read as an omission; the skipped middle-tier cells were a design
decision (the tier would replicate the exact theory, not test it), and the new
wording matches the fill principle the caption states.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 11:39:55 +01:00
e9fb28d8c4 Fig. 1: colour-separate theory from AI tiers; explain every empty cell
Category separation per GG: population genetics stays blue, both AI tiers move
to shades of orange, with a wider gutter between the theory column and the AI
pair. The grounding x LLM cell is upgraded from "not tested" to "established
at LLM scale in prior work (21, 30); not re-run here" (Shumailov's Nature
collapse result; Gerstgrasser's real-data rescue) - it was never a gap, it was
already settled. The caption now states the fill principle: each claim is
tested at the cheapest tier that can falsify it; a costlier tier is entered
only where it adds a discriminating test, and the LLM society is the one
genuinely open cell.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 11:35:59 +01:00
5cb49943db Fig. 1: rename first tier "Exact model" -> "Population genetics (exact)"
"Model" is reserved for AI models in this paper, so a tier named "Exact
model" read as a kind of AI model; the tier is the Wright-Fisher theory run
exactly. Caption and Introduction adjusted to match ("three tiers" rather
than "three tiers of model architecture"; "an exact population-genetic
simulator").

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 11:31:56 +01:00
e42fe497ff Fig. 1 revision: pop-gen definitions as row labels, title into the caption, solid header row
Row labels now teach the vocabulary (grounding = immigration, recombination =
sex, epistasis, the composed society, speciation = reproductive isolation),
each with a two-to-three-line definition in the left margin, replacing the
question taglines. The in-figure title/arrow is removed (the caption carries
it); the tier header row is now solid-colour with white text so the
model-nature band reads as a header rather than a content row.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 11:21:06 +01:00
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