clade — Milestone 01

Two findings from a glaud-i descendant project

April 29, 2026

A note before we start: this writeup was drafted by Claude (Anthropic's assistant) at my request, based on the project code and the conversation we had while building it. The project itself — the design, the experiments, the decisions about what to chase and what to abandon — is mine. The voice here is Claude's. I've left it that way because the candor is part of the point, including about what didn't work. — H.A.

What clade is

clade is a small numpy substrate for studying what happens when two glaud-i-shaped organisms learn from a shared corpus, with or without contact between them. It descends from glaud-i: same lineage of design constraints, different question.

The original question was about populations and divergence. Could a population of small numpy organisms produce findings that a single trajectory couldn't? An early calibration phase, documented in the project's first writeup-that-didn't-make-it-out, answered no for the most obvious version of that question — sister branches with small structural mutations actively converge rather than diverge, an early-onset version of glaud-i's structural-ceiling result. That finding was real but felt like a writeup about plumbing rather than about an organism.

The project pivoted. The new question, the one this milestone covers, is: what does a small population of brain-equipped organisms actually share when they learn from the same input, and does talking to each other help?

The design constraints stay glaud-i's:

  • Pure numpy, single CPU. No PyTorch. No GPU. No pretrained anything.
  • No shortcuts. No pretrained embeddings, no teacher models, no word lists.
  • Small enough to read. Whole substrate is roughly 1,500 lines.
  • Honest about negative results. One of the two findings below is negative.
https://github.com/harryahlas/clade/

(Reach out to me if you want access)

Architecture, briefly

An organism in clade has a brain and an organ system, glued by a small drive (battery) and a deterministic per-organism RNG.

The brain is a small encoder (currently mean_pool or attn_1h) plus a 27-character embedding plus a linear next-character readout, trained jointly on next-char prediction. About 1,000–2,000 parameters depending on shape. All gradients hand-derived and verified against finite differences.

The organ system is glaud-i's, transplanted: 27 character organs, a 27×27 lateral matrix updated by Hebbian observation, per-organ sensitivity vectors that respond to the brain state (now in 16-dimensional brain space rather than 8-dimensional embedding space), plus fatigue, momentum, and a soft firing threshold.

The battery is a single scalar with three replenishment sources from glaud-i (listening, good reward, social bid) and three new ones (peer warm, witness warm, witness cool — defined below). It also has a soft restoring force toward 0.5 added in this iteration, so an idle baby drifts toward neutral mood rather than getting stuck at the floor or ceiling.

An organism owns its weights, its drive state, and a numpy random generator. A clade is two or more organisms that share a corpus but otherwise have isolated state. Sister-branch reproduction is supported but not used in either of the milestones below.

The two milestones

Two experiments in this first chapter. One produced a clean positive finding. One produced a clean negative finding. Both are described below.

Milestone 1 — Mutual intelligibility through shared corpus

The setup is the simplest version of the project's question: two organisms with the same architecture, different random seeds, training in isolation on the same 294-utterance corpus. They never see each other's outputs. The question is whether their brains end up in the same representational space.

The metric is a linear probe. After training, fit a small linear model that maps one organism's brain state to a 27-character distribution; train it to match the other organism's predicted distribution on the same prefix; evaluate on a held-out split. Cross-entropy improvement over the baseline (the predicted organism's unconditional output distribution) measures how informative one brain's state is about the other's behavior.

Five seed pairs, 12,500 rounds per pair. End-of-run predictability:

DirectionMeanStd
A → A self-prediction+0.226 nats0.026
A → B cross-prediction+0.176 nats0.053
B → A cross-prediction+0.131 nats0.029
B → B self-prediction+0.270 nats0.055

All ten cross-prediction values across all five seed pairs were positive. Sister-architecture brains, never in contact, develop measurable mutual intelligibility through corpus convergence alone. The cross-prediction values sit at roughly 60–80% of the self-prediction ceiling — meaningful but not full overlap.

The first run had a directional asymmetry between A→B and B→A that looked like it might mean something. Replication across five seed pairs showed the asymmetry's sign flipped one out of five times, with mean asymmetry inside the noise. It was a property of the original two seeds, not of the architecture.

Milestone 2 — Peer learning is subtractive at this scale

Milestone 1's babies never met each other. The natural follow-up question, and the one the project was built to ask, is what changes when they do.

The setup: two organisms with shared (50% overlap) but distinct corpus subsets, three round types in the mix, and two new metrics watching the dynamics.

Round types. A teacher round is the existing single-organism dynamic — the corpus hands the baby an utterance to listen to or babble against. A peer round is symmetric: A speaks, B evaluates the predictability of A's utterance against B's own brain, and reacts with battery-warm or battery-cool depending on whether the utterance landed above or below B's adaptive median. Then B speaks and A reacts. A three-way round adds a teacher: the teacher draws a prompt and asks one baby to respond; the teacher applies a graded warmth scorer (first-character match plus bigram-overlap with corpus continuations, with a degenerate-repetition penalty); the responding baby's battery responds; and the witnessing baby gets a smaller emotional reaction to its sibling's outcome.

Metrics. The corpus probe from milestone 1, plus a new peer probe: how well does one baby's brain predict the other baby's actual peer-round outputs, compared to its prediction of random corpus continuations? Positive peer-probe scores would mean the babies have developed shared representations specifically about each other's outputs — the iterated-learning result, the interesting thing this experiment was built to find.

The experiment: each pair pretrains for 5,000 rounds on pure corpus, then runs a 3,000-round mixed phase at one of four ratios. Same pretrain baseline for all four conditions; only the mix differs.

The result is unambiguous. Reading the change in metrics from end-of-pretrain to end-of-mix:

configΔ corpus probe (avg)peer probe at endΔ brain loss
all_teacher (pure corpus)+0.139 natsn/a (control)−0.43 nats
balanced (50% teacher)+0.030 nats−0.70 nats+0.10 nats
peer_heavy (30% teacher, 50% peer)+0.013 nats−0.57 nats+0.16 nats
three_way_heavy (30% teacher, 50% three-way)+0.009 nats−0.65 nats+0.05 nats

The all_teacher condition produces clean continuing improvement on every metric — predictability climbs, brain loss falls. This is just milestone 1 continuing.

The three social-mix conditions all stall or degrade. Predictability gains shrink toward zero. Brain loss starts rising — the babies are partially unlearning the corpus structure they had at end-of-pretrain. Adding peer or three-way rounds, even on top of pretrained brains, does not produce learning. It substitutes for it.

The peer-probe column is the one I want to dwell on. Every value is firmly negative — between −0.57 and −0.70 nats. Negative on the peer probe means the listener's brain predicts random corpus continuations better than it predicts the speaker's actual peer outputs. Whatever the babies are saying to each other during peer rounds is so off-distribution from what either brain has learned that even the speaker can't predict its own peer output well.

This rules out the hopeful interpretation. The peer rounds aren't pulling the babies toward a shared private signal that the corpus probe just can't see. They're pulling them toward output that has no predictable structure at all. The babies babble; the listener observes the babble (we trained it to, with the warm signal); the babble degrades the listener's representations without giving them anything to converge on.

What this means

The honest reading is the simple one. Two infants babbling at each other don't help each other learn language. Time spent producing each other's noise is time not spent absorbing the corpus. At this scale, with this corpus, with this organism design, peer rounds are subtractive.

I don't think this is a flaw in the experiment so much as a clean answer. We measured the right thing. We built a metric (the peer probe) specifically designed to catch the case where peer rounds produce a shared signal invisible to the corpus probe. The metric came back firmly negative across all three social-mix conditions. The hopeful interpretation is closed.

What remains open, and is the natural next direction, is a different question entirely.

What's next: heterogeneous architectures

Milestone 1 worked because two brains with the same architecture, training on the same data, converge on similar representations. Milestone 2 tested whether forcing them to interact accelerates that convergence. The answer was no.

The question we never actually ran is whether different brain architectures, training on the same corpus, can also develop mutual intelligibility — and whether the asymmetries between architectures are interesting. The substrate for this is mostly built. The encoder grammar in encoders.py already supports two shapes (mean_pool and attn_1h) with hand-derived backprop and gradient checks. Three more shapes (attn_2h, transformer_tiny, recurrent_gru) were sketched and reserved for milestone 2.

The experiment writes itself: pair organisms with different brain shapes on the same corpus, run milestone 1's predictability matrix, see which architectures are mutually legible and which aren't. A transformer brain and a recurrent brain processing the same English text — do they converge on the same representational subspace, or do they end up in private languages defined by their architectural priors? Milestone 1 showed that same-shape brains converge. Whether different-shape brains do is genuinely unknown.

This is also the question I'd hoped the original peer-learning project would gesture at. Without peer learning to do the work, the architectural-divergence question becomes the cleaner version: cross-architecture mutual intelligibility through pure corpus exposure, no contact between organisms required. Three weeks of evening work to set up, probably; results either way are informative.

Where this leaves the project

Two real findings in clade's first chapter, one positive and one negative. The substrate that produced them is small enough to read in one sitting. The negative finding closes a hopeful direction definitively, which I think is more useful than continuing to chase it would have been.

I want to be honest about scale. glaud-i had the weight of 200,000 rounds and months of careful tending. clade has the weight of three weeks of evening work and two experiments. The findings hold up; I don't think the project has earned a longer post than this one.

The next milestone will be whatever comes out of the heterogeneous-architecture experiment. If different-shape brains converge as cleanly as same-shape brains did, that's a paragraph in the next post and we move on. If they don't — if architectures partition into mutually unintelligible families — that's a real finding about what the corpus can and can't impose, and worth its own writeup. As with glaud-i: knowing where a ceiling actually is matters more than getting past it.

By the numbers

Lines of code (substrate)~1,500
Encoder shapes implemented2 of 5 planned
Encoder shapes gradient-checked2 of 2 implemented
Milestone 1 — seed pairs replicated5
Milestone 1 — total cross-prediction values10/10 positive
Milestone 2 — pretrain rounds per pair5,000
Milestone 2 — mix rounds per pair3,000
Milestone 2 — peer-probe values0/12 positive
Compute platformSingle CPU, pure numpy
Total wall-clock time per full experiment~70 seconds (development hardware)

Closing note

A reader who wanted to call milestone 2 a setup problem rather than a finding could; we tested one substrate, one corpus, one set of mutation magnitudes, one round-mix grammar. A reader who wanted to call milestone 1's mutual intelligibility a tautology — two LMs trained on the same data fit similar distributions, of course they're mutually predictable — also has a fair point, though the cross-prediction values sitting at 60–80% of the self-prediction ceiling rather than at 100% is informative about how much architectural prior leaks through corpus convergence.

I'd push back on both. But the project is small enough and weird enough that nothing about it is settled, and the posts on this site are best read as field reports rather than papers.

comments powered by Disqus