Published
Sam Saffron tries Jev as a hidden control plane for GPT Live in term-llm
Discourse cofounder Sam Saffron opened a term-llm pull request that classifies each GPT Live voice turn with TypeSafe's System One API in about 650 milliseconds, instead of a tool-calling fast-model turn. Shadow mode is on by default. Failures pass the utterance through unchanged.
Sam Saffron posted on September 19 that he is experimenting with Jev as “a hidden almost free control plane” for GPT Live. The link is pull request 1150 on SamSaffron/term-llm.
term-llm is Saffron’s terminal client for language models. GPT Live is the voice path. The PR adds a second live.Router backend: a typed classifier through TypeSafe’s System One API, using the existing classify.providers config. The write-up says that path triages each delegation in one request of about 650 milliseconds, instead of a tool-calling turn on a fast generative model.
Phase 1 labels:
steer(default, and every fail-open outcome)status(speak running and recent sessions)new_sessionswitch_session(still needs a model that can look sessions up)steer_nowandside(classified for the log, forced tosteeruntil Phase 2)
If a mixed navigation-plus-work utterance scores also_request at 0.5 or above, the whole thing passes through as steer. live.control_plane becomes off, agent, or classify. Confidence floors in the PR: status 0.60, new_session and switch_session 0.70, steer_now 0.80, side 0.85.
Shadow mode is on by default. It classifies and logs, then behaves as off: no resolver, no control authority, no advertised control-plane sentence. A missing classify provider at startup is a configuration error. A runtime outage fails open to steer. The decision log is a local SQLite file with a 256-entry drop-on-full queue; with log_state=false, tests are supposed to keep speech and titles out of the error column.
Evidence in the PR is a 30-prompt check dated September 19 on jev-latest: real user prompts from the session store, no session context, all of which should reach the model. Zero false switch_session or new_session above threshold. Navigation and status examples at or above 0.88 with untuned criteria. The author calls that anecdotal.
Phase 2, not in this PR, would own interrupt-and-deliver, side questions, mixed delivery, and a host-side search resolver. We did not run the client.
This site's reading
Editorial notes evaluating claims against primary sources, contextualizing findings alongside related implementations, and defining technical terms.
Verify
Saffron's September 19 post links pull request 1150 on SamSaffron/term-llm. The PR body, opened by sam-saffron-jarvis the same day, describes a second live.Router backend that triages each delegation with the existing classify.providers config in one request of about 650 ms. Labels are steer, status, new_session, switch_session, plus steer_now and side logged but forced to steer in Phase 1. Shadow mode defaults to true. Mixed utterances with also_request at or above 0.5 pass through as steer. A 30-prompt check on jev-latest (real session-store prompts, no session context, all of which should reach the model) reports zero false switch_session or new_session above threshold, and navigation and status examples at or above 0.88 with untuned criteria. The PR calls that anecdotal. We did not merge or run the branch.
Compare
Hono's semantic router matches HTTP descriptions with parallel nouls. LangChain's ModelRouterMiddleware picks a chat model; AutoModeMiddleware can refuse a tool call. This PR sits in front of a live voice session and is allowed to fail open to steer, which is the same "slower system still acts" split as Malis's Postgres overlay. Only switch_session still needs a model that can look sessions up. The 30-prompt sample is smaller than Every's 777 judgments or Bryo's 1,565 emails, and it has no published comparator model.
Terms
- Control plane
- In this PR, a classifier lane that labels each GPT Live utterance before the main model runs. Config values are off, agent, or classify.
- Shadow mode
- Classify and log the label, then act as if control_plane is off. The PR default for live.classify.shadow is true.
- Fail open
- Every error path returns the original input as steer, so a classifier outage does not drop the utterance.