feat: VF_* env-var config overrides for the v1 CLIs#1954
Draft
mikasenghaas wants to merge 3 commits into
Draft
Conversation
Wraps pydantic_config.cli with env_prefix=VF in verifiers.v1.configs and routes the v1 CLI entrypoints through it: any config field is settable as VF_<PATH> (nesting levels joined with a double underscore), below TOML and CLI in precedence. The toolserver debug fallback in mcp/server.py stays unprefixed - it parses arbitrary user-defined Toolset/User configs in a process where VF_* control vars are set. Requires the pydantic-config env_prefix feature (PrimeIntellect-ai/pydantic-config#17); pin bump follows once the dev release is published. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Drops the configs shim wrapper - explicit beats implicit, and the prefix is visible where each CLI parses its config. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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
VF_*environment-variable config overrides for the v1 CLIs (eval,validate,serve,init,debug,replay): any config field is settable asVF_<PATH>, with nesting levels joined by a double underscore —VF_MODEL__NAME≙--model.name.VF_*env var > class default. Lookup is model-driven, so unrelatedVF_*variables are ignored; bad values are reported against the variable name (VF_MAX_TURNS (from env)).env_prefix="VF"explicitly at itscli(...)call sites (help + parse paths).verifiers/v1/mcp/server.pyintentionally stays unprefixed: it parses arbitrary user-defined Toolset/User configs in processes whereVF_CONFIG/VF_STATE_URL/VF_STATE_SECRET/VF_LOG_LEVELcontrol vars live, so field names could collide. (No current top-level config field collides with those names.)Depends on the
env_prefixfeature in PrimeIntellect-ai/pydantic-config#17. Theprime-pydantic-configpin bump (+ lockfile) follows as a commit on this branch once that PR merges andrelease-dev.ymlpublishes the dev version — until then this stays draft.Verification
uv run eval --helprenders normally;VF_NAME=env-smoke-v1populatesInitConfig, and CLI flags beat env values.uv run pytest tests/v1/test_configs.py tests/test_client_config.py— 14 passed.🤖 Generated with Claude Code