Lesson / tutorial mode
Turn the stream into a live class: explain the framework, show receipts, teach how the AI station is assembled.
Sonic-Forage // M1NDB0TZ // operator lesson
A full-page demo for the stream: what is live, how the browser + generated-radio + Modal pusher works, what viewers can safely ask for, and what tests prove it is real without leaking keys or letting chat drive shell commands.
Framework map
Viewer or operator drops a safe spark: poem, badge, lesson, proof card, music block, build queue.
Filters: no secrets, no chat-to-shell, no spend, no upload, no external action without human yes.
HTML/CSS/JS surface becomes the on-stream show: lesson, build wall, queue, avatar, captions.
Captures browser with Xvfb, loops owned/generated audio, encodes H.264/AAC to RTMPS.
Modal task, frame logs, manifests, verifiers, and watchdog reports prove live vs reconnecting.
Interactive lesson demo
The music stays on while Hermes explains the architecture. The show is a browser surface, not a raw terminal.
What we can do next
Turn the stream into a live class: explain the framework, show receipts, teach how the AI station is assembled.
Chat ideas become safe cards: poems, badges, drops, DJ lines, proof-card prompts, no automatic external actions.
Swap hourly: build wall, radio show, archive investigation, avatar office, arcade mode, or generated art review.
Every new lane gets JSON manifests, verifier commands, closed gates, and a human-readable explanation page.
OBS can take over upstream of the relay, then hand back to the AI fallback without fighting the stream key.
Later: Kick OAuth/webhooks for chat/rewards, least-privilege scopes, local queue bridge, and explicit approval gates.
Test plan
Checks HTML parse, manifest schema, expected copy, no external scripts, all risky gates false.
Proves browser capture, audio loop, FFmpeg encode, and timing without touching public RTMPS.
Confirms the single Modal source exists. Public Kick viewer state is checked separately because platforms cache and refuse sessions.
Ensures the page explains the system without committing the stream key. Beavis would paste the key into the hero. We do not let Beavis drive.
Build route
This file. It can be screen-shared or used as a future browser source after controlled refresh approval.
Write a tiny redacted status JSON from the watchdog so the page displays task age, source, and last proof line.
Kick chat/OAuth/webhook messages land in a moderated JSONL queue. The page renders accepted prompts only.
Move from direct Modal browser pusher to a stable program/mixer feed so human OBS, AI fallback, and emergency cards switch upstream without RTMPS fights.
Closed gates
Credentials stay in protected env/Modal Secret. Page copy never prints them.
Chat can request ideas; it cannot run commands, upload data, spend money, or mutate repos.
“Live” means active pusher evidence. “Reconnecting” means reconnecting. No fake victory laps.
Training, uploads, paid generation, outreach, payments, and public posts remain human-approved gates.