feat!: remove the legacy (v0) stack - #2480
Merged
Merged
Conversation
Remove verifiers.legacy and everything that existed to serve it: the package-root alias finder that answered v0 modules at their historical top-level paths (verifiers.envs, verifiers.types, import verifiers as vf), the verifiers/cli host-plugin surface wrapping the legacy scripts, the vf-* console entry points, the top-level legacy test suite, the legacy docs, and the legacy-only dependencies (openai-agents, aiolimiter, setproctitle, requests) and extras (rg, browser, notebook). The v1 stack is unaffected: nothing under verifiers/v1 or environments/ imported the legacy surface. The three harness markers that the legacy root conftest registered (claude_code, openclaw, hermes_agent) move to the pyproject markers list; CI drops the legacy pytest step and the HF tokenizer cache key now hashes uv.lock alone. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This is a repository-wide breaking removal of the v0 Python API, CLI entry points, dependency extras, tests, and documentation. Existing consumers using legacy imports or commands will fail after installation, making the compatibility and release impact too significant for automatic approval. You can add or adjust custom eligibility rules. Learn more. |
hallerite
requested review from
mikasenghaas and
xeophon
and removed request for
mikasenghaas
August 31, 2026 18:34
xeophon
approved these changes
Aug 31, 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.
Follow-up to #2478, which removed the legacy
RendererClient. v0 was already deprecated ("will be fully removed in a future release") — this removes the rest of it.Summary
verifiers/legacy/— the whole v0 package (envs, rubrics, parsers, clients, scripts, serve, gepa, …).verifiers/__init__.py: theLegacyAliasFindermeta-path finder that answered v0 modules at their historical top-level paths (verifiers.envs,verifiers.types,import verifiers as vf), plus the__getattr__/__dir__forwarding. The root module now only carries__version__.verifiers/cli/— the host-application plugin surface (Prime plugin contract) whose commands wrappedverifiers.legacy.scripts.*, and thevf-eval/vf-gepa/vf-init/vf-install/vf-setup/vf-build/vf-tuiconsole scripts.tests/*.pyexercised the v0 API;tests/v1/is untouched. The three harness markers the root conftest registered (claude_code,openclaw,hermes_agent) move to the pyproject markers list (--strict-markersneeds them for the v1 e2e matrix).openai-agents,aiolimiter,setproctitle,requests(main),nest-asyncio/reasoning-gym/stagehand/python-dotenv/nltk/textarena(dev group), and therg/browser/notebookextras.ta/harbor/modal/openenv/nemo-gymstay — v1 tasksets and environments use them.docs/legacy/removed;/v0/*and/legacy/*redirect to/overview.uv.lockalone (it hashed the renderer test files deleted in chore: bump renderers to 0.1.11; drop legacy RendererClient #2478).[tool.ty.overrides]for the legacy composable tasksets removed.The v1 stack is unaffected: nothing under
verifiers/v1orenvironments/imported the legacy surface (verified by sweeping for bothverifiers.legacyand the aliased top-level module paths).Verification (re-run after rebasing onto current main)
import verifiers, verifiers.v1clean on the synced env🤖 Generated with Claude Code
Note
High Risk
This is a breaking removal of the entire v0 public API, CLI entrypoints, and documentation; downstream code still on
verifiers.envs/vf-*scripts will fail until migrated to v1.Overview
This PR fully removes the deprecated v0 stack (
import verifiers as vf,verifiers/legacy/, and the package-root alias machinery). The rootverifierspackage now only exposes__version__; all supported APIs live underverifiers.v1.Packaging & tooling: Drops legacy console scripts (
vf-eval,vf-gepa, etc.) and the Prime CLI plugin that wrappedverifiers.legacy.scripts. Trims legacy-only dependencies and extras (rg,browser,notebook, …) while keeping extras still used by v1. Removes[tool.ty.overrides]for legacy composable tasksets.Tests & CI: Deletes the entire top-level
tests/*.pysuite (v0-only); CI no longer runs the oldtests/pytest job and runs v1 tests only with standalone coverage. HF tokenizer cache keys hashuv.lockonly. Pytest markers for harness e2e axes move intopyproject.toml(replacing the deleted rootconftest).Docs: Removes
docs/legacy/and the Mintlify Legacy (v0) nav group;/v0/*and/legacy/*redirect to/overview, which now states v0 has been removed.Reviewed by Cursor Bugbot for commit debe784. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Remove the legacy (v0) stack and its import aliasing
verifiers.legacymodule and removes theLegacyAliasFinder/__getattr__fallback in verifiers/init.py that mappedverifiers.<name>toverifiers.legacy.<name>.vf-eval,vf-gepa,vf-init,vf-install,vf-setup,vf-build,vf-tui) and runtime deps (openai-agents,requests,aiolimiter,setproctitle) from pyproject.toml./legacy/*paths to/overview.tests/v1.verifiers.<name>→verifiers.legacy.<name>) or the removed console scripts will break; the package no longer pulls in the stripped dependencies at install time.Macroscope summarized debe784.