Wiki · The Colony & the Method
How to PROVE — or FALSIFY — the UNI
How to read this page
Three ways to read this page. Precise is the document itself, exactly as it is written in the repository. Plain and Clear were written for this website to help you meet that document — they are about it. They are not it, and they are not evidence.
Eighty-four pages about the colony. Each agent is an Elixir process holding a generative model and doing inference, attached to a body that logs into a Minecraft world as an ordinary player. Around that sit the broadcast suite that films them and the runbooks that keep the whole thing running. There are typed specifications for each organ of the model, plus the world and genome specs. There are also the adversarial review personas used to attack a proposed change before it ships.
It is for the reader curious how a running system is put together and how it is held to account. The accountability half is the more distinctive. There is a lab protocol governing evidence and attribution, and a claim fence that restricts the vocabulary a claim is allowed to use. There is a public gate log. And there is a standing invitation to reproduce any verdict from the commit and the seed named in its receipt.
Start with the public read, then the lab protocol, then the falsification invitation. If you want the mathematics rather than the operations, go straight to the typed organ specs.
What it is not: a description of a mind, and not all one kind of document. A large part of this corpus is design and planning — specs marked as proposed rather than applied, organs designed but not built, plans that were later superseded — and each page states which it is. A specification is not a running system, and these pages are careful about the difference; the reader should be too. Eight documents were withheld from publication because they describe private infrastructure.
Your browser cannot switch reading levels, so the document itself is shown.
Precise — the source document
This is the document. Rendered from the repository at the commit above, with nothing rewritten for the web. A gate re-renders it on every deploy and fails the build if a single byte differs.
This project lives or dies by being falsifiable. Nothing here asks for trust: every claim is recomputed from the running code, and below is exactly how to break each one if it were false. A claim you cannot imagine falsifying is not science.
Observe it in one command
mix sp.uni.prove
Recomputes and prints PASS/FAIL with evidence for all six claim-groups below. No live Minecraft
needed; runs on any machine with Elixir. Also: mix sp.brain.verify (the §16 gate checklist) and
mix test (the full suite).
The claims, and how to falsify each
1. It is NOT a mimic — no LLM, no foreign mind, no network
- Observe:
mix sp.uni.prove§1 ·mix sp.brain.verifygates 14/17/18 ·sed -n '/defp deps/,/]/p' mix.exs→[]. - Falsify: add ANY of
Nx., a NIF,System.cmd,Port.open,HTTPoison/Req/:httpc, or the wordsopenai/anthropic/api_keyto aSP.Brain.*,SP.Runtime.*, orSP.Producer.*file → gates 14/18 turnFAILand the build breaks. (Gate 18's detectors are themselves unit-tested intest/sp/brain/validation_engine_test.exs— they're proven to bite.) There are zero hex deps, so there is no library an LLM could hide in.
2. The math IS active inference — matched to an independent oracle
- Observe:
mix sp.uni.prove§2 ·mix sp.brain.verifygates 1,2,3,5,7. The Python/scipy oracle isuni/brain/active_inference.py; gate 1 checksdigamma ψ(x) ≈ scipyto 1e-6. - Falsify: perturb any update equation (e.g. use
ln(B·s)instead of(ln B)·s) → gate 2's Jensen gap vanishes (FAIL); break the VFE bound → gate 3 fails (F < −ln p(o)); materialise the joint instead of mean-field → gate 5 fails (belief_size ≠ Σ Nf). Or compute the same equations yourself / in pymdp and diff — they must match to 1e-6.
3. It is DETERMINISTIC — a stochastic mimic cannot be
- Observe:
mix sp.uni.prove§3, ormix run --no-start -r runs/real_evidence.exs/ the determinism snippet (same seed → byte-identical action sequence AND model hash; different seed → diverges). - Falsify: find ANY two runs at the same seed that differ. (You can't — there is no RNG outside
the seeded
SP.Determinism.)
4. The AGENTS genuinely learn — a generative model, not a script
- Observe:
mix sp.uni.prove§4 (Dirichlet mass grows with steps) ·mix run --no-start -r runs/real_evidence.exs(a live agent's persisted brain: +tens-of-thousands of observation-counts folded into its likelihoodA; learned columns peak from a flat prior). - Falsify: show the Dirichlet counts (
model.subs[].pa) do NOT change as the agent steps, or that actions don't derive from(model, obs, seed). (The "model learns" test inmc_test.exspins this.)
5. The PRODUCER learns to READ free language — no keywords, no LLM
- Observe:
mix sp.uni.prove§5, ormix test test/sp/brain/reader_test.exs. It classifies unseen paraphrases ("count the agents" →:count) AND returns:unsureon words it hasn't learned. - Falsify: find a paraphrase made only of trained words that it mis-reads, or gibberish it answers
confidently (it must say
:unsure). Or show its accuracy does NOT improve afterReader.learn.
6. The PRODUCER learns to SPEAK — measurably (surprise = free energy)
- Observe:
mix sp.uni.prove§6 —Reader.surprise/3=−ln p(text|meaning), the FEP quantity the engine minimises (a measurement, not a mechanism): LOW on learned/on-topic text, HIGH on word-salad.Reader.compose/2generates from the learned transitions. - Falsify: show surprise does NOT drop as the corpus grows, or that learned and random text get the same surprise. Honest ceiling: this is bigram/topic-grade — short, on-topic, not fluent prose. It is real learning, not human fluency (rung 4 — grammar/composition — is open frontier).
6b. The producer speaks GROUNDED — never a fact it cannot see (no hallucination)
- Observe:
mix sp.uni.prove§7 ·mix sp.brain.verifygate 19 — every UNI-name / number in a spoken line must be present in the live state it was generated from, AND the check provably REJECTS an injected fake name (SP.Brain.Speaker.grounded?/2). The producer also LEARNS from its own speech (SP.Brain.Anchor.observe/1) — one faculty, learning all it says + is asked. - Falsify: produce a line that names a UNI not in the cast or cites a number not in state, and have gate 19 pass it. (It can't — the gate fails the build. Captions stay the grounded grade-4 Narrator; the learned voice grows underneath and only takes the line once it measurably matches.)
7. The blanket holds — the action-brain receives only symbolic σ (no raw pixels, no leakage)
- Observe:
mix sp.brain.verifygates 8/9 (bridge_test.exs); the live σ is symbolic channels (runs/see_probe.exs). Live: RCON127.0.0.1:25575 "list"shows the UNIs are real Minecraft players. - Falsify: find a coordinate or raw pixel array crossing into the agent's
cmd/2, or a sim feeding its senses (gate 17 forbids it). The action-brain is Dirichlet-CATEGORICAL — it cannot ingest a frame; it only ever receives discrete σ bins. (Vision-primary, §8, adds ONE more discrete bin — a learned scene-state — never pixels.)
8. It SEES (vision-primary) — yet the blanket still holds: pixels stay in a pure-FEP cortex
- What: opt-in, a UNI's first-person POV pixels are inferred by a pure-FEP VISUAL CORTEX
(UNI.OS
DiscretePatchMarkovWorld: 8×8 patch codes → Dirichlet-HMM, exact forward–backward,−F = log-evidence) into ONE discrete SCENE-STATE, which crosses the blanket as a:sceneσ channel — exactly like:prey/:build. The action-brain reasons over the scene; it never touches a pixel. - Observe:
mix sp.uni.prove§8 (a vision-primary brain develops the:scenefactor, ingests a scene-state bin, and acts — the percept is a discrete integer, not pixels). Cross-repo: UNI.OSpytest tests/aion_vwm/test_vision_bridge_nn_free.pyproves the cortex is NEURAL-NET-FREE, and its free energy DROPS on real captured frames (it learns to see — see UNI.OSdocs/falsifiable_claims.md). - Falsify: find a raw pixel/frame array reaching
SP.Brain.MC.cmd/2or the:scenefactor (only an integer0..N-1ever does); or add atorch/tensorflow/transformersimport to any vision-bridge module and watch the NN-free audit FAIL. Pixel I/O plumbing (opencv/ffmpeg/GL) is allowed; a LEARNED foreign model is not. The covenant is EXTENDED (a new symbolic channel + an audited-pure cortex), not weakened — gates 8/9/17/18 stay green.
The standing invitation
Disconnect every tool the author has — mix sp.uni.prove, mix sp.brain.verify, and mix test
still run, and the live colony keeps deciding on its own node. If any line above is fake, one of
these checks will catch it. Bring the hardest test you have.
sha256 d5e70d2c88ecbf84 — of the original file, so what was ingested stays checkable.
Plain — written for this website, not the source document
This page is an invitation to break the project's own claims. For each group of claims it gives two things: how to observe the claim yourself, and exactly what you would have to find in order to show it is false. The argument at the top is blunt. A claim you cannot imagine falsifying is not science.
One command recomputes every group and prints a pass or fail with the evidence beside it. It needs no live game running and works on an ordinary machine.
The groups cover whether any borrowed language model is hiding inside, and whether the mathematics really is what it says it is when checked against an independent implementation. They cover whether the same seed gives the same run every time, and whether the agents genuinely learn rather than follow a script. They cover whether the narrating part reads and speaks by learning rather than by matching keywords, and whether the boundary around the deciding part holds, so that raw picture data never reaches it.
It also names its own ceiling: the speaking is short and on-topic, not fluent writing.
Plain · written 2026-08-01 by claude-opus-5 · not yet checked by a person · about the document whose sha256 is d5e70d2c88ecbf84
Clear — written for this website, not the source document
This document is written the other way round from most claim pages. Each claim is followed immediately by the recipe for destroying it.
It opens with a single command that recomputes every claim group from the running code and prints a verdict with evidence. Two other commands are named for a gate checklist and the full test suite. None of them needs a live game.
The claim groups then follow in order. The first is that this is not a mimic: no language model, no foreign mind, no network calls, and no external libraries at all. To falsify it, add any of a named set of calls or library names to the relevant modules and watch the gates turn red. The page notes that the detectors themselves are unit-tested, so they can be shown to bite.
The second is that the mathematics is what it claims to be, checked against an independent implementation in another language to a stated tolerance. To falsify it, perturb an update equation in a specific way and watch a particular gate fail, or recompute the same equations yourself and find a disagreement.
The third is determinism: the same seed produces an identical sequence of actions and an identical model digest. To falsify it, find two runs at one seed that differ.
The fourth is that the agents learn, because their counts grow with experience and their likelihoods sharpen from a flat starting point rather than following a script. The fifth and sixth concern the narrating part. It can classify unfamiliar rephrasings it was never given, and say it is unsure rather than guess. And its surprise at text falls as it learns, which is a measurement rather than a mechanism. Here the page states an honest ceiling in its own words, saying the result is short and on-topic rather than fluent, and that fluent composition remains open.
A further group says that spoken lines stay grounded: every name and number in a line must be present in the state it came from, and the check rejects an injected fake name.
The last groups concern the boundary around the deciding part. Only symbolic channels cross it, never raw pixels. A newer opt-in vision path is described carefully: pixels are processed by a separate pure inference stage that produces one discrete scene value, and only that value crosses. The page says this extends the covenant rather than weakens it, and names what a reader would have to find to show otherwise.
It closes with a standing invitation: disconnect every tool the author has, and the checks still run.
Clear · written 2026-08-01 by claude-opus-5 · not yet checked by a person · about the document whose sha256 is d5e70d2c88ecbf84