LIVE 002 HOST 2026 10 05 - SyberLabs/RISE GitHub Wiki
LIVE-002: remaining Composer acceptance — 2026-10-05
This session completes the remaining Composer control checks against exact main 44807f4a6ea1ece4af3da76d1f022648e7c2cd38. The controlled session began shortly before midnight on October 4, America/Los_Angeles, and continued on October 5. It follows the earlier partial acceptance; historical audio observations were not reused as this candidate's evidence.
Exact host candidate and scope
Temporary Worker rise-chatgpt-demo, deployment version 4868b704-e50e-48c6-95d0-8bf6ec64b06a, endpoint https://rise-chatgpt-demo.scarlson896.workers.dev/api/mcp. Its release marker returned the exact SHA above. Only rise_present was advertised. Shared inference, Realtime and Gate 0 were disabled. The existing signed-in developer-mode connection was refreshed, then a new controlled conversation was used. No provider credentials, microphone content, unrelated chats or account identifiers were recorded.
Real ChatGPT observations
Direct prompt: “Use RISE to explain why a black hole is black in three passages, about 80 plain words each. Use the attractor visual in every passage. This is a controlled Composer acceptance test: call rise_present once and leave playback to the reader.”
| Check | Observed result |
|---|---|
| Admission and reader Begin | rise_present produced ANSWER READY, title Why a black hole is black, and Begin. Nothing played before Begin |
| Audible narration | Begin started narration. The reader confirmed “Yes, I heard the narration” when asked about “Light normally lets us see things by traveling from an object to our eyes” |
| Interrupt and held passage | Held text was exactly “Light normally lets us see things by traveling from an object to our eyes.” Resume remained available |
| Calmer while held | Brightness receipts were 0.55, 0.45, then 0.40 from initial 0.65. The held text remained identical |
| Lower bound | Another calmer request reported “Visual brightness is already at its minimum”; held words stayed identical |
| Compound refusal | make it calmer and stop returned “Only ‘more vibrant’ or ‘make it calmer’ are available to change brightness.” Held text and prior brightness receipt stayed unchanged |
| Resume | Status became Speaking; the same reading advanced to “This does not mean a black hole is made of a black material.” A later Interrupt held those words |
| Stop | The stopped card appeared, explaining that reopening starts from the beginning |
| Reload | The redelivered result offered Begin again and did not autoplay |
| Early Interrupt during startup | Begin and Interrupt were activated in one browser-control call. The widget showed Starting and Held. After startup finished, the Chamber was present, held at the start with empty text, and Reading complete was not visible. Resume then began “A black hole is black because its gravity is so strong”; Stop subsequently ended it |
| Indirect request | “Give me a short spoken, visual explanation of tides through RISE. Start with an attractor passage and leave Begin to me.” selected rise_present and produced another Begin card, Why tides rise and fall |
Controls produced no new visible model turn. The no-sampling, malformed/refusal and duplicate-delivery guarantees are recorded separately through automated protocol/browser checks; visible host behavior alone cannot prove absence of every hidden bridge call. The Chamber's reader-owned “Look under this passage” gesture is separate from the removed model Dive interface.
Browser-control note: one Begin keyboard action timed out while only focusing the button; the unchanged Begin card was inspected before sending Enter to the focused control. State checks distinguish an attempted action from actual playback. The second early-startup sequence executed in one call and was explicitly observed after mounting.
Controlled local evidence
Before deployment, four affected unit files passed 217 tests: LiveHost (79), controls (70), Worker MCP (34), and MCP port (34). Production build succeeded. These cover admission/refusal, late/duplicate envelopes, local controls and startup regressions independently of the real host.
The speech-unavailable fallback is a separate controlled browser case. This machine successfully spoke in ChatGPT; its actual host was not falsely labeled speech-unavailable. The new browser case selects browser speech and makes voice discovery return an empty list. It asserts the visible “No voice is installed for this browser.” explanation, paced status, stable held text, Resume advancing the same passage, Stop, and zero model sampling. The focused case passed; the full MCP browser file then passed 22 of 22 tests. The roadmap tooling passed 11 tests, and the final graph validated 35 tasks. The required pre-push browser gate passed 42 tests, with 3 configured skips and no failures. A read-only review found no issues.
Exposure boundaries and cleanup
Actual HTTP checks confirmed ordinary /live had X-Frame-Options: DENY and frame-ancestors 'none'; only /live?embed=mcp was framable. Realtime returned 503 and all six retired inference routes returned 410. Tool discovery listed only rise_present.
After the host checks, the same temporary Worker was redeployed with workers_dev: false, preview URLs disabled, and MCP/Gate 0 false. Version be63ddfd-faa4-4fdb-91ee-cf01f65ae9b0 reported No targets deployed. During edge propagation an initial GET returned 405; subsequent MCP POST and root GET both returned 404. No new tunnel was used and production configuration was untouched. The inert demo Worker remains an administrator cleanup; it is not a serving endpoint.
The 30-minute shutdown watchdog was stopped after endpoint shutdown. Windows process inspection identified the exact live002-watchdog.mjs command line, then termination of that PID succeeded. No unrelated Node process was terminated.
This is engineer-controlled integration acceptance. It is not a first-time reader study, a mobile-host release gate, an audible-quality study, or a reciprocal realtime Live claim.
Published from docs/experiments/LIVE-002-HOST-2026-10-05.md. Edits made here are overwritten on the next push to main.