Repository navigation
feat(cs): add async multi-turn agentic rollout - #361
Merged
Merged
Conversation
Restore token-aligned HTTP features and skip only model-truncated groups so async multi-turn GRPO can train and publish updated policies reliably.
…ixes Adopt the target branch's equivalent token-field append implementation to resolve the PR conflict.
Move recipe resource cleanup into RolloutResources while keeping GRPO training and policy publication explicit. Share Blackjack task metadata across local OpenEnv and official E2B environments, validate the task tool contract, and fail sandbox initialization explicitly. Add the E2B installation option, bilingual setup and extension guidance, and lifecycle, reward, and integration coverage. Validation: 92 focused CPU tests passed; new files pass Ruff and edited guide links are valid.
Keep OpenEnv action-schema discovery alongside the client lifecycle lock, and preserve both driver budget assertions and upstream bookkeeping regressions. Add HTTP multi-turn length-budget coverage across sync, async and streaming entry points. Validation: 416 focused CPU tests passed with no failures or skips. Full repository lint also fails on the upstream base; conflict-affected files introduce no new Ruff findings and unrelated formatting is unchanged.
Yunnglin
marked this pull request as ready for review
November 11, 2026 06:56
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
Move scored-group preparation and guarded operation waits into the SDK while keeping training calls and connection settings explicit. Cover batch and streaming admission/draining, preserve registered results across interruption, and retain resources when remote execution is unconfirmed. Include the pending rollout cleanup, transport validation hook, regression coverage and documentation changes. PPU validation will run against this commit after push.
hjh0119
approved these changes
Nov 11, 2026
Consolidate resource borrowing, stop and setup-failure cases; remove duplicate characterization and configuration checks. Replace validator call-count assertions with rejection-before-generation checks while retaining lifecycle, token-alignment and real-service acceptance coverage. Validation: 402 tests passed with zero failures or skips, down from 407 collected cases; net reduction of 166 lines across four test files. No production changes.
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
Enable client-orchestrated, text-only multi-turn GRPO over HTTP: run tool-using episodes with the shared rollout core, consume complete groups through
StreamingDriver, train the remote model, and publish immutable policy snapshots for subsequent episodes.Changes
ClientMultiTurnRolloutwithadmit/poll/collect/stopand scoped streaming cleanup while retaining synchronous and asynchronous batch calls. Preserve sampled token IDs, labels, masks and logprobs without re-encoding the conversation; reject unsupported media or divergent engine encodings.RolloutResourcesand scoped operation protection so examples call model methods directly without implementing cleanup or interrupt bookkeeping. Keep sampling concurrent with training, and do not automatically replay training operations.training_groupsfor complete-group membership, policy and training-data checks. Keep reward selection, GRPO advantages, backward, optimizer steps and publication/commit explicit in the cookbook.[e2b]dependency group and bilingual setup/extension guidance; retain the existing batch multi-turn example.Existing DataPlane/DataRef APIs and the paper TQ runtime are retained. This adds no server-side rollout service or HTTP/Wire protocol.
Validation
git diff --checkpass. This is not a claim that the entire repository is lint-clean.Remaining validation and boundaries