Merged
Conversation
c4d690d to
6c047c9
Compare
willccbb
reviewed
Jan 20, 2026
willccbb
approved these changes
Jan 21, 2026
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.
|
|
||
| def is_hub_env(env_id: str) -> bool: | ||
| """Check if env_id refers to a Hub environment (has owner/ prefix).""" | ||
| return "/" in env_id and not env_id.startswith("./") and not env_id.startswith("/") |
There was a problem hiding this comment.
Mismatch between is_hub_env and parse_env_id causes unhandled crash
Medium Severity
The is_hub_env function accepts any string containing / (that doesn't start with ./ or /), but parse_env_id requires exactly two parts when split by /. An input like "a/b/c" passes is_hub_env but causes parse_env_id to raise an unhandled ValueError. Both check_hub_env_installed and install_from_hub call parse_env_id after is_hub_env returns True without catching this exception, causing the CLI to crash with a traceback instead of a helpful error message.
Additional Locations (1)
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
This PR implements evaluating multiple environments in parallel via
vf-eval. For more details check the updated docs.This PR is mainly concerned with the config system. Cosmetic updates will be shipped separately, e.g see #735
Examples
By default, we still evaluate a single env with no changes to the interface
To configure multi-environment training, specify a comma-separated list of env ids
Note, that all environments use their default configuration. Since CLI arguments apply to all enviroments one can only change values for all environments at the same time. To have more fine-grained configurability, check below.
To configure multi-environment training with (potentially) different arguments for each specify a path to a TOML config file
Type of Change
Testing
uv run pytestlocally.Checklist
Additional Notes
Note
Enables running multiple environments in one invocation with config-driven control, plus install utilities and extensive tests/docs.
[[eval]]TOML configs (configs/eval/*.toml) parsed byload_toml_config()with validation and precedence; CLI positional becomesenv_id_or_config(single env or.tomlpath)EvalRunConfigandrun_evaluations()to execute multipleEvalConfigs concurrently; event-loop lag monitoring moved to the multi-run flowcheck_hub_env_installed()before runningverifiers.utils.install_utils(Hub/local/repo installers, package checks, ID parsing) andvf-installrewritten to use itdocs/evaluation.mdexpanded with multi-env usage, TOML schema, and configuration precedenceEvalRunConfig; minor casting/log-level tweaks inrlm_env.pyandasync_utils.pyWritten by Cursor Bugbot for commit 9252a96. This will update automatically on new commits. Configure here.