UNI Universal Natural Intelligence

Wiki · The Colony & the Method

How to PROVE — or FALSIFY — the UNI

The Colony & the Method · docs/FALSIFICATION.md @ 44baf03d5041 (gen2-runtime) — opens the published snapshot ac338733bbba

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.verify gates 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 words openai/anthropic/api_key to a SP.Brain.*, SP.Runtime.*, or SP.Producer.* file → gates 14/18 turn FAIL and the build breaks. (Gate 18's detectors are themselves unit-tested in test/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.verify gates 1,2,3,5,7. The Python/scipy oracle is uni/brain/active_inference.py; gate 1 checks digamma ψ(x) ≈ scipy to 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, or mix 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 likelihood A; 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 in mc_test.exs pins this.)

5. The PRODUCER learns to READ free language — no keywords, no LLM

  • Observe: mix sp.uni.prove §5, or mix test test/sp/brain/reader_test.exs. It classifies unseen paraphrases ("count the agents" → :count) AND returns :unsure on 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 after Reader.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/2 generates 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.verify gate 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.verify gates 8/9 (bridge_test.exs); the live σ is symbolic channels (runs/see_probe.exs). Live: RCON 127.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 :scene factor, ingests a scene-state bin, and acts — the percept is a discrete integer, not pixels). Cross-repo: UNI.OS pytest tests/aion_vwm/test_vision_bridge_nn_free.py proves the cortex is NEURAL-NET-FREE, and its free energy DROPS on real captured frames (it learns to see — see UNI.OS docs/falsifiable_claims.md).
  • Falsify: find a raw pixel/frame array reaching SP.Brain.MC.cmd/2 or the :scene factor (only an integer 0..N-1 ever does); or add a torch/tensorflow/transformers import 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

Written for this website — not the document. This is a plain-language retelling, written to help you meet the document. It is not the source, and it is not evidence. It has not yet been checked by a person. (or choose Precise in the reading-level control above)

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

Written for this website — not the document. This is a clearer retelling, written to help you meet the document. It is not the source, and it is not evidence. It has not yet been checked by a person. (or choose Precise in the reading-level control above)

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