Make live OpenRouter streaming gate router-safe #138
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/prolog-rlm!138
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/46-router-safe-live-streaming"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #46.
Problem
The live streaming gate conflated two things:
openrouter/freeselected obeyed the requestedSTREAM_OKsentinel.A healthy free-router request can satisfy every transport invariant and still be routed to a model that answers differently. That is model-quality evidence, not a broken streaming runtime.
Change
STREAM_OKprompt;done, finish reason, and usage shape;openrouter/free, treat sentinel compliance as non-blocking quality evidence;OPENROUTER_TEST_MODELpins any non-router model, keep sentinel-sensitive acceptance;stream_sentinel_requiredandstream_sentinel_compliantalongside the selected underlying model;Reconciliation
The branch was merged forward onto current
mainafter #116 landed. Final head4bc03752fdf96f96b9ff85a6c21d8a07cf412f7fis mergeable and the PR remains a single-file live-gate change.Exact-head validation
PASS on final head:
live_chain_stream_openrouter;Live streaming evidence from the exact-head run:
openrouter/free;poolside/laguna-xs-2.1:free;The raw CI log preserves the selected underlying model and both sentinel-quality fields. A future healthy free-router route that ignores the sentinel will therefore stay observable without falsely failing the transport gate.
Non-goals
No fake provider, no credential changes, no provider-error weakening, and no relaxation of actual stream/termination assertions.