[5/5] fix(session): validate published rollout weights - #1807
Open
ashtonchew wants to merge 5 commits into
Open
Conversation
Contributor
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
This was referenced Jul 26, 2026
ashtonchew
marked this pull request as ready for review
July 26, 2026 21:11
ashtonchew
requested review from
Shi-Dong,
Zhichenzzz,
fzyzcjy,
guapisolo,
jybsuper,
maocheng23,
yueming-yuan and
yushengsu-thu
as code owners
July 26, 2026 21:11
Contributor
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
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.
Summary
defaultroutes before checking the response's weight version.Context
Session rollouts reconstruct samples from OpenAI-compatible response records instead of passing through the direct generation response helper changed in PR #1806. Without validation at this ingress, a checkpoint-backed actor response carrying
weight_version=defaultafter publication could bypass the direct rollout guard.This final layer reuses the same route-aware validator during session sample conversion. It closes the alternate ingestion path without adding another publication state machine or changing recovery behavior.
Closes #1724.
Stack goal: This five-PR sequence addresses issue #1724: recovered updatable engines remain unroutable until actor-weight synchronization succeeds, and both rollout ingestion paths reject evidence that this invariant was violated.
All public drafts target
mainbecause external-fork branches cannot be selected as base refs in this repository. This matches the existing Miles external-stack convention: descendants appear cumulative until their parents merge, then GitHub removes shared commits from later diffs. Merge in order. If a parent is squash- or rebase-merged and commit identities change, rebase the descendants onto the updatedmainbefore continuing.Description
Sample.defaultroute to the configured default model.Validation
Layer checks
default, omitted model, and malformed model values.5fdef0252e. Stage B reported 152 passed and 34 skipped.Stack-head confirmation
The final stack head was tested against baseline
52403d0e3bwith the same controlled asynchronous held-transfer witness:default;Both GPU jobs completed successfully. Four separate failure-path checks confirmed that transfer and registration failures quarantine the affected replacement. PR #1805 contains the full setup, result table, interpretation, and proof boundary.
Proof boundary
The paired GPU run proves the recovery publication invariant on the exact baseline and fixed commits. It is a focused recovery test, not a long-running or fully asynchronous trainer test.
Risks and Follow-ups
Malformed session records with a non-string model now fail during sample conversion. This is intentional: accepting them would make route-specific publication validation ambiguous.