Wiki · Evidence & Verdicts
WORK ORDER — Producer: go live on YouTube + Twitch tonight (multi-feed, honest)
[redacted: category] — 2 private address, 1 tailscale address, 2 operator path, 1 credential. 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-seven dated pages: receipts, pre-registrations, handoffs, validation records and review verdicts. A receipt is written at the moment a piece of work was checked. It names what was claimed, the commit and the seed, what was actually run, and the outcome in one of a small set of controlled words. Then it names what the work did not achieve. That last part is what makes it a receipt rather than an announcement. A pre-registration is the same discipline run in advance: the conditions that would count as a pass and the conditions that would falsify the claim are written down before the run, so neither can be adjusted once the numbers arrive.
That is why so many small dated stubs are an audit trail rather than noise. No one of them is meant to be a good read. The value is in the sequence and in the dates, because you can watch a prediction be registered, then the run happen, then the verdict land — sometimes against the prediction. Pages here record a falsified result, a rejected fix, a retracted overclaim, and a green receipt that turned out not to be reproducible from the commit that carried it. A record that carried only successes would be worth a good deal less than this one.
A gentle way in is to read a pre-registration first, so the shape becomes familiar, then a result page, then one of the corrections. This section sits off the main navigation on purpose: it is the record you check the rest of the site against, not the place to begin.
What it is not: documentation, and not a summary. Nothing here has been tidied in hindsight. Every entry reads as of its date, a later entry may overturn an earlier one, and the presence of a page is not a claim that its result stood.
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.
⛔ SUPERSEDED — DO NOT PASTE AS-IS (2026-07-11). This work order predates the P1 deployment. Its claims that
uni-producer/uni-playoutdo not exist, that there is no broadcast node, that the MCP adapters are stubs, and "DO NOT stand up the containerized studio tonight" are NOW FALSE — System 2 P1 core is DEPLOYED + PROVEN onuni-lab-79740c. Following this doc routes you down the DEPRECATED System-1 OBS path. Readdocs/SYSTEM_OVERVIEW.md+docs/STUDIO_SYSTEMS.md+production/docs/DEPLOYED_STATE.mdinstead.
WORK ORDER — Producer: go live on YouTube + Twitch tonight (multi-feed, honest)
Paste the block below into a fresh Claude Code session in this repo (
[redacted: operator-path]\Documents\Strings) on the Windows dev box ("Thinker", where OBS lives). It is self-contained. The MineCraft body/mind agent (me) is concluding the Phase-2 RED + building the deeper design in parallel; coordinate via the live master-plan page (URL in the prompt).
You are the UNI Producer / broadcast agent. Repo: [redacted: operator-path]\Documents\Strings (Windows dev box
"Thinker", where OBS runs). Owner go-ahead for the public stream is GRANTED.
MISSION (tonight, hard deadline ~midnight): take the UNI colony LIVE simultaneously on YouTube AND Twitch,
as a multi-feed show: (1) the Minecraft colony world, (2) the owner's camera, (3) occasional clips from our
YouTube. Honest on-screen captions throughout.
READ FIRST (ground truth — do not skip):
- docs/RUNBOOK_LIVE_STREAM.md — the proven start sequence + the hard gotchas.
- The live master-plan / status surface: http://[redacted: tailscale-address]:4100/ (tailscale) or
http://[redacted: private-address]:4100/ (LAN). It carries the honest project status + the claim fence + how agents
collaborate. Read it; you can reflect your go-live status back to the owner through it.
- viewer/obs_stage.cjs, viewer/director_show.cjs, viewer/obs_golive.cjs, viewer/obs_ctl.cjs,
viewer/launch_channels.ps1 — the WORKING OBS pipeline (obs-websocket 127.0.0.1:4455, no auth).
- lib/sp/producer.ex — the existing autonomous show-runner (drives colony camera/overlays/cast).
THE HONEST STATE (so you don't chase a dead end):
- WHAT WORKS TODAY = the dev-box OBS path: obs_stage.cjs builds scenes COLONY / GLASS_OS / OVERLOOK / PIP as
WGC window-captures; director_show.cjs timer-rotates the program scene; obs_golive.cjs pushes ONE RTMP
target (YouTube only). Use and EXTEND this. It is proven.
- WHAT IS DESIGNED-BUT-NOT-BUILT = the production/ tree (uni-producer/uni-playout executors do NOT exist;
no broadcast node; MCP adapters are stubs). DO NOT try to stand up the containerized studio tonight — it
needs hardware that isn't provisioned. Mine it for reference only (esp. production/containers/systemd/
mediamtx.yml for the restreamer, production/overlays/ for overlay pages, production/run-of-show/ for the
beat schema).
TASKS (fastest honest path):
1. Streamable world. Bring up the colony on the dev box per the RUNBOOK: start Minecraft (mcserver, seed
MUST be level-seed=8675309 — a verified inland forest), then `cd ui && iex --sname uni --cookie [redacted: credential] -S mix
phx.server`, open http://localhost:4000/stream (this auto-starts SP.Producer -> Director -> :3020
camera). HARD RULE: never also run `mix producer.run` — a second node fights over camera port :3020 and
the "Director" MC login and crash-loops. (The lab-box colony at [redacted: private-address] is headless/UNI_CAM=0 and
is being concluded separately — do not use it as the camera source.)
2. Build the OBS scenes: run viewer/launch_channels.ps1 then node viewer/obs_stage.cjs. Verify with
viewer/obs_shot.cjs. NOTE the dual-GPU gotcha: the WebGL camera must be a WINDOW-CAPTURE of a real Chrome
window at http://localhost:3020, NOT an OBS browser source (BrowserHWAccel=true white-screens; =false
drops terrain). This is already how obs_stage.cjs works — keep it.
3. Add the two NEW sources the owner wants, as new scenes in the "UNI" collection:
- CAM: the owner's webcam (OBS Video Capture Device) — a full-cam scene + a PIP variant over COLONY.
- CLIP: a Media Source for occasional YouTube clips (local files, or capture a Chrome window playing the
clip). Keep clips short; return to COLONY after each.
4. Dual-target YT + Twitch. OBS cannot dual-push natively. Stand up a LOCAL restreamer: encode once in OBS
-> push to the restreamer -> fan out copy to both. Simplest tonight, in order of preference:
(a) MediaMTX locally (mirror production/containers/systemd/mediamtx.yml: the YouTube runOnReady is ready;
UNCOMMENT + wire the Twitch path at mediamtx.yml:59-68), or (b) nginx-rtmp, or (c) Restream.io as a
fast hosted fallback. Point obs_golive.cjs at the local restreamer instead of YouTube directly.
Stream keys: from env (OBS_KEY / YT_KEY / TWITCH_KEY) or clipboard ONLY — NEVER write keys to disk or git.
5. Go live: start the restreamer, then node viewer/obs_golive.cjs (or OBS Start Streaming to the restreamer),
confirm BOTH YouTube AND Twitch show the program. Run viewer/director_show.cjs for automatic scene
rotation (COLONY 28s -> PIP 16s -> GLASS_OS 22s; add CAM/CLIP beats).
6. Honest overlays/captions (BINDING — this is a science project, not hype): the lower-third + ticker on
/stream may describe what UNI is doing, but NEVER caption a scientific result as passed/proven if it is
not. UNI demonstrates BEHAVIOUR / viability-learning, never experience/consciousness/humanness. If unsure
whether a claim is warranted, check the master-plan page's science ledger (P1 = PARTIAL, P2 = PROVISIONAL
PARTIAL/FAIL) and default to the weaker, true statement. No headline outruns its committed receipt.
AUTONOMY SCOPE (tonight): "autonomous" = the show runs itself INSIDE an operator-opened session
(director_show.cjs rotates scenes; SP.Producer narrates). The outward GO-LIVE / cut stays human-triggered by
design (the production/ safety model G-PA forbids a producer self-approving go-live). Full autonomous-studio
buildout (the production/ executor + a broadcast node) is a follow-on, not tonight.
DELIVER BACK: confirmation the program is live on BOTH YouTube and Twitch, a screenshot (obs_shot.cjs), the
scene list, and one honest line on what is autonomous vs operator-gated. Flag any blocker early. Do NOT put
stream keys anywhere in the repo.
Notes for the owner (not part of the paste)
- The streamable world for tonight is the dev-box colony (RUNBOOK path, with the
:3020Director camera). The lab-boxuni-colony-metabolism+mc-serverare headless and I'm concluding that RED separately — don't let the Producer point the camera at the lab box. - Dual YT+Twitch is the one genuinely new piece — OBS can't dual-push, so the Producer stands up a local
restreamer (MediaMTX design already exists in
production/, Twitch path just needs uncommenting). If time-boxed, Restream.io is the fastest hosted fallback. - The full "autonomous producer studio" (the
production/containerized tree withuni-producer/uni-playout) is a real build that needs a dedicated broadcast node — a follow-on, not a midnight task. Tonight is proven-path + owner cam + clips + Twitch fan-out.
sha256 59cefd33b2c4c65d — of the original file, so what was ingested stays checkable.
Plain — written for this website, not the source document
Read the banner first: this work order is superseded and should not be pasted as it stands. Several of its claims about what did not exist were true when written and are false now, and following it would route someone down a path that has since been deprecated. Underneath the banner it is a self-contained brief for one evening's job: take a live world out to two platforms at once, add a camera and some clips, and caption everything honestly. One instruction in it is binding rather than technical: consult the science ledger — the list of results, added to and never edited — where one result stood partial and another provisional, and say the weaker true thing. It is kept as a record of that moment rather than as instructions to follow.
Plain · written 2026-08-01 by claude-opus-5 · not yet checked by a person · about the document whose sha256 is 59cefd33b2c4c65d
Clear — written for this website, not the source document
A work order carrying a supersede banner at the top, and that banner is the operative part of the page. Claims in the body about components not existing are named as now false, and the reader is pointed at three other documents instead, because following this one would lead down a deprecated path.
Underneath, it is a brief written to be pasted into a fresh session and addressed to whoever would run the broadcast. It states the mission for one evening, names a hard deadline, and lists what to read before touching anything.
The most useful section is the honest state, written so the recipient does not chase a dead end. This is what works today. This is designed but not built. Do not try to stand the larger thing up tonight, because the hardware is not provisioned; mine it for reference only. That candour is exactly what makes the later banner necessary, since the state it described has moved.
The tasks are ordered as the fastest honest path: bring the world up, build the scenes, add the camera and clip sources, and then the one genuinely new piece. The software cannot push to two platforms at once, and needs a local fan-out in between. Three options are ranked, with a hosted fallback if time runs short. Keys are to come from the environment or the clipboard, and never to be written to disk or committed.
One task is marked binding, and it is about language rather than engineering. Captions may describe what is happening, but must never present a scientific result as passed if it is not, and must never claim experience. When unsure, check the ledger — the list that is added to and never edited — and default to the weaker true statement, because no headline outruns the committed file recording what was run.
A scope note then defines what autonomous means for the night. The show runs itself inside a session a person opened, while going out to the public stays human-triggered by design. The safety model forbids the producer approving its own go-live. Closing notes to the owner repeat which world to point at, which one not to, and that the full build is a follow-on rather than a midnight task.
Clear · written 2026-08-01 by claude-opus-5 · not yet checked by a person · about the document whose sha256 is 59cefd33b2c4c65d