docs: show the three-channel protocol split - #5
Merged
Conversation
Input, output and prompt control are separate channels, which the prose buried in a bullet list: frames go up a WebSocket, come back down a plain HTTP response, and the prompt touches neither. A table names the channels and a sequence diagram shows the orchestrator only forwarding once a session is reserved. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A semicolon ends a statement in mermaid, so the note text after it was read as a new one and the diagram refused to render. Line breaks and quotes go too, since none of them earn their risk in a note. Verified by rendering locally rather than by pushing and looking. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The row read "WebSocket + MJPEG", pairing a transport with a payload format and never mentioning HTTP, though two of the four endpoints are plain HTTP. Name what each carries, matching how the examples write it. Registration gains the health poll, which is half of what static means. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Every path shown needed a camera or a clip, so a machine with neither could not tell a broken stack from a missing /dev/video0. lavfi synthesises a source, which is also the quickest end-to-end check. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The protocol split is easy to forget and is core to driving the runner, but it was a four-item bullet list halfway down How it's wired.
Input, output and prompt control are three separate channels: frames go up a WebSocket, frames come back down a plain HTTP response, and the prompt is a third call that touches neither.
WS /api/ws/{uuid}GET /api/stream/{uuid}multipart/x-mixed-replace)POST /api/blendingGET /api/queuehealth_url, polled by the orchestratorTwo consequences now stated rather than implied: opening the output stream is what builds the pipeline and compiles the TensorRT engines, so nothing happens until you
GETit; and the shared{uuid}makes input and output one session in two directions, not a request and a response.A mermaid sequence diagram sits above the table showing the same thing over time: the orchestrator health-polls the app,
reserve_sessionhands back a proxied url and starts the meter, and everything after that is the app's own protocol with the orchestrator only forwarding. That is the property the repo exists to demonstrate, and it was previously only in prose.Docs only. No behaviour change, and prettier is clean.