verifiers 0.1.15.dev436__tar.gz → 0.1.15.dev438__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/PKG-INFO +1 -1
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/ARCHITECTURE.md +1 -1
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/GUIDE.md +4 -4
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/eval/resume.py +7 -7
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/eval/runner.py +1 -1
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/output.py +15 -11
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/replay.py +8 -2
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/configs/debug.py +1 -1
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/configs/eval.py +1 -1
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/configs/replay.py +1 -1
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/codex/harness.py +1 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/rlm/harness.py +1 -1
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/legacy.py +1 -1
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/state.py +1 -1
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/trace.py +3 -3
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/.gitignore +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/LICENSE +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/README.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/pyproject.toml +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/AGENTS.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/README.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/conftest.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_browser_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_build_script.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_client_config.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_composable_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_env_group.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_env_server.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_environment.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_environment_extra.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_envs.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_error_chain.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_eval_display.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_eval_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_gym_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_imports.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_init_script.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_install_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_interception_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_logging.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_math_rubric.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_message_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_openenv_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_parser.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_path_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_renderer_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_rubric.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_rubric_group.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_sandbox_debug_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_save_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_setup_script.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_think_parser.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_tool_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_tool_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_types.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_wordle_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/test_xml_parser.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/conftest.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/fixtures/echo_multi_v0.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/fixtures/echo_v0.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/test_configs.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/test_envs.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/test_graph.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/test_judges.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/test_legacy.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/test_scoring.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/test_trace.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/AGENTS.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/cli/tui.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/clients/client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/clients/openai_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/clients/openai_completions_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/clients/openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/clients/renderer_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/decorators.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/AGENTS.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/env_group.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/environment.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/README.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/README.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/task.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/README.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/openseeker/README.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/openseeker/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/openseeker/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/README.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/api_tools/tool_pdf.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/eval_toolkit.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/evaluator.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/llm_client/base_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/prompts/cache_prompts.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/cache_filesys.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/load_eval_script.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/misc.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/tool_visit.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/utils/url_tools.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/obj_task_eval/verification_tree.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/open_ended.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/quest/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/README.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/redsearcher/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/search/search_tasksets.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/gym_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/integrations/README.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/integrations/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/integrations/openenv_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/integrations/textarena_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/multiturn_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/python_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/sandbox_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/singleturn_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/envs/tool_env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/errors.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/gepa/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/gepa/adapter.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/gepa/config.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/gepa/display.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/gepa/gepa_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/parsers/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/parsers/parser.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/parsers/think_parser.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/parsers/xml_parser.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/rubrics/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/rubrics/judge_rubric.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/rubrics/math_rubric.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/rubrics/rubric.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/rubrics/rubric_group.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/scripts/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/scripts/build.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/scripts/eval.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/scripts/gepa.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/scripts/init.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/scripts/install.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/scripts/setup.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/scripts/tui.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/serve/client/env_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/serve/server/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/serve/server/env_router.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/serve/server/env_server.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/serve/server/env_worker.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/serve/types.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/types.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/async_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/client_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/config_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/data_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/display_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/env_config_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/env_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/error_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/eval_display.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/eval_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/heartbeat.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/import_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/install_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/interception_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/logging_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/message_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/metric_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/path_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/pricing_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/process_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/response_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/save_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/serve_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/thread_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/tool_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/usage_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/utils/version_utils.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/README.md +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/serve.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/clients/config.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/configs/init.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/configs/validate.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/decorators.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/env.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/episode.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/errors.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/graph.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harness.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/default/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/default/harness.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/default/program.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/null/program.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/judge.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/loaders.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/mcp/user.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/push.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/retries.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/runtimes/docker.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/scoring.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/task.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/tasksets/lean/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/tasksets/lean/scoring.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/tasksets/lean/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/types.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/utils/install.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/v1/utils/memory.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.1.15.
|
|
3
|
+
Version: 0.1.15.dev438
|
|
4
4
|
Summary: Verifiers: Environments for LLM Reinforcement Learning
|
|
5
5
|
Project-URL: Homepage, https://github.com/primeintellect-ai/verifiers
|
|
6
6
|
Project-URL: Documentation, https://github.com/primeintellect-ai/verifiers
|
|
@@ -69,7 +69,7 @@ several. A branch *is* a training sample: concatenating its nodes' `token_ids` r
|
|
|
69
69
|
end to end: each surviving context window is just another root→leaf path.
|
|
70
70
|
|
|
71
71
|
`Trace.to_record()` (`trace.py`) is the JSON record dump (`model_dump(mode="json")`) for
|
|
72
|
-
`
|
|
72
|
+
`traces.jsonl` / W&B tables, minus the per-node training tensors (`MessageNode.multi_modal_data`,
|
|
73
73
|
`routed_experts`, via `_NODE_DUMP_EXCLUDE`): those hold raw numpy bytes that can't round-trip JSON
|
|
74
74
|
(the dump raises `UnicodeDecodeError` on real expert ids) and bloat every line. Computed views
|
|
75
75
|
(`reward`, `branches`, `num_turns`, per-span `duration`) are pydantic properties, so they're never
|
|
@@ -369,7 +369,7 @@ Good to know:
|
|
|
369
369
|
- **What lands on the trace:** the weighted verdict in `trace.rewards[<reward key>]`; rubric's
|
|
370
370
|
raw per-criterion verdicts in `trace.metrics`; every call's `JudgeResponse` in
|
|
371
371
|
`trace.info["judge"]` with its tokens + cost in `trace.extra_usage` (shown as `+judge` in the
|
|
372
|
-
dashboard). All persisted to `
|
|
372
|
+
dashboard). All persisted to `traces.jsonl`.
|
|
373
373
|
|
|
374
374
|
Writing your own pluggable judge is the same recipe as any plugin: a package exporting a `Judge`
|
|
375
375
|
subclass via `__all__` that implements `score` — declare any subset of `task` / `trace` / `runtime`
|
|
@@ -468,7 +468,7 @@ class SWETaskset(vf.Taskset[SWETask, SWEConfig]):
|
|
|
468
468
|
`trace.info` is a free-form, **JSON-serializable** dict for per-rollout artifacts that are neither a
|
|
469
469
|
reward nor a metric — the diff above, captured logs, command output, file paths. Write to it from
|
|
470
470
|
`finalize` or a `@reward`/`@metric` by assigning into the dict; it is persisted with the trace
|
|
471
|
-
(dumped to `
|
|
471
|
+
(dumped to `traces.jsonl` and sent over the wire), so every value must be JSON-serializable — a
|
|
472
472
|
non-serializable value fails the trace dump rather than being silently dropped.
|
|
473
473
|
|
|
474
474
|
```python
|
|
@@ -815,7 +815,7 @@ client-side so each node carries the exact `token_ids` / `mask` / `logprobs` (th
|
|
|
815
815
|
— point it at a vLLM engine with `--client.base-url`.
|
|
816
816
|
|
|
817
817
|
**What it writes** (into `--output-dir`, default `outputs/<taskset>--<model>--<harness>/<uuid>`):
|
|
818
|
-
`config.toml` (the resolved config, re-runnable via `@ config.toml`), `
|
|
818
|
+
`config.toml` (the resolved config, re-runnable via `@ config.toml`), `traces.jsonl` (one full
|
|
819
819
|
trace per line, appended as each rollout finishes — durable mid-run), and `eval.log`.
|
|
820
820
|
|
|
821
821
|
**`--dry-run`** writes `config.toml` and exits (resolve + validate, no run). **`--resume
|
|
@@ -869,7 +869,7 @@ uv run debug swebench-v1 -n 1 --runtime.type prime --script-path ./inspect.sh
|
|
|
869
869
|
| `--runtime.type` | `docker` | runtime for setup + the debug action |
|
|
870
870
|
| `--timeout.setup` / `--timeout.total` | None | per-task wall-clock caps for `setup` and the debug action |
|
|
871
871
|
| `-n`/`--num-tasks`, `-s`/`--shuffle`, `-c`/`--max-concurrent` (128) | | task selection + concurrency |
|
|
872
|
-
| `-o`/`--output-dir` | fresh debug run dir | where `config.toml` and `
|
|
872
|
+
| `-o`/`--output-dir` | fresh debug run dir | where `config.toml` and `traces.jsonl` are written |
|
|
873
873
|
|
|
874
874
|
Each saved trace has command/script metadata, exit status, elapsed time, timeout/error fields,
|
|
875
875
|
and the full stdout/stderr under `trace.info["debug"]`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Resume an interrupted eval: re-run only the rollouts a previous run didn't finish.
|
|
2
2
|
|
|
3
|
-
A run writes `config.toml` + `
|
|
3
|
+
A run writes `config.toml` + `traces.jsonl` into its output dir. `--resume <dir>` reloads
|
|
4
4
|
that config verbatim (so it takes no other flags) and writes back into the same dir, running
|
|
5
5
|
only the rollouts still owed: the *missing* ones (never written — the run was interrupted) and
|
|
6
6
|
the *errored* ones (written with an error). Good rollouts are kept; errored ones are dropped
|
|
@@ -16,7 +16,7 @@ from pathlib import Path
|
|
|
16
16
|
|
|
17
17
|
from pydantic_core import from_json
|
|
18
18
|
|
|
19
|
-
from verifiers.v1.cli.output import read_traces
|
|
19
|
+
from verifiers.v1.cli.output import CONFIG_FILE, TRACES_FILE, read_traces
|
|
20
20
|
from verifiers.v1.configs.eval import EvalConfig
|
|
21
21
|
from verifiers.v1.state import state_cls
|
|
22
22
|
from verifiers.v1.task import WireTask
|
|
@@ -41,8 +41,8 @@ def split_resume(argv: list[str]) -> tuple[Path | None, list[str]]:
|
|
|
41
41
|
|
|
42
42
|
def load_resume_config(resume_dir: Path) -> EvalConfig:
|
|
43
43
|
"""Rebuild the run's `EvalConfig` from its saved `config.toml`, pointed back at its own
|
|
44
|
-
output dir so the resumed rollouts append to the same `
|
|
45
|
-
config_path = resume_dir /
|
|
44
|
+
output dir so the resumed rollouts append to the same `traces.jsonl`."""
|
|
45
|
+
config_path = resume_dir / CONFIG_FILE
|
|
46
46
|
if not config_path.exists():
|
|
47
47
|
raise SystemExit(
|
|
48
48
|
f"--resume: no config.toml in {resume_dir} - not an eval output dir"
|
|
@@ -81,7 +81,7 @@ def plan(
|
|
|
81
81
|
# Retain only the offsets resume can reuse; trace payloads stay on disk.
|
|
82
82
|
selected = set(selected_idxs)
|
|
83
83
|
by_idx: dict[int, list[int]] = defaultdict(list)
|
|
84
|
-
for offset, idx, errored in _read_results(resume_dir /
|
|
84
|
+
for offset, idx, errored in _read_results(resume_dir / TRACES_FILE):
|
|
85
85
|
if idx in selected and not errored and len(by_idx[idx]) < num_rollouts:
|
|
86
86
|
by_idx[idx].append(offset)
|
|
87
87
|
keep: list[int] = []
|
|
@@ -102,9 +102,9 @@ def plan(
|
|
|
102
102
|
|
|
103
103
|
|
|
104
104
|
def rewrite_results(resume_dir: Path, keep: list[int]) -> None:
|
|
105
|
-
"""Replace `
|
|
105
|
+
"""Replace `traces.jsonl` with just the kept (good) traces; resumed rollouts append. Via a
|
|
106
106
|
temp file + atomic rename, so an interrupted resume can't corrupt the prior good results."""
|
|
107
|
-
path = resume_dir /
|
|
107
|
+
path = resume_dir / TRACES_FILE
|
|
108
108
|
tmp = path.with_suffix(".jsonl.tmp")
|
|
109
109
|
if not keep:
|
|
110
110
|
tmp.write_bytes(b"")
|
|
@@ -123,7 +123,7 @@ async def run_eval_server(config: EvalConfig) -> list[Trace]:
|
|
|
123
123
|
"""Eval through the env-server worker pool (`--num-workers > 0`). Spawns the pool
|
|
124
124
|
(works for v1 and the v0 bridge), then drives rollouts by task idx over an
|
|
125
125
|
`EnvClient` — the same path prime-rl trains through, so it exercises the
|
|
126
|
-
router + workers end-to-end. Output matches `run_eval` (config.toml +
|
|
126
|
+
router + workers end-to-end. Output matches `run_eval` (config.toml + traces.jsonl)."""
|
|
127
127
|
import multiprocessing as mp
|
|
128
128
|
from functools import partial
|
|
129
129
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""On-disk output:
|
|
1
|
+
"""On-disk output: traces.jsonl (one full trace per line) + config.toml.
|
|
2
2
|
|
|
3
3
|
The trace is the full data dump — written verbatim, consumed by the platform
|
|
4
4
|
(visualization) and prime-rl (training). config.toml is the run's resolved EvalConfig,
|
|
@@ -7,7 +7,7 @@ its own output. Aggregates (avg reward, etc.) are cheap to recompute from result
|
|
|
7
7
|
they aren't stored.
|
|
8
8
|
|
|
9
9
|
The runner writes `config.toml` once up front (`save_config`) and then appends each
|
|
10
|
-
trace to `
|
|
10
|
+
trace to `traces.jsonl` as it completes (`append_trace`), so a long run's results are
|
|
11
11
|
durable as they land rather than only at the end.
|
|
12
12
|
"""
|
|
13
13
|
|
|
@@ -22,6 +22,12 @@ from verifiers.v1.configs.eval import EvalConfig
|
|
|
22
22
|
from verifiers.v1.trace import Trace
|
|
23
23
|
from verifiers.v1.utils.aio import run_shielded
|
|
24
24
|
|
|
25
|
+
TRACES_FILE = "traces.jsonl"
|
|
26
|
+
"""Filename each run's full per-rollout traces are written to (one JSON trace per line)."""
|
|
27
|
+
|
|
28
|
+
CONFIG_FILE = "config.toml"
|
|
29
|
+
"""Filename a run's resolved config is written to (re-runnable via `@ config.toml`)."""
|
|
30
|
+
|
|
25
31
|
|
|
26
32
|
def output_path(config: EvalConfig) -> Path:
|
|
27
33
|
"""Where this run writes: `outputs/<taskset>--<model>--<harness>/<uuid>` (or the explicit
|
|
@@ -38,35 +44,33 @@ def write_config(config: BaseModel, results_dir: Path) -> Path:
|
|
|
38
44
|
nulls TOML can't represent."""
|
|
39
45
|
results_dir.mkdir(parents=True, exist_ok=True)
|
|
40
46
|
toml = tomli_w.dumps(config.model_dump(mode="json", exclude_none=True))
|
|
41
|
-
config_path = results_dir /
|
|
47
|
+
config_path = results_dir / CONFIG_FILE
|
|
42
48
|
config_path.write_text(toml)
|
|
43
49
|
return config_path
|
|
44
50
|
|
|
45
51
|
|
|
46
52
|
def save_config(config: BaseModel, results_dir: Path) -> None:
|
|
47
53
|
"""Set up the run's output dir: write `config.toml` and start a fresh (empty)
|
|
48
|
-
`
|
|
54
|
+
`traces.jsonl`. Call once up front, before traces start landing."""
|
|
49
55
|
write_config(config, results_dir)
|
|
50
|
-
(results_dir /
|
|
51
|
-
""
|
|
52
|
-
) # fresh; appended to as traces complete
|
|
56
|
+
(results_dir / TRACES_FILE).write_text("") # fresh; appended to as traces complete
|
|
53
57
|
|
|
54
58
|
|
|
55
59
|
def write_trace(results_dir: Path, trace: Trace) -> None:
|
|
56
60
|
"""Serialize and append one trace in the worker thread."""
|
|
57
61
|
data = TypeAdapter(type(trace)).dump_json(trace, exclude_none=True)
|
|
58
|
-
with (results_dir /
|
|
62
|
+
with (results_dir / TRACES_FILE).open("ab") as f:
|
|
59
63
|
f.write(data + b"\n")
|
|
60
64
|
|
|
61
65
|
|
|
62
66
|
def read_traces(results_dir: Path, trace_type: type) -> list[Trace]:
|
|
63
|
-
"""Load a run's saved traces from `
|
|
67
|
+
"""Load a run's saved traces from `traces.jsonl`, typed as `trace_type` — the inverse of
|
|
64
68
|
`write_trace`. Used by `replay` to re-score finished rollouts (pass the taskset's typed
|
|
65
69
|
`Trace[...]`, or `Trace[WireTask, ...]` to read any taskset's traces without importing it).
|
|
66
|
-
Streams line-by-line so a large (multi-GB)
|
|
70
|
+
Streams line-by-line so a large (multi-GB) traces file isn't loaded into memory at once."""
|
|
67
71
|
adapter = TypeAdapter(trace_type)
|
|
68
72
|
traces: list[Trace] = []
|
|
69
|
-
with (results_dir /
|
|
73
|
+
with (results_dir / TRACES_FILE).open(encoding="utf-8") as f:
|
|
70
74
|
for line in f:
|
|
71
75
|
if line.strip():
|
|
72
76
|
traces.append(adapter.validate_python(json.loads(line)))
|
|
@@ -23,7 +23,13 @@ from pydantic_config import cli
|
|
|
23
23
|
|
|
24
24
|
import verifiers.v1 as vf
|
|
25
25
|
from verifiers.v1.cli.dashboard.replay import ReplayProgress, replay_dashboard
|
|
26
|
-
from verifiers.v1.cli.output import
|
|
26
|
+
from verifiers.v1.cli.output import (
|
|
27
|
+
CONFIG_FILE,
|
|
28
|
+
append_trace,
|
|
29
|
+
read_traces,
|
|
30
|
+
save_config,
|
|
31
|
+
write_config,
|
|
32
|
+
)
|
|
27
33
|
from verifiers.v1.configs.replay import ReplayConfig
|
|
28
34
|
from verifiers.v1.state import state_cls
|
|
29
35
|
from verifiers.v1.task import WireTask
|
|
@@ -138,7 +144,7 @@ def main(argv: list[str] | None = None) -> None:
|
|
|
138
144
|
cli(ReplayConfig) # full, typed pydantic-config option help
|
|
139
145
|
return
|
|
140
146
|
source = Path(argv.pop(0)) # the finished run dir to replay
|
|
141
|
-
config_path = source /
|
|
147
|
+
config_path = source / CONFIG_FILE
|
|
142
148
|
if not config_path.exists():
|
|
143
149
|
raise SystemExit(f"{USAGE}\nno config.toml in {source}")
|
|
144
150
|
|
|
@@ -46,7 +46,7 @@ class DebugConfig(BaseConfig):
|
|
|
46
46
|
output_dir: Path | None = Field(
|
|
47
47
|
None, validation_alias=AliasChoices("output_dir", "o")
|
|
48
48
|
)
|
|
49
|
-
"""Where to write `config.toml` and `
|
|
49
|
+
"""Where to write `config.toml` and `traces.jsonl`. None = a fresh per-run dir."""
|
|
50
50
|
|
|
51
51
|
@property
|
|
52
52
|
def name(self) -> str:
|
|
@@ -61,7 +61,7 @@ class EvalConfig(EnvServerConfig):
|
|
|
61
61
|
output_dir: Path | None = Field(
|
|
62
62
|
None, validation_alias=AliasChoices("output_dir", "o")
|
|
63
63
|
)
|
|
64
|
-
"""Where to write the run (config.toml +
|
|
64
|
+
"""Where to write the run (config.toml + traces.jsonl). None = a fresh per-run dir
|
|
65
65
|
under `outputs/<env>--<model>--<harness>/<uuid>` (so runs never overwrite each other)."""
|
|
66
66
|
resume: Path | None = Field(None, exclude=True)
|
|
67
67
|
"""Set by `--resume <dir>`: re-run only the rollouts a previous run left missing or
|
|
@@ -49,7 +49,7 @@ class ReplayConfig(BaseConfig):
|
|
|
49
49
|
output_dir: Path | None = Field(
|
|
50
50
|
None, validation_alias=AliasChoices("output_dir", "o")
|
|
51
51
|
)
|
|
52
|
-
"""Where to write the re-scored run (config.toml +
|
|
52
|
+
"""Where to write the re-scored run (config.toml + traces.jsonl). None = a fresh per-run
|
|
53
53
|
dir under `outputs/<taskset>--replay/<uuid>` (so a replay never overwrites the source run)."""
|
|
54
54
|
|
|
55
55
|
@property
|
|
@@ -140,7 +140,7 @@ class RLMHarness(Harness[RLMHarnessConfig]):
|
|
|
140
140
|
env["RLM_MCP_CONFIG"] = json.dumps(
|
|
141
141
|
{"mcpServers": {name: {"url": url} for name, url in mcp_urls.items()}}
|
|
142
142
|
)
|
|
143
|
-
return await runtime.run_program([RLM_BIN, prompt], env)
|
|
143
|
+
return await runtime.run_program([RLM_BIN, "--", prompt], env)
|
|
144
144
|
|
|
145
145
|
@metric
|
|
146
146
|
async def rlm(self, trace: Trace, runtime: Runtime) -> dict[str, float]:
|
|
@@ -435,7 +435,7 @@ async def run_legacy_eval(config) -> list[Trace]:
|
|
|
435
435
|
|
|
436
436
|
Loads the v0 env, runs `num_rollouts` per task with bounded concurrency, maps each v0
|
|
437
437
|
`RolloutOutput` to a v1 `Trace` (`rollout_output_to_trace`), persists results as they
|
|
438
|
-
land (the same `
|
|
438
|
+
land (the same `traces.jsonl` / `config.toml` a native run writes), and returns the
|
|
439
439
|
traces. The v0 env is run directly (`env.run_rollout`, no env server), so this needs no
|
|
440
440
|
runtime / interception server. All v0 specifics live here; the CLI only branches on
|
|
441
441
|
`config.is_legacy`."""
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
`Trace.state` is a typed, mutable `State` that a rollout's tool servers (`@vf.tool`) and user
|
|
4
4
|
simulator (`respond`) read+write as `self.state` (synced over the interception server per call), and
|
|
5
5
|
that `@reward`/`@metric`/`finalize` read+write directly off the trace. Unlike `Trace.info` — the
|
|
6
|
-
free-form artifact bag persisted to `
|
|
6
|
+
free-form artifact bag persisted to `traces.jsonl` — `state` is transient runtime scratch (counters,
|
|
7
7
|
game progress, an end-of-trajectory flag): never written to disk or sent over the wire.
|
|
8
8
|
|
|
9
9
|
The base `State` is empty — the framework holds no opinion about its contents. Subclass it to declare
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A `Trace[TaskT]` carries the typed task plus everything produced during a
|
|
4
4
|
rollout (conversation, per-turn responses, reward, metrics, timing, error). It is
|
|
5
|
-
the canonical full data dump — written to disk (`
|
|
5
|
+
the canonical full data dump — written to disk (`traces.jsonl`) and consumed by
|
|
6
6
|
the platform (visualization) and prime-rl (training). Environments subclass it to
|
|
7
7
|
add typed scratch/result fields. The rollout mutates it directly; this replaces
|
|
8
8
|
v1's 600-line `dict`-subclass `State` and its dual "contract version" machinery.
|
|
@@ -234,7 +234,7 @@ class Trace(StrictBaseModel, Generic[TaskT, StateT]):
|
|
|
234
234
|
a reward nor a metric — anything an author wants to scrape off the live runtime and persist
|
|
235
235
|
with the trace (captured logs, command output, container/runtime state, artifact paths).
|
|
236
236
|
Populate it from the runtime in `finalize` (or a `@reward`/`@metric`) by assigning into the
|
|
237
|
-
dict (`trace.info["build_log"] = ...`); it round-trips through the wire to `
|
|
237
|
+
dict (`trace.info["build_log"] = ...`); it round-trips through the wire to `traces.jsonl`.
|
|
238
238
|
Use `metrics` for numbers that aggregate, this for everything else. Values must be
|
|
239
239
|
JSON-serializable — a non-serializable value fails the trace dump rather than being dropped."""
|
|
240
240
|
state: StateT = Field(default_factory=State, exclude=True)
|
|
@@ -464,7 +464,7 @@ class Trace(StrictBaseModel, Generic[TaskT, StateT]):
|
|
|
464
464
|
self.stop("error")
|
|
465
465
|
|
|
466
466
|
def to_record(self) -> dict[str, Any]:
|
|
467
|
-
"""A JSON-serializable record of this rollout for `
|
|
467
|
+
"""A JSON-serializable record of this rollout for `traces.jsonl` / W&B tables.
|
|
468
468
|
|
|
469
469
|
`model_dump(mode="json")` minus the per-node training tensors (`_NODE_DUMP_EXCLUDE`):
|
|
470
470
|
those carry raw numpy bytes that JSON can't encode (the plain dump raises
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/tests/v1/fixtures/tool_response_image_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/clients/anthropic_messages_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/clients/openai_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.1.15.dev436 → verifiers-0.1.15.dev438}/verifiers/clients/openai_responses_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|