Add get_sandbox_request hook for per-rollout customization
#699
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.
Adds a
get_sandbox_request(state)method that subclasses can override to customize the sandbox request per-rollout.Use case: Environments with dynamic docker images per example (e.g., SWE-bench has different images per task).
Change:
get_sandbox_request()returnsself.sandbox_request.model_copy()setup_state()usesself.get_sandbox_request(state)instead ofself.sandbox_requestBackwards compatible - existing subclasses work unchanged.
Type of Change
Testing
uv run pytestlocally.Checklist
Additional Notes
Note
Enables per-rollout customization of sandbox creation without altering existing subclasses.
get_sandbox_request(state)insandbox_env.pyreturningself.sandbox_request.model_copy()(overrideable)SandboxEnv.setup_state()andRLMEnv._recreate_sandbox()to callget_sandbox_request(state)when creating sandboxesWritten by Cursor Bugbot for commit a9523de. This will update automatically on new commits. Configure here.