Wiki · The Colony & the Method
STUDIO SYSTEMS — the canonical map (read this FIRST, it overrides every older studio doc)
[redacted: category] — 6 private address, 1 internal hostname. Nothing else was altered. The document is otherwise exactly as it is written in the repository, and the sha256 below is of the original, so what was ingested stays checkable.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.
⚠️ P7 CORRECTION (2026-07-12) — read ADR-PROD-011 + ADR-PROD-012 first. After three days of failed attempts to run headless containerized OBS on GPU-less Linux (CEF software- renders black), the mixer returns to where it worked: THINKER (Windows 11, NVIDIA T1000 4 GB, LAN [redacted: private-address]) is the render + mixer + operator studio — PORTABLE (any GPU box, Mac/Win). node2
uni-lab-79740c(mesh [redacted: private-address]) is fan-out relay ONLY (uni-bcast-relaycopies THINKER's single encode to YouTube + Twitch via mediamtxrunOnReadytee). L1uni-lab(mesh [redacted: private-address]) is the ERP appliance with ZERO broadcast surface (invariant preserved from ADR-PROD-003; restated in ADR-PROD-012).⚠️ SECOND CORRECTION (2026-07-12, owner-set — supersedes any "colony source on THINKER" in this doc): the COLONY (Minecraft world + Phoenix/
SP.ProducerFEP brain +body.jsbots) runs on UNI-LAB ([redacted: private-address]), ROOTLESS, "on the CHIP" (UNI-LAB IS UNI-OS) — ALWAYS, NEVER on THINKER. THINKER CAPTURES the colony over the LAN and never hosts it. Canonical:CLAUDE.md, ADR-PROD-013,docs/UNIVERSE.md,docs/UNI_OS_COLONY_MIGRATION.md. Any reference in this doc's older body to a "System 2 mixer" on node2/L1, "the one true broadcast path", or a "colony source on THINKER" is STALE — trust the banner + those four.
Status: CANONICAL, 2026-07-11. Written after a night of repeated bring-up failures caused by two studio systems being conflated and overlay claims being made from process existence. If any other doc (RUNBOOK_STUDIO, STUDIO_OPERATOR_MANUAL, RESUME_*, RUNBOOK_LIVE_STREAM) contradicts this file, THIS file wins. Agents: the CLAIM RULES at the bottom are binding.
There are TWO studio systems. Never conflate them again.
System 1 — the v1 dev studio (viewer/) |
System 2 — the Production Platform (production/) |
|
|---|---|---|
| What it is | A fleet of loose Node/PowerShell processes in visible windows, launched by viewer\studio_up.ps1 on the Windows dev box (THINKER) |
A containerized broadcast platform: 5 Podman quadlets + 3 host systemd services on a UNI.OS node |
| Status (row STALE — see top banner + ADR-PROD-013) | Corrected: the COLONY runs on UNI-LAB (the chip), rootless — not here; THINKER is the portable studio (native OBS, not "dev-preview"). | Corrected: node2 = relay ONLY; the mixer/overlays stack there is RETIRED (verify_p1.sh is STALE against relay-only node2). Scenes/program (G2) HELD pending the colony survival gate. |
| Design docs | docs/RUNBOOK_STUDIO.md, docs/STUDIO_OPERATOR_MANUAL.md |
docs/UNI_PRODUCTION_PLATFORM.md (master) + production/docs/adr/ADR-PROD-001..010 |
| Role going forward (row STALE — see the top banner + ADR-PROD-013) | Old framing: "colony source + deprecated broadcast half on Windows." Corrected: the COLONY runs on UNI-LAB, rootless, on the chip; THINKER is the portable render/studio that captures it (native OBS, NOT deprecated). | Old framing: "one true broadcast path = containerized OBS mixer on node2." Corrected: node2 is the fan-out relay ONLY (uni-bcast-relay); the mixer/overlays there are RETIRED — render is native OBS on THINKER. |
System 1 service map (what studio_up.ps1 starts, in order — this is the "million cmd windows")
| service | what | port |
|---|---|---|
Minecraft paper.jar |
the world | :25565 (RCON :25575) |
Phoenix --sname uni (UNI_AUTOSTART=1) |
supervised SP.Show: Colony→Director→Producer→OverlayPublisher + /stream |
:4000 |
director.js (child of the beam — NEVER standalone) |
colony cam, raw 3D world feed | :3020 |
| OBS (profile UNI) | the dev vision mixer / compositor | ws :4455 |
overlay_server.cjs |
serves overlay HTML pages + state.json |
:8099 |
| MediaMTX | local restream ingest | rtmp :1935, api :9997 |
studio_stage.cjs |
builds the OBS scenes and puts the overlays INTO OBS | one-shot |
command_center.cjs |
operator console | :8098 (air-status :8097) |
publisher.cjs |
remote-source gateway | :8443 |
systray_watchdog.ps1 |
restarts dead node services | — |
The command-center preview/thumbnails — HONEST signals + a bounded live-feel (2026-07-15)
Canonical receipt:
docs/receipts/preview_honest_preregistration_2026-07-15.md(both cures PASS). Governing spec:docs/handoffs/STUDIO_AGENT_PREVIEW_THUMBNAIL_HONEST_2026-07-15.md.
Every "attached/LIVE" signal on the console is true-by-frame, and the live feel is delivered at a deliberately cheap cadence — never an all-card fast-poll.
- Honesty split (cure 1) + PIXEL truth (cure 3). Two orthogonal booleans, never collapsed into
one green "LIVE":
registered(a source/slot heartbeats — may be true while black) andrendering.renderingis measured by PIXELS, not bytes (cure 3, 2026-07-15): byte-count was a lie — a solid-black 720p JPEG is ~15 KB and a lower-third over a black camera beats any byte threshold (it labelled a black COLONY "live 3fps"). The honest test grabs a tiny uncompressed BMP and measures the non-black fraction of the camera region (top of frame; overlays sit in the excluded bottom 25%);rendering = frac >= 0.12withinRENDER_FRESH_MS=45000. Calibrated live: dead camera 0.00, live world 0.99. Onlyrenderingmay read LIVE.registered && !rendering→ "NO SIGNAL", never LIVE./api/thumbs+/api/thumbemitfrac/X-Frac; camstatus reads "publishing (H264)" (codec truth), never a bare LIVE. - COLONY world capture = OBS
cap_colonywindow-captures the:3020Prismarine-Viewer Chrome window (WGC, off-screen). Match it by the page titlePrismarine Viewer, never the transient host title Chrome shows mid-load ([redacted: internal-hostname]) — the title drifts after load and a stale match makes WGC capture pure black.studio_channels.ps1rejects host-titles (Host-Of). - The cadence (cure 2) — one scene live at a time, viewer-gated:
- every OTHER grid card = a reference still (
pollThumbs, 3 s) refreshed on demand / on program-change / by the 20-min safety sweep. Never fast-poll all cards. - armed PREVIEW = a ~3 fps live loop — the server grabs ONLY
operatorPreview, and ONLY while a console polled/api/thumbin the last 10 s (dormant otherwise). Measured 2.83 changes/sec. - clicked tile = the client fast-polls that ONE tile's
/api/thumbfor ~5 s, then falls back to the still. - PROGRAM = a 30 s heartbeat re-verifies the one on-air scene (a program going black flips to NO SIGNAL within ~30 s).
- FREEZE-ON-AIR: when the armed scene == program, the 3 fps loop skips it (the heartbeat owns it);
the preview monitor holds its last snap and shows
⏸ ON AIR — frozen. - the true 30 fps view stays OBS's own projector window (the
OpenVideoMixProjectorflyout, untouched).GetSourceScreenshotcosts ~4–6 ms (≈2 % of the 333 ms interval).
- every OTHER grid card = a reference still (
Gaia — an INDEPENDENT surface, not part of System 1 (added 2026-07-14, do not conflate)
viewer/gaia/** (gaia_server.cjs, port :8096/gaia) is a read-only, signal-only mirror of ALL tracks
(repo/git, gate ledger, infra registry, science-source excerpts, studio/colony probes, sessions, its own
code+MCP) — GAIA LAW: every output is a direct signal with provenance, never a summary/score/verdict; see
docs/GAIA.md. It is NOT started by studio_up.ps1 (that script has no reference to it) and is NOT
restarted by systray_watchdog.ps1 (the studio System-1 watchdog every row in the table above relies on).
It has its own fully independent lifecycle: a dedicated gaia_watchdog.ps1 supervises gaia_server.cjs +
the mind-capture loop, and boot-persistence is a separate per-user Startup-folder .vbs
(gaia_boot_install.ps1). Conflating Gaia's lifecycle with System 1's is exactly the class of error this
doc exists to prevent — keep them apart.
The Door — one-click triage entry, INDEPENDENT like Gaia (added 2026-07-14)
viewer/door.html, served by launcher.cjs at http://127.0.0.1:8090/door — the operator's one-click
entry: live flight check (every surface honestly probed, incl. a Gaia tile), self-diagnostic with
known-good remediations + a RESTORE (START STUDIO) action, recent lifecycle history, and the
Operator ⇄ UNI ⇄ Gaia resonance/drift panel with the next EFE correction. It survives an apocalypse
by construction: launcher.cjs is deliberately absent from studio_up.ps1 -Stop's kill lists; a
dedicated door_watchdog.ps1 (named-mutex self-dedup, UNI_DOOR_WATCHDOG) crash-restarts it;
boot-persistence is a per-user Startup .vbs (door_boot_install.ps1, proven only by the autonomous
arbiter door_boot_proof.ps1 after a real power-cycle); and the desktop/Start-menu icon targets
door_open.vbs → door_open.ps1, which cold-starts the whole chain (watchdog → launcher → door
window) from fully dead — falling back to the static door_offline.html triage page if node itself
is broken, so the door never dead-ends. Gate: door-boot-persistent in evidence/gates.ndjson
(crash-restart + dedup + one-click cold resurrection PROVEN 2026-07-14; reboot leg PENDING).
The lifecycle circle (added 2026-07-14, gate door-lifecycle-circle): viewer/door_lifecycle.cjs
gives every door a full state machine (open/closed x locked/unlocked + the HOW of all four
transitions), a circle invariant (open ⇒ ready-to-close, closed ⇒ ready-to-open), per-door
predictions, an append-only audit ledger, and ONE KEY open-all/close-all (/api/door/*). Close is
GRACEFUL everywhere on THINKER (/shutdown verbs + systray-first ordering + OBS WM_CLOSE-then-force;
OBS starts always self-heal .sentinel + --disable-shutdown-check, so the safe-mode dialog can
never block a bring-up). Remote doors (colony/world/cam/relay) are OBSERVE-ONLY by mandate — the
studio never impacts the UNIs; only Organic Operator Michael Polzin directs them. Gaia projects the
register verbatim as studio.doors.register. Receipt: docs/receipts/door_lifecycle_circle_2026-07-14.md.
Storm-breaker law (2026-07-14, after the OBS/cc-window spawn storm — gate door-storm-breakers,
Class A): (1) reads never actuate — polled endpoints (journey/state) are pure observers;
(2) one bring-up at a time — studio_up.ps1 self-guards with the OS mutex UNI_STUDIO_UP
(-MutexProbe drills it side-effect-free); (3) idempotent windows — the command-center Chrome
window opens only if none exists on its profile. Full message-flow diagrams incl. the incident:
docs/DOOR_LIFECYCLE_SEQUENCES.md; live view: the living map on /door. Both boot gates
(door-boot-persistent, gaia-boot-persistent) flipped to PASS on the real 2026-07-14 12:26
power-cycle — receipts in docs/receipts/stability_audit_2026-07-14.md.
The HUD — third INDEPENDENT surface, NATIVE .NET architecture (added 2026-07-14, rewritten native same day)
No HTML, no browser page. Two binaries: UNI.Hud.Service
(viewer/hud/native/UNI.Hud.Service/) — a genuine ServiceBase Windows Service (via
Microsoft.Extensions.Hosting.WindowsServices, no NSSM wrapper), JSON-only HTTP API on
loopback 127.0.0.1:8100 (not LAN-reachable — narrower than first drafted) — and
UNI.Hud.Widget (viewer/hud/native/UNI.Hud.Widget/) — the actual visible surface: a WPF
always-on-top panel, docks to a screen edge, tray-minimizable, Ctrl+Shift+H hotkey toggle.
The original NSSM/Node/hud.html design (ADR-PROD-015) was rejected by the operator as a
category error — a Windows Service runs in Session 0, which cannot paint pixels on the
interactive desktop; serving a browser page from a service conflated "headless backend" with
"visible always-on surface." See ADR-PROD-016 for the full rationale and the retirement.
Refreshes on the shared 3-second poll bus. Composes upstream truth: :8090/api/mission +
:8090/api/door/state + :8090/api/door/journey + :8096/api/gaia/drift + direct disk read
of evidence/gates.ndjson (HUD_REPO_ROOT env).
FIRST-OF-ITS-KIND in the repo: (a) real ServiceBase Windows Service UNI-HUD with zero
wrapper dependency, registered via sc.exe create directly
(viewer/hud/native/_swap_service_elevated.ps1); (b) first native WPF desktop app in the repo.
Runs as NT AUTHORITY\NetworkService — least privilege, genuinely deployed. The first
attempt failed (HttpListener returned Access-Denied under that account) because HTTP.SYS
requires an explicit URL ACL reservation for any non-admin account before it will bind a
prefix, even a loopback-only one; fixed same day via netsh http add urlacl plus a repo-root
ACL grant (viewer/hud/native/_urlacl_and_networkservice_elevated.ps1) — no rollback, live
StartName confirmed as NT AUTHORITY\NetworkService.
Two-leg supervision, no watchdog process for either binary: (1) SCM auto-restart
(sc.exe failure recovery policy) for the service; (2) per-user Startup .vbs
(hud_widget_boot_install.ps1) for the widget. Reboot-survival gate hud-boot-persistent is
a 5-clause AND on viewer/hud/native/hud_native_boot_proof.ps1 (native ImagePath
registered, real reboot post-dates current config, running+port-up, JSON envelope confirms
native instrument string, widget Startup entry present) — the OLD
viewer/hud/hud_boot_proof.ps1 checks watchdog-era artifacts and can never PASS for this
architecture; do not cite it.
GAIA-LAW positioning: the HUD lives OUTSIDE viewer/gaia/** (downstream reader, not inside the
write-fence). Voluntarily honors receipts-beat-rhetoric: any HUD-computed rollup shows underlying
counts alongside. Audience feed: endpoint-only staging — receiver
(POST /api/hud/audience/publish, sanitizer-vouched) + widget panel; YT/Twitch adapters land
in a later cure. This endpoint was completely broken (dynamic-binding bug on a JsonElement) from
first native ship until a 2026-07-14 ultracode review caught it — now fixed and
regression-tested (UNI.Hud.Service.Tests). Two-tier user-scope fix:
viewer/hud/native/hud_user_sight.ps1 runs in the operator's own logon session (never the
service, never a password) to see what a machine account structurally cannot (e.g. OBS crash
sentinels — live-confirmed invisible to a service account even with FullControl ACLs) and POSTs findings
to POST /api/hud/sight/push. Canonical doc: docs/HUD.md; ADRs:
production/docs/adr/ADR-PROD-015-uni-hud-independent-surface.md (original decision, partially
superseded) + ADR-PROD-016-uni-hud-native-dotnet-rewrite.md (the native pivot, current).
Conflating the HUD's lifecycle with System 1's is the same class of error
docs/STUDIO_SYSTEMS.md exists to prevent — keep them apart.
System 2 service map (the fixed contract — see UNI_PRODUCTION_PLATFORM.md)
uni-bcast-mixer (OBS headless, ws :4455) · uni-bcast-relay (MediaMTX :1935/:8890/:9997) ·
uni-bcast-overlays (static overlay pages + state, :8099) · uni-bcast-livekit (:7880/7881,
50000-50200/udp) · uni-bcast-captions (:8501) · host services uni-production-mcp (designed :8094; DEPLOYED :8095 on this node — :8094 is uni-glass-configure, answers 404),
uni-producer, uni-playout. Placement rule (binding, ADR-PROD-003): never on the ERP appliance
(uni-lab @[redacted: private-address]). Target: a non-ERP UNI.OS node.
P1 target decision (2026-07-11): uni-lab-79740c (mesh [redacted: private-address]) — the only non-ERP x86
UNI.OS box on the mesh. Deviation from "dedicated" documented honestly: it also hosts the
aion-*/orchestrate-api workload; encode floor is 720p30 x264 faster until a GPU is
confirmed (GAP G-ENC stays open).
P1 deploy log (2026-07-11, via uni-lab MCP, approval-gated):
- ✅ Phase C payload:
production/tree shipped to/var/lib/uni/broadcast-src/production(sha256-verified tarball over LAN); spool at/var/lib/uni/broadcast/{overlays/,broadcast.json,mediamtx.yml}. - ✅ Phase E sinks DEPLOYED + PROVEN:
uni-bcast-overlays(caddy, :8099 loopback — state.json + pages answering) anduni-bcast-relay(mediamtx, :1935/:8890/:9997 — API answering,uni/programpath configured, ready:false awaiting the mixer). Quadlets persist across reboot. - Deployed deviations (all documented in the shipped files): relay image
:latest-ffmpeg(plain image has no ffmpeg for the fan-out);EnvironmentFilewithout-prefix (node's quadlet generator rejects it) + real/etc/uni/runtime.envcreated (keys go THERE at go-live, never in git); mediamtxapipermission granted to anonymous on the LOOPBACK-only API (defaults 401). - ✅ Phase D/G1 MIXER BUILT + RUNNING (2026-07-11 ~21:00):
localhost/uni-bcast-obsbuilt on-node (two real fixes: ubuntu:24.04 stock UID-1000 user removed before useradd; CRLF stripped from obs-entrypoint.sh — tarball had carried the Windows working-tree checkout).uni-bcast-mixerquadlet Up, obs-websocket :4455 answering (426 Upgrade Required = correct). Deviations: relay target via host.containers.internal; SRT streamid corrected to publish:uni/program; shm 512m. - ✅ Phase F production-MCP RUNNING:
uni-production-mcp.serviceenabled, :8095 answering (401 token-gated) —:8094on this node isuni-glass-configure(404 impostor). One real fix (committed 698d4cc): fall back to _LocalAudit when lab-os audit predates the Audit class. - ⚠️ INCIDENT (repaired): /etc/uni/runtime.env was accidentally overwritten during deploy; restored from runtime.env.bak-pre-autoapprove-20260703 (token back). A UNI_APPROVALS_AUTOAPPROVE line added 2026-07-03 could not be recovered from the dead file — operator may need to re-add it.
- ⏳ Remaining: Phase G2 scene build (8 scenes + overlay sources + colony source over LAN — needs
the colony node's clean-gate pass), captions image, Phase H nginx
/prod-mcp+ nftables guest ports, Phase I PRIVATE smoke test (operator wires YT_KEY), digest pinning. - ❗ Never authored (pre-existing gap):
production/producer/run.py,production/playout/run.py— the show-runner/scheduler host services are design-only; P1 smoke needs only the MCP.
THE OVERLAY TRAP (the failure that happened five times — mechanically impossible to repeat now)
"Overlay server running" ≠ "overlays on the program." They are two separate facts:
overlay_server.cjs(:8099) only serves the overlay web pages. It puts NOTHING on the video.- Overlays appear ONLY when OBS composites them as browser-sources inside the active scene —
wiring done by a different program,
studio_stage.cjs(ovl_lower3rd/ovl_ticker/ovl_caption/ovl_onair→http://127.0.0.1:8099/*.html, layered over the camera capture). - The raw colony cam (
:3020, the "Prismarine Viewer" window) NEVER has overlays, by design — it is just the 3D world. If you are looking at:3020(or a window-capture of it outside OBS's program), the absence of overlays is expected, not a fault. The composed program lives in OBS (and:4200/stream— the UNI Producer's page,cap_overlook's target since 2026-07-15 — carries its own LiveView narration cards, a different, in-page overlay; the legacy:4000/streamis the v2 node's old narration surface, no longer on program).
The root-cause bug (FIXED 2026-07-11): studio_up.ps1 skipped the studio_stage.cjs stage build
whenever command_center.cjs was already running. Any re-bring-up with a surviving command center
started the overlay server but never wired the overlay sources into OBS → program with no
overlays that "looked handled." The guard was redundant anyway: studio_stage.cjs itself refuses to
touch OBS while it is actively streaming. The stage now builds on EVERY bring-up, followed by a
proof gate.
The proof gate: node viewer\verify_overlays.cjs — connects to OBS itself and verifies the
program scene contains all four ovl_* browser-sources, enabled, pointed at :8099, with :8099
actually serving state; writes viewer/overlay_proof.png (a real program screenshot). Exit 0 = proven.
Anything else = NOT up, no matter what processes exist.
CLAIM RULES (binding on every agent that touches the studio)
- Overlays: claim "overlays up" ONLY on
verify_overlays.cjsexit 0 + the screenshot. Never from "overlay_server started". Never from "studio_up exited 0". - Colony: claim a colony size ONLY when
/producer/health .colony_countequals RCONlistplayers minus Director. A mismatch = orphan bots or a Board-publish gap (the 2026-07-11 runaway: deep-body agents didn't publish to the Board → Producer saw 0 → spawn-spammed to the 20-cap). - LIVE: claim LIVE ONLY from a fresh
/producer/healthprobe you ran yourself (verdict=LIVE, driver=producer), plus rule 2 passing. - Public streaming:
golive CONFIRM/start_broadcastis HUMAN-typed, always (G-PA). Stream keys live in the operator's shell env only — never on disk, never in git, never held by an agent. - Lineages: nothing non-default deploys to the public-streamed colony without explicit owner go-ahead (live-stream guard), and never without the Board-publish path verified.
Deprecations (effective 2026-07-11)
runs/broadcast_bridge.exs— retired (OverlayPublisher is in-app, supervised).studio_up.ps1"skip stage build if command center running" — removed (the overlay trap).- The v1 Windows OBS/MediaMTX/fan-out chain as a production path — deprecated; production goes through System 2 on the broadcast node. v1 remains the colony source + dev preview.
- Any studio claim made from process existence instead of the gates above — banned.
sha256 4f4751bbbdb8978c — of the original file, so what was ingested stays checkable.
Plain — written for this website, not the source document
This page declares itself the one that counts, and says it overrides every older studio document on conflict. It was written after a night of repeated failures caused by two systems being confused with each other, and by claims being made from the mere fact that a process was running.
Its central content is a table separating those two systems, with what each is, what it is for, and which documents describe it. Two of its own rows are then marked stale by a banner above, and the corrected picture is given instead, which makes the page unusually honest about its own age. One piece of work is recorded as pending rather than done.
A later section describes a trap that caused the same failure five times, and what makes that class of failure impossible now.
The binding part is at the end: a numbered set of claim rules saying exactly what evidence is needed before saying overlays are up, before stating a colony size, and before saying anything is live.
Plain · written 2026-08-01 by claude-opus-5 · not yet checked by a person · about the document whose sha256 is 4f4751bbbdb8978c
Clear — written for this website, not the source document
This document declares itself the studio map that overrides the others and states that if any other studio document contradicts it, this one wins. Its own account of why it exists is candid: it was written after a night of repeated bring-up failures caused by two systems being conflated and by claims being made from the existence of a running process.
Two banners sit above the body and correct it. The first records that after three days of failed attempts to run a mixer on a machine without a graphics chip, the mixer returned to where it worked. It restates which machine renders, which one only relays, and which has no broadcast surface at all. The second, set by the owner, corrects where the colony runs and states that the other machine captures it over the network and never hosts it. Both banners then say which parts of the body below are stale, and two rows of the main table are individually marked as such with their corrected reading given in place. A document that annotates its own rows as out of date is doing something most do not.
The central content is a table separating the two systems: one a fleet of loose processes launched by a script on a desktop machine, the other a containerized platform of services on a node. For each, the table gives what it is, its status, the design documents that describe it, and its role going forward.
Service maps follow for both, listing what each part is and where it listens, which makes the page usable as a reference rather than only as an argument.
Three further sections introduce surfaces that are explicitly not part of either system and must not be conflated with them: an introspection instrument, a one-click triage entry point, and a glance surface with a native architecture. A section on the console's previews describes how a bounded live feel was achieved while keeping the signals honest.
One section is an incident pattern rather than a description. It names a trap that produced the same failure five times, and explains what now makes that whole class mechanically impossible rather than merely discouraged.
The binding part is the numbered claim rules, and they are the reason to read the page. Overlays may be called up only on a specific check passing together with a screenshot, never from a server having started or a script having exited cleanly. A colony size may be claimed only when two independent sources agree, and the failure that motivated the rule is described: a publishing gap made one side see nothing, so the system spawned repeatedly up to its limit. A live state may be claimed only from a fresh probe the claimant ran themselves, with the previous rule also passing. Going live is typed by a human, always, and keys never touch disk, version control or an agent. And nothing non-default reaches the streamed colony without an explicit go-ahead.
A closing list records deprecations, including one that bans any studio claim made from process existence instead of the gates above.
Clear · written 2026-08-01 by claude-opus-5 · not yet checked by a person · about the document whose sha256 is 4f4751bbbdb8978c