feat!: drop v0 env compat - #3226
Merged
Merged
Conversation
The verifiers legacy bridge is removed upstream, so every v0 code path goes: - configs: drop the [legacy] block, is_legacy, the legacy/env conflict validators, and resolve_legacy_env_kwargs from EnvConfig and EnvServerConfig; env-server TOMLs no longer carry a legacy section - env-server entrypoint: always serve a taskset (no bridge fork) - orchestrator: Env always loads its taskset client-side (info()/ run_group()/task_idx addressing removed); requires_group_scoring and its consumers (variable permit costs, group-scored partial drops, run_group fan-out) are gone — one permit is one episode everywhere - TrainSource rows always carry the task; the pending-draw head-of-line hold and per-env permit costs are gone (next_example takes no args) - GroupState.task is required; task_idx derives from task.data.idx - env taskset ids drop the -v1 suffix across configs, examples, docs, skills, and the workspace members (companion renames in verifiers and research-environments) - port the qwen3-vl features-payload test from the v0 RendererClient to renderers.client.generate (the path the v1 train client drives) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…and relock deps/verifiers -> feat/legacy-package (6a8de86), deps/research-environments -> feat/drop-v1-suffix (27ed790). Re-pin to the merged commits before landing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
v0 code stays in place upstream; the branch now only removes the v1 legacy bridge and the -v1 suffixes (lock unchanged). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Submodules resolve to the feature-branch heads, which contain main's bumps (verifiers model-call timeout fix, research-environments toolset register() fix — the latter now merged into the rename branch). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
deps/verifiers -> main 91d4f69e6 (#2303 merged); research-environments -> the rename branch head with the automationbench_env collision fix. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The first dev release carrying the v0 deprecation (verifiers#2303); submodule follows main. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ts parent Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
mikasenghaas
marked this pull request as ready for review
August 11, 2026 01:44
Picks up the model-catalog revert (verifiers#2314). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
samsja
approved these changes
Aug 11, 2026
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
Companion to the verifiers v1-legacy-bridge removal and the research-environments
_v1rename. prime-rl drops every v0 compat path:EnvConfig/EnvServerConfiglose the[legacy]block,is_legacy, the legacy/env conflict validators, andresolve_legacy_env_kwargs; the launcher no longer copies alegacysection into per-source env-server TOMLs;resolve_env_configno longer injectsmax_seq_leninto legacy kwargs.serve_env(config_data=..., max_concurrent=...)) — the bridge fork is gone.Envalways loads its taskset client-side —info(),run_group(), andtask_idxaddressing are gone with the protocol.requires_group_scoringand all its consumers go: permit cost is always one episode (acquire()/release()are unit-valued,InflightRollout.rollout_countremoved, therun_groupfan-out inhandle_completed_rolloutremoved), the group-scored-partial drop policy in the train sink is gone, and the eval sink's buffered-count carve-out simplifies.task;next_example()takes no permit argument, and the pending-draw head-of-line hold (which only existed for multi-permit group draws) is removed —pending_envleaves the checkpoint state (old checkpoints load fine; the key is ignored).GroupState.taskis required;task_idxderives fromtask.data.idxfor error markers.-v1suffix acrossconfigs/,examples/,k8s/, docs, skills, and the uv workspace members;proposer_solver_v1import in the algorithm config follows.RendererClienttorenderers.client.generate— the path the v1 train client actually drives.deps/verifiersanddeps/research-environmentssubmodules to the merged companion commits, floorsverifiers>=0.3.1.dev14, and relocks. Unit suite passes against the renamed packages (596 tests; thetests/unit/trainmodules need theflash-attnextra and were skipped locally).Breaking
[legacy]config blocks are rejected: any TOML withlegacy = { id = ... }under a train/eval source or env-server config fails validation. Migration: port the env to a v1 taskset and setenv = { taskset = { id = "<id>" } }.-v1in all configs (e.g.reverse-text-v1→reverse-text).TrainSource.state_dict()no longer recordspending_env; resuming an old checkpoint ignores the key (only ever set for group-scoring v0 envs).Both companions are merged:
deps/verifierspins maind53ab56f(verifiers#2303 + #2311 + the #2314 catalog revert, released as0.3.1.dev14— the floor here) anddeps/research-environmentspins mainc0a0d1d7a(research-environments#754).🤖 Generated with Claude Code
Note
High Risk
Removes legacy env and task id compatibility across orchestration, configs, and checkpoints (
pending_envignored on resume); misconfigured or unmigrated TOMLs will fail validation or resolve wrong tasksets at runtime.Overview
Breaking change that aligns prime-rl with verifiers v1-only envs and renamed tasksets: configs must use
env.taskset.id(no[legacy]), and ids likereverse-text-v1becomereverse-texteverywhere (configs, examples, docs, workspace members).Orchestrator is simplified to a single dispatch path: tasksets load client-side, each rollout is one
runwithtask_data(notask_idx,run_group, orrequires_group_scoring). Permit accounting is one episode per in-flight task; train/eval sources no longer gate scheduling on permit cost or hold apending_envdraw.Config/runtime:
EnvConfig/EnvServerConfigdrop legacy fields and validators; env-server and RL launcher TOMLs no longer emitlegacy.hierarchical_grpoimportsproposer_solverinstead ofproposer_solver_v1.tasks_per_minuteis documented as a global dispatch limit.Deps/tests:
verifiers>=0.3.1.dev14, workspace env package paths renamed; Qwen3-VL e2e test usesrenderers.client.generateinstead of v0RendererClient.Reviewed by Cursor Bugbot for commit 2583a10. Bugbot is set up for automated code reviews on this repo. Configure here.