Repository navigation
feat(rl): version table, response stamping, and state-aware routing (M2) #2529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
key4ng
wants to merge
28
commits into
main
Choose a base branch
from
rl/m2-version-routing
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
7fce436
feat(rl): weight version ordering and the version-policy grammar
key4ng 89d08d6
feat(rl): version and control-state table with eviction sink and metrics
key4ng 7accd70
fix(rl): carry version_policy through the gateway and bindings config…
key4ng 6d36b08
fix(rl): derive reseed's model from the entry and serialize table writes
key4ng 76951ae
feat(rl): version-policy eligibility over the table, with a bench
key4ng f163f2d
feat(rl): control-state and version-source wire types; discovery read…
key4ng 0f2f7b3
feat(rl): version and state routes on /v1/rl, registered in the OpenA…
key4ng bb2ea58
feat(rl): observe versions and pause/sleep transitions on proxied con…
key4ng fead9ca
feat(rl): mixed-version probe for buffered generate bodies
key4ng a06ca3e
feat(rl): --rl-version-policy flag with Python parity
key4ng 25effb3
feat(policies): candidate filter slot ahead of the sticky override an…
key4ng 9c1752f
feat(policies): reset a worker's cache-aware entries without dropping…
key4ng 3f82457
feat(router): carry the routed worker as a response extension alongsi…
key4ng 214f1af
feat(router): stamp the routed worker on Responses API streams
key4ng a6bdb55
feat(rl): route around paused, asleep, and stale engines through the …
key4ng bad7896
fix(rl): hold the registries weakly from the eviction sink and table …
key4ng 6a9baee
test(rl): tighten the rolling-update and readiness assertions; cover …
key4ng 7edc867
feat(rl): stamp x-smg-weight-version and flag mixed-version generate …
key4ng 02ccdb2
feat(grpc): stamp the routed worker and report the live weight version
key4ng 3eba7a5
docs(rl): version and state client calls, coupling contract for M2, l…
key4ng 9415c5e
test(rl): e2e coverage for version stamping and paused-engine routing
key4ng 619c9df
fix(router): answer x-smg-target-worker against the caller's slice un…
key4ng 145f41a
refactor(rl): one validator for every weight version SMG accepts
key4ng f3eed10
test(rl): drive the gRPC pipeline through the app so the middleware runs
key4ng f896077
chore(rl): unroutable counter, lagged-resync log level, bench feature…
key4ng e446b3b
docs(rl): error codes, the routed-worker header/stamp pair, the refit…
key4ng 8d7ff36
docs(rl): record SGLang 0.5.19 drift seen in the M2 acceptance run
key4ng bfb1713
chore: merge origin/main into rl/m2-version-routing
key4ng File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
Document the RL control error responses.
The four RL control operations use
json_response, which declares only200. The worker handlers can return structured400responses for invalid bodies or versions and404for unknown workers. The fleet handlers can return structured400responses for invalid bodies, versions, selectors, or empty matches.Add an RL-specific shared schema that matches
RlError::to_json, then declare400for all four operations and404for the two worker operations. Do not reuse the commonErrorResponseschema because itserrorfield has a different shape.🤖 Prompt for AI Agents