RLM: Eager sandbox creation, conditional pip install#834
Merged
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
…andbox-creation-2026-02-05 merge in main
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.
Description
Two changes:
pip_install_packagesare only pip-installed if they don't already existBoth changes are meant to make mini-swe-agent-plus work with the RLM.
The eager sandbox startup is important because some models are too dumb to ever call the REPL, so no sandbox is ever created; but the tests rely on the sandbox existing. Eager Sandbox creation solves this issue.
The
pip_install_packagesthing is because the Docker images installed on the Sandboxes in mini-swe-agent-plus don't containpip, but do already have the requiredrequestspackage. The generalized fix is to check thatrequestsand allpip_install_packagesexist, one by one, and then install the ones that don't. This way, if a Docker image already contains a package, we don't re-install it.Type of Change
Testing
uv run pytestlocally.Checklist
Note
Medium Risk
Touches sandbox lifecycle and package installation paths, which can affect rollout startup/cleanup behavior and reliability across different images/environments.
Overview
Makes
RLMEnvstart the execution backend eagerly duringsetup_state(including sandbox/worker preparation) instead of waiting for the first REPL call, and adds best-effort cleanup if setup fails to avoid leaking active rollouts/tunnels/sandboxes.Updates sandbox package handling to only install
requests/pip_install_packageswhen they are not already importable in the image (using per-package import checks andpython -m pip), and adjustsrlm_secretsto pass puzzle files via a temporarycontext_dirrather than writing directly intorlm_fs_root. Docs are updated to reflect the eager startup and conditional installs.Written by Cursor Bugbot for commit 5fcaaa1. This will update automatically on new commits. Configure here.