Skip to content

Tighten v1 config, bindings, and handler typing#1362

Merged
willccbb merged 15 commits into
mainfrom
codex/improve-taskset-composability
May 14, 2026
Merged

Tighten v1 config, bindings, and handler typing#1362
willccbb merged 15 commits into
mainfrom
codex/improve-taskset-composability

Conversation

@willccbb
Copy link
Copy Markdown
Member

@willccbb willccbb commented May 13, 2026

Summary

  • Tighten v1 config surfaces with explicit pydantic-backed types for tasksets, harnesses, users, toolsets, and env args
  • Standardize binding/object boundaries so direct object binding is rejected and private objects stay behind object loaders
  • Reduce loose object usage by introducing named types and protocols for runtime handles, prompts, tool specs, and config refs
  • Deduplicate config, lifecycle, and serialization helpers into proper utility modules
  • Add and update tests/docs for config refs, [env.args], binding behavior, and subagent/rlm composability

Testing

  • ty check verifiers/v1 passed
  • ruff check passed
  • pre-commit run --all-files passed
  • Focused v1 config/runtime tests passed, including the extended config-extension suite

Note

Medium Risk
Medium risk because it adds new CI-enforced Semgrep rules and updates multiple shipped environment examples to the stricter v1 config/bindings/message typing, which could break downstream example usage if assumptions differ.

Overview
Adds a Semgrep policy gate to CI and pre-commit (new semgrep-v1-policy hook, style.yml job, and .semgrep/verifiers.yml rules) to enforce stricter v1 typing and API style (e.g., no raw Any/Mapping in v1/env code, typed get_messages, config-annotation constraints).

Tightens v1 environment/config patterns across docs and examples: updates load_environment signatures to require config: vf.EnvConfig, shifts examples from import verifiers.v1 as vf to import verifiers as vf, standardizes message access via vf.get_messages(...), and moves shared extraction logic into taskset objects + bindings (and updates docs to emphasize explicit rollout logic).

Refactors several example environments to match the new contracts (notably bfcl_v3, hello_rlm_v1 now using vf.RLM/vf.RLMConfig, hello_subagent_v1 object/binding usage, opencode_harbor simplified to direct vf.HarborTaskset/vf.OpenCode, plus OpenEnv prompt renderers converted to callable classes) and updates OpenEnv bundled projects to openenv-core>=0.3.0 and revised build guidance.

Reviewed by Cursor Bugbot for commit a490014. Bugbot is set up for automated code reviews on this repo. Configure here.

Comment thread verifiers/v1/utils/binding_utils.py
@willccbb willccbb force-pushed the codex/improve-taskset-composability branch from 018fae2 to 1afa6ab Compare May 13, 2026 10:43
Comment thread verifiers/v1/utils/binding_utils.py
Comment thread verifiers/utils/save_utils.py
Comment thread environments/dspy_rlm/dspy_rlm.py Outdated
Comment thread environments/bfcl_v3/bfcl_v3.py Outdated
Comment thread environments/mcp_search_env/mcp_search_env.py Outdated
Comment thread environments/math_python/math_python_v1.py Outdated
willccbb added 3 commits May 14, 2026 00:22
…-composability

# Conflicts:
#	tests/test_save_utils.py
#	tests/test_v1_runtime_lifecycle.py
#	verifiers/v1/packages/harnesses/opencode.py
#	verifiers/v1/utils/lifecycle_utils.py
Comment thread environments/hello_parallel_sandbox_v1/hello_parallel_sandbox_v1.py
Comment thread docs/environments.md Outdated
Comment thread environments/bfcl_v3/bfcl_v3.py
Comment thread environments/dspy_rlm/dspy_rlm.py Outdated
Comment thread environments/opencode_harbor/pyproject.toml Outdated
Comment thread environments/bfcl_v3/bfcl_v3.py
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 1235c06. Configure here.

Comment thread environments/opencode_harbor/opencode_harbor.py
@willccbb willccbb merged commit d968fe1 into main May 14, 2026
9 checks passed
@willccbb willccbb deleted the codex/improve-taskset-composability branch May 14, 2026 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant