UNI Universal Natural Intelligence

Wiki · The Colony & the Method

Generative model + invariants + RED discipline — the A4 backbone

The Colony & the Method · docs/specs/generative_model.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.

The shared substrate both A4 organs (curriculum_removal.md = survival-C; sensorium.md = binocular vision) sit on. Design-only; ship gate = a formal /lab-team-review MERGED VERDICT + owner go-ahead before code. Corrections folded from the 2026-07-11 review (docs/receipts/a4_lab_team_review.md).

0. The developmental ladder — MOTIVATION, not a realized substrate (blocker #10)

The cookbook ladder (L0 genome → L1 viability → L2 metabolism/interoception → L4 affect-as-precision → L5 sensorimotor → L6 perception) and the owner's "tail-up, deepest/slowest first, layers develop up/over at different frequencies" are the design intuition that orders the work: survival-C first (the base), vision after (a faster layer). This framing is aspirational, not current code — do not cite it as implemented:

  • Per-factor timescales (yuga 4:3:2:1): NOT implemented. precision.ex:44-49 uses GLOBAL constants (@rho/@kappa/@eps0/@g_min/@g_max) — no per-factor timescale, decay half-life, or count floor.
  • Cavity / deep-hierarchy (M22): NOT live. hierarchy2.ex:20 states verbatim it is "NOT wired into the live decide path." Binding consequence: neither RED-A nor RED-B may DEPEND on per-factor timescales or the cavity hierarchy. They currently do not — keep it that way. A real per-factor-timescale substrate is a separate, later, falsifiable rung with its own spec + RED.

The per-factor generative model (what IS live)

Mean-field multi-factor categorical active inference; the joint q(x)=Π_f q(x_f) is never materialised (factors.ex:14-17). Per factor f:

  • A (model.ex): likelihood, Ns columns of length No, column-major; Dirichlet pa = A·1 + 1 (model.ex:84,115), learned online (learn_a).
  • B: per-action transition B^u; identity ("states-persist") by default; non-identity only for the metabolism emptying/filling B (designer.ex:97-101, pb_seed).
  • C: action-independent per-factor log-preference; fixed per genome, never learned (no learn_c/pc).
  • D: uniform initial-state prior.
  • E: policy/habit prior (ln E added to the policy logits).
  • EFE (efe.ex:87-101): G(π) = −Σ_f [ epistemic_f + pragmatic_f ], with epistemic_f = H(qo_f) − E[H(o|s)]_f (+ parameter-novelty W when novelty_gain>0) and pragmatic_f = qo_f · C_f (efe.ex:99). Policy posterior q(π) = softmax(γ·(−G) + ln E).

No-smuggled-reward — the PRECISE statement (blocker #11)

The earlier spec said "C never enters A/B/D/policies" — that is false and self-undermining. C does enter the policy posterior: it is the pragmatic term qo·C at efe.ex:99, the ONLY C pathway. The correct, defensible invariant set:

  1. C is UN-LEARNED and disjoint from the A/B/D tensors (no learn_c, no pc; genome.ex:239). Preferences are a fixed genome property, modulated only transiently at runtime and stripped by demodulate (mc.ex:293-298).
  2. The epistemic + parameter-novelty channel is C-independent and decays monotonically to 0 as Dirichlet counts → ∞ (Novelty.w_a; invariant #4) — the no-smuggled-reward proof.
  3. No scalar-per-action term in the policy logits: u enters plan.ex only through the transition column B^u and the W_b novelty column, never as an action identity or per-action scalar (action-clone test).

Cross-cutting invariants + guards (both organs clear these)

# Invariant Guard
1 Byte-identical default/0 (additive+gated) decider_byte_identity_test.exs, mad<1e-12 vs golden over depth-5 Plan
2 No scalar-per-action action_clone_invariance_test.exs A1/A2/A3 on an informative-A factor
3 Additive + gated; new factors appended LAST and read by name, not tail position see sensorium.md §II.6 (motor_config reindex)
4 Monotonic decay of any info term (W→0 indep. of C) Novelty prior-floor; V5
5 G5b action-severed twin (ENERGY axis, ≥ replication set, p<0.05) un-passed ⇒ strike "survival/life" language
6 Claim fence — behaviour only, zero weight for experience/life LAB_PROTOCOL.md §VI
7 One-cure-at-a-time (paired arms differ in exactly ONE gated field) probe-asserted equality of all else
8 Thrice/independent validation (RCON + brain-probe + committed receipt) ≥ replication set
9 Held-once + CI-excludes-threshold; PASS/PARTIAL/FAIL/WITHHELD

RED discipline (shared by RED-A and RED-B) — corrections #6/#7/#8/#15

  • Activation gate FIRST, numeric (Phase-2's missing receipt). Before scoring any behaviour, a pre-registered NUMERIC bar must prove the organ is mechanistically live: RED-A = energy-posterior depletion slope + G5b twin p<0.05; RED-B = held-out cortex free-energy drop (nats) + :scene/:depth posterior concentration (A leaves uniform). Activation-miss ⇒ WITHHELD, never FAIL (Phase-2 §16 rule). (#6, #15)
  • Replication unit = distinct WORLD-SEED, ≥5 (blocker #7). N UNIs in a single forest seed (8675309) share terrain/mobs/weather — they are NOT independent replicates; a paired CI over them understates variance (the §16 "N=6, p≈0.73" artifact). Register ≥5 distinct world-seeds (or a clustered/within-world-correlated CI); the CI-excludes-threshold verdict (inv #9) is unsound until the replication unit is defined.
  • World-ceiling reference = ONE role, pinned before T0 (blocker #8). A non-learning reference controller (scripted/oracle, exact seed/world/body) establishes reachability. It is a ceiling (target unreachable by the reference ⇒ the negative is a WORLD ceiling ⇒ WITHHELD, re-scope the world) — NOT also the PASS floor. Pre-register the reference's exact spec + its single role + run it and pin its numeral before treatment T0.
  • Qualitative → numeric (blocker #6). Every "collapses / FE drops / accumulates" becomes a pre-registered numeral (FE-drop in nats, recognition-accuracy Δ, depth-discrimination AUC, twin p-value) touched held-once.
  • Continuous collector, pre-registered (blocker #15). Name the harness-managed RCON ≤10-min time-series + start/mid/end brain probes (survives context compaction) in each RED doc — Phase-2 froze ~day-2 and only the 26k-row series caught it.
  • Staging: RED-A verdicted → THEN RED-B live T0. Never combine (one-cure-at-a-time).
  • G6 is never weakened (owner R1) and is a SECONDARY, expected-FAIL observation for either single cure (survival-C-alone / vision-alone are "necessary not sufficient"); a G6 non-move is neither a pass nor "the cure failed" (Phase-2's exact mis-read).

sha256 691733832da90c0f — 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 the shared backbone two other design documents sit on. It is design only: nothing here ships without a formal review verdict and the owner's go-ahead.

Its first section is a warning against itself. A tidy developmental ladder is described as the design intuition that orders the work, and then labelled as aspirational rather than current code. Two specific pieces are named as not implemented, and one as not wired into the live path. The binding consequence is that neither planned experiment may depend on them.

The rest sets out what is actually live, part by part, and then states an invariant precisely because an earlier version of it was wrong. The old wording said preferences never enter the policy. That was false and self-undermining, so the page replaces it with three narrower claims that hold.

A final section fixes the experimental discipline, including that agents sharing one world are not independent replicates.

Plain · written 2026-08-01 by claude-opus-5 · not yet checked by a person · about the document whose sha256 is 691733832da90c0f

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 the shared substrate for two organ designs that are specified elsewhere. It is design-only, and its ship gate is a formal review verdict plus the owner's go-ahead before any code.

Its opening section is unusual and is the reason to read it. A developmental ladder, from the inherited base up through viability, metabolism, affect and perception, is described as the design intuition that orders the work. It is then explicitly labelled aspirational rather than current code, with an instruction not to cite it as implemented. Two specific items are named: per-factor timescales are not implemented, because the relevant code uses global constants, and a deeper hierarchy is not live, because its own source states verbatim that it is not wired into the live decision path. The binding consequence is stated: neither planned experiment may depend on either, they currently do not, and a real substrate for them would be a separate later step with its own specification and test.

The next section states what is live: a mean-field, multi-factor, categorical arrangement in which the joint belief is never materialised. Each part is named with its role. There is the likelihood and how its counts are seeded and learned, the transitions which are identity by default with one named exception, and the preferences which are fixed per configuration and never learned. Then the initial prior, the habit prior, and the expression that combines the information-seeking and preference terms into a policy score.

The following section is a correction of the document's own earlier wording, and it is the sharpest passage here. The earlier version said preferences never enter the policy, which the page now calls false and self-undermining, because preferences do enter through exactly one named pathway. Three narrower invariants replace it. Preferences are unlearned and kept separate from the learned tensors. The information channel is independent of preference and decays to nothing as counts grow, which is offered as the argument that no reward has been smuggled in. And no per-action scalar enters the policy, since an action can only act through its transition column.

A table then lists cross-cutting invariants that both organs must clear, each with the guard that checks it. They cover identical behaviour when switched off, no per-action scalar, additive gating with new factors read by name rather than by position, and decay of any information term. They cover an action-severed twin whose failure means striking the survival language, the limit on what may be claimed, one cure at a time, independent validation from more than one source, and the verdict vocabulary.

The final section fixes the experimental discipline, and its corrections are pointed. An activation gate must come first and must be numeric, so that a miss is recorded as withheld rather than as a failure. The replication unit is a distinct world seed rather than several agents in one seed, because agents sharing terrain and weather are not independent, and an earlier artifact is cited as the reason. A reference controller pins what is reachable, and is a ceiling rather than a floor. Every qualitative word must become a registered number. A continuous collector must be named in each document, because an earlier run froze part-way and only a long series caught it. Stages run one at a time. And one measure is named as secondary and expected to fail for either single cure, with a warning against reading its non-movement either way.

Clear · written 2026-08-01 by claude-opus-5 · not yet checked by a person · about the document whose sha256 is 691733832da90c0f