The whiteboard

One factor of the brain, opened up completely. Every matrix drawn, every step of the maths shown as it happens, in plain words first. Move the controls and watch the numbers move. Every default value here has been executed against the real engine.

1 · The organism

Before the maths — what is actually there.

slow scene layer built · wired · DEAD (its message is identical for every belief it could hold) L2 · the strategist 5 situations → picks 1 of 5 options · thinks once every 12 ticks up: ONE integer (0–4) every 12 ticks · ≈2.3 bits down: what to want + precision + learning rate · every tick L1 · the body — 21 factors, side by side, no links between them status vision threat + 9 more 5 motor 4 homeostat ■ 12 frozen — cannot learn ■ 9 working

Read it like this: the body has 21 separate little models, one per sense. They don't talk to each other — they only meet in the choice of what to do next. Above them sits one strategist that sees almost nothing (a single number, twice a minute) and pushes back down what to want. Twelve of the body's factors, in red, are broken in a way that means they can never learn anything. That is what the rest of this page shows you.

2 · One factor, opened up

We'll follow status — the factor that senses how the body is doing. Everything below is this one factor's actual contents.

A factor is four things. What it can see (four outcomes). What it thinks might be true underneath (four hidden states, deliberately unnamed — the model is supposed to learn what they mean). A belief about which is true right now. And what it wants to see.

A — what each hidden state looks like (the eye)
B — how states move when you act
C — what it wants to see

3 · One turn of thought, step by step

This is the whole of perception. Five steps. Each one says what it is doing before it shows you the arithmetic.

1

What did I expect, before looking?

expectation(state) = ln D(state)  — on the very first tick, the belief you were born with
2

What does what I just saw tell me?

I saw . For each hidden state I ask: if that state were true, how likely was I to see this? That's one row of the A grid above — highlighted in yellow. Then I turn the sharpness dial γ on it: high γ means "trust my eyes", low γ means "trust what I already believed".

evidence(state) = γ · ln A[ | state ]
3

Put them together — this is the belief

Multiply what I expected by what I saw, then normalise so it sums to 1. That product is Bayes' rule. Watch the bars: if the middle column is flat, the answer is the same as the left column — the eye told it nothing.

belief(state) ∝ expectation(state) × evidence(state)
×
=
4

How surprised am I?

Free energy F is the model's own measure of how badly the world fits it. It is supposed to be an upper bound on true surprise — never below it. If it ever drops below, the model is fooling itself, and minimising it makes it blinder.

free energy F
true surprise

The honesty check. Add up the probability the model gives to every possible thing it could have seen. If the maths is sound that is exactly 1. If it isn't, the model is inventing probability out of nowhere.

total = 1?
5

So what should I do?

Every possible action gets scored on two things: what would it teach me (can I tell states apart afterwards?) and would I like what I'd see (does it match C?). Add them, flip the sign, and the smallest wins.

G(action) = − [ what it teaches + how much I'd like it ]
termvaluemeaning
what it teaches
how much I'd like itexpected preference, from C
G — lower is chosenthe two, combined and flipped

4 · The defect you can push on

Set how much the eye knows to 0 — the shipped value. Now change what the factor sees. The belief does not move. Not a little: at all. Every column of A is identical, so every state predicts every outcome equally, so nothing the world does can distinguish them.

That is twelve of the twenty-one factors, for their entire lives. Their "what it teaches" term is exactly zero, so they never influence a decision — which means every preference the strategist sends down, and the whole curriculum, does nothing at all.

Now drag the dial up. Watch the A grid stop being flat, and the belief start following what it sees. That drag is the repair. We don't set those numbers by hand — we draw them once from the model's own prior, which changes nothing on average and simply stops the model starting on the one point where it is stuck.

What it bought — measured to 1600 ticks, and the answer is no. The beliefs genuinely came alive (spread 10⁻¹⁶ → 0.77, teaching term 0 → 0.24). But prediction improved only 0.08% at 400 ticks, and that decays to 0.05% by 1600 — it does not compound.
ticksgainvs noisedraws better
400+0.0009861.40×8/8
800+0.0007371.46×8/8
1600+0.0006321.91×8/8

The rising “vs noise” column is not the effect strengthening — it is the spread between draws shrinking faster than the gain. More certain, less large.

How much was there to win at all? The same data was scored by a correctly-built model to find the ceiling:

predictorscore (lower better)what it is
uniform1.3188guess blindly
frozen factor1.3163what we ship
ideal “how often”1.3122the frozen factor’s own ceiling
proper filter1.0937a model that can learn when
oracle0.9062told the answer

This is the finding. The frozen factor sits within 0.004 of the very best it could ever do — it was never doing anything wrong, it simply could not learn when, only how often. The real prize is the 0.219 nats between it and a proper filter, and our repair captures 0.29% of that. It cannot capture more while B is still the identity: fixing the eye does not help if no action ever changes anything.

And a cost that grows. Which random draw a lineage happens to get does not change how well it predicts — but it decides what the creature does. Same score to three decimals, completely different animals: one drew mine 1485 times in 1600 ticks, another sat on noop 1311 times, another attacked 636 times.

5 · Does this page tell the truth?

These numbers were executed against the real Elixir engine. The page recomputes them in your browser right now and compares. If any row says MISMATCH, do not trust this page.

Engine pinned at 0c42216. 26 of 27 hand-derived predictions confirmed by execution; the four that were wrong were corrected before they reached this page. Free-energy repair b645421; identifiability repair 100b711 (gated off).