The project

Transient, and its first working piece: baby

Transient is an experiment in building a light, adaptive learning system that runs on ordinary hardware. baby is the prototype we have so far: about 11,000 lines of Rust with no dependencies. It is a research prototype tested on a synthetic curriculum. It is not a language model, and makes no claim to be one yet.

What it does

You teach baby lessons: question and answer pairs, such as "what is two plus three → five" or "the capital of peru → lima". Lessons come in groups called units (sums, capitals, "which is bigger"). A teacher can group them, or baby discover can find the units itself from an unlabelled heap.

The interesting part is that nobody tells it how to learn a unit. For each one it tries several mechanisms on facts it has held back, and keeps whichever generalises best, preferring the cheaper one on a tie.

MechanismWhat it doesTypical use
rememberStores the lessons and answers by weighted similarity, using an inverted index. Voting among matching lessons; a tie refuses.Facts: capitals, colours, codes
ruleExact (ridge) fit of a linear combination of the quantities in the question, with outlier-robust fitting.Sums, differences, doubling, halving
selectPicks the larger or the smaller of two numbers.Comparisons
programSearches small expressions (+ − × max min apart div mod half, constants, up to 7 pieces) and keeps the smallest ones that agree.Multiplication, "how far apart", digit tricks
networkA small bag-of-words neural net.Rarely needed

How a question is answered

1. Question"how far apart are two and nine"
2. RouteA precomputed table scores how telling each word's shape is for each unit. Tens of operations, not a scan of every lesson.
3. MechanismThe unit's chosen mechanism answers, or declines.
4. ReplyAn answer with how it knew, a labelled guess, or a refusal with the reason.

Every answer says how it knew

A reply is never a bare value. It says whether the answer was worked out by an expression it built, by a fitted rule, or simply recalled. A refusal says why: a word it has never met, a kind of question it does not recognise, a unit it can only memorise, or a negative result it cannot state.

Careful by default, and still willing to guess

A rule that is exact on everything it was taught can still change behaviour outside that range (a sum that saturates, a sum that wraps). Nothing in the lessons can reveal that. So, since 2026-10-21, baby states a value as fact only inside the range it was taught or has had checked. Beyond that it offers a labelled guess ("probably seven") and keeps a record of how often its guesses at each distance have turned out right. Where they have been wrong more often than right, it stops guessing.

A correction from the teacher ends the guessing in the region it contradicted. The goal is the rule we call never silently wrong: a guess may be wrong, because being wrong and updating is how learning works, but a wrong answer must never be presented as a fact.

It keeps learning after school

  • A surprise gate skips lessons it can already work out: nothing is learned or stored.
  • The pen holds lessons that fit no unit; when enough gather, they open a new unit on their own.
  • baby sleep merges units that follow one rule, splits units that stopped following one, and can forget lessons that are fully explained (--compact).
  • baby wonder lets it ask: where two explanations fit the lessons equally well, it names the number that would tell them apart.
  • It measures its own noise (the share of wrong lessons in its data) and sets how reliable a mechanism must be before it may answer.

What it chose to do with 13 units

Output of baby school on the synthetic curriculum: for each unit, the mechanism it picked and its score on held-back facts.

UnitLearns byHeld backNote
sumrule100%
minusrule100%
afterrule100%
doublerule100%
halfrule100%
compareselect100%
timesprogram100%built first × second
apartprogram100%built first apart second
capitalremember0%memorise only: nothing here can be worked out
colorremember0%memorise only
soundremember0%memorise only
oppositeremember0%memorise only
coderemember11%memorise only (arbitrary codes)

"Held back" is the share of facts held out of the fitting that the chosen mechanism then got right. For memorise-only units it is low by design: you cannot work out an arbitrary capital from other capitals, so it says so instead of bluffing.

The scorecard

Share of questions, current default (careful) mode, from baby school. "Of the refused: a guess" counts the refusals that came with a labelled guess, and whether that guess was right.

QuestionsRightRefusedWRONGRefused, guess rightRefused, guess wrong
taught100.0%0.0%0.0%0.0%0.0%
reworded100.0%0.0%0.0%0.0%0.0%
never taught90.2%9.8%0.0%4.9%0.0%
beyond the taught range0.0%100.0%0.0%100.0%0.0%

Caveat

Read this with its caveats. The lessons are synthetic and tidy (a handful of phrasings, small numbers). "0% wrong" is a spot check on in-style questions plus hand-written batteries of questions that must be refused. It is not a proof, and every harder test we have built has found a new way for it to fail, which we then fixed and wrote down. See how we judge results.

Limits we state plainly

  • The mechanisms, the expression language, the number line and the thresholds are our design choices. baby selects and fits among them; "invention" here means building expressions and vocabulary, not a new kind of learner.
  • It has not yet been run on real text, on millions of lessons, or at the quality of today's language models. Those are the open questions the roadmap exists to answer.
  • The experiments use a simulated teacher who is always right. A real teacher is sometimes wrong.

Try it

You need a stable Rust toolchain and nothing else; it builds offline.

git clone https://github.com/DawsMacs/Transient.git
cd Transient
cargo build --release --offline
./target/release/baby school
./target/release/baby ask "how far apart are two and nine"

More in the documentation, and the full experiment log, newest first, is the repository's baby/README.md.