verifiers 0.1.15.dev152__tar.gz → 0.1.15.dev154__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.dev152 → verifiers-0.1.15.dev154}/PKG-INFO +1 -1
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/scripts/eval.py +3 -3
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/types.py +1 -1
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/display_utils.py +19 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/harness.py +3 -0
- verifiers-0.1.15.dev154/verifiers/v1/utils/logging_utils.py +57 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/.gitignore +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/LICENSE +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/README.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/pyproject.toml +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/AGENTS.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/README.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/conftest.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_browser_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_build_script.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_client_auth_errors.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_client_config.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_client_multimodal_types.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_composable_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_context_token_metrics.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_decorator_ranks.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_endpoint_registry.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_env_group.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_env_server.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_environment.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_environment_extra.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_envs.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_error_chain.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_eval_cli.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_eval_display.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_eval_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_gepa_cli.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_gepa_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_gym_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_harbor_env_mcp.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_imports.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_init_script.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_install_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_interception_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_langchain_deep_agents_wikispeedia.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_lean_task.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_logging.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_math_rubric.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_mcp_search_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_message_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_message_utils_multimodal.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_multiturn_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_nemorl_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_opencode_harbor.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_openenv_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_parser.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_path_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_per_turn_timing.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_pricing_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_prime_plugin.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_renderer_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_renderer_e2e.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_rlm_composable_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_rlm_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_rubric.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_rubric_group.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_sandbox_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_save_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_setup_script.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_singleturn_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_think_parser.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_tool_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_tool_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_trajectory_processing.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_tui_info_formatting.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_types.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_bfcl.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_config_extension.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_empty_completions.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_endpoint_protocols.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_example_counts.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_group_reward_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_harbor_cli.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_mini_swe_agent.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_nemo_gym_harness.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_openenv_taskset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_openreward_taskset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_rlm_swe.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_runtime_lifecycle.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_scoring_functions.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_taskset_bindings.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_taskset_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_v1_textarena_taskset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_wiki_search_v1.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_wordle_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_wordle_v1_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/tests/test_xml_parser.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/AGENTS.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/cli/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/cli/commands/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/cli/commands/build.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/cli/commands/eval.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/cli/commands/gepa.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/cli/commands/install.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/cli/commands/setup.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/cli/plugins/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/cli/plugins/prime.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/cli/tui.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/clients/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/clients/anthropic_messages_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/clients/client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/clients/openai_chat_completions_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/clients/openai_completions_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/clients/openai_responses_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/clients/renderer_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/decorators.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/AGENTS.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/env_group.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/environment.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/README.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/cli_agent_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/README.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/_filter.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/composable_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/harness.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/task.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/lean/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/lean/lean_task.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/gym_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/harbor_env/env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/mcp_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/opencode_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/rlm_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/utils/file_locks.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/integrations/README.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/integrations/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/integrations/browser_env/README.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/integrations/openenv_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/integrations/textarena_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/multiturn_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/python_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/sandbox_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/singleturn_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/stateful_tool_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/tool_env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/errors.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/gepa/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/gepa/adapter.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/gepa/config.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/gepa/display.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/gepa/gepa_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/parsers/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/parsers/maybe_think_parser.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/parsers/parser.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/parsers/think_parser.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/parsers/xml_parser.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rl/README.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rl/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rl/inference/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rl/inference/client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rl/inference/server.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rl/trainer/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rl/trainer/config.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rl/trainer/orchestrator.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rl/trainer/trainer.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rl/trainer/utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rubrics/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rubrics/judge_rubric.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rubrics/math_rubric.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rubrics/rubric.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/rubrics/rubric_group.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/scripts/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/scripts/build.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/scripts/gepa.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/scripts/init.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/scripts/install.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/scripts/rl.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/scripts/setup.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/scripts/train.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/scripts/tui.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/scripts/vllm.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/serve/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/serve/client/env_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/serve/client/zmq_env_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/serve/server/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/serve/server/env_router.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/serve/server/env_server.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/serve/server/env_worker.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/serve/server/zmq_env_server.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/serve/types.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/async_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/client_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/config_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/data_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/env_config_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/env_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/error_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/eval_display.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/eval_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/heartbeat.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/import_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/install_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/interception_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/logging_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/message_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/metric_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/path_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/pricing_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/process_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/response_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/save_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/serve_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/thread_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/threaded_sandbox_client.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/tool_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/usage_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/utils/version_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/ENVIRONMENT_BEST_PRACTICES.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/README.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/RE_MIGRATION.md +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/artifact.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/config.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/env.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/model.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/program.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/runtime.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/runtime_handles.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/sandbox.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/state.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/task.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/toolset.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/types.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/user.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/binding_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/config_callable_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/config_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/endpoint_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/json_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/judge_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/lifecycle_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/mcp_proxy_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/mcp_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/object_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/program_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/prompt_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/runtime_owner_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/runtime_registry.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/sandbox_program_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/sandbox_python_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/sandbox_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/scoring_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/serialization_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/task_freeze_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/taskset_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/tool_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/toolset_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/trajectory_utils.py +0 -0
- {verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/v1/utils/usage_utils.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.dev154
|
|
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
|
|
@@ -594,8 +594,8 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
594
594
|
parser.add_argument(
|
|
595
595
|
"--max-retries",
|
|
596
596
|
type=int,
|
|
597
|
-
default=
|
|
598
|
-
help="Max retries for transient infrastructure errors (default:
|
|
597
|
+
default=3,
|
|
598
|
+
help="Max retries for transient infrastructure errors (default: 3)",
|
|
599
599
|
)
|
|
600
600
|
parser.add_argument(
|
|
601
601
|
"--disable-env-server",
|
|
@@ -958,7 +958,7 @@ def main(argv: list[str] | None = None):
|
|
|
958
958
|
num_examples=num_examples,
|
|
959
959
|
rollouts_per_example=rollouts_per_example,
|
|
960
960
|
max_concurrent=raw.get("max_concurrent", DEFAULT_MAX_CONCURRENT),
|
|
961
|
-
max_retries=raw.get("max_retries",
|
|
961
|
+
max_retries=raw.get("max_retries", 3),
|
|
962
962
|
num_workers=raw.get("num_workers", "auto"),
|
|
963
963
|
disable_env_server=raw.get("disable_env_server", False),
|
|
964
964
|
verbose=raw.get("verbose", False),
|
|
@@ -1329,7 +1329,7 @@ class EvalConfig(BaseModel):
|
|
|
1329
1329
|
num_workers: int | str = "auto"
|
|
1330
1330
|
independent_scoring: bool = False
|
|
1331
1331
|
extra_env_kwargs: dict = {}
|
|
1332
|
-
max_retries: int =
|
|
1332
|
+
max_retries: int = 3
|
|
1333
1333
|
disable_env_server: bool = False
|
|
1334
1334
|
# logging
|
|
1335
1335
|
verbose: bool = False
|
|
@@ -533,6 +533,25 @@ def _timing_parts(
|
|
|
533
533
|
return parts
|
|
534
534
|
|
|
535
535
|
|
|
536
|
+
def format_timing_plain(
|
|
537
|
+
setup: float = 0.0,
|
|
538
|
+
generation: float = 0.0,
|
|
539
|
+
scoring: float = 0.0,
|
|
540
|
+
overhead: float = 0.0,
|
|
541
|
+
model: float = 0.0,
|
|
542
|
+
env: float = 0.0,
|
|
543
|
+
) -> str:
|
|
544
|
+
"""Return a plain-text compact timing breakdown (no Rich styling)."""
|
|
545
|
+
parts = _timing_parts(setup, generation, scoring, overhead, model, env)
|
|
546
|
+
segments: list[str] = []
|
|
547
|
+
for label, value, subs in parts:
|
|
548
|
+
segment = f"{label} {value}"
|
|
549
|
+
if subs:
|
|
550
|
+
segment += " (" + " + ".join(f"{sl} {sv}" for sl, sv in subs) + ")"
|
|
551
|
+
segments.append(segment)
|
|
552
|
+
return " + ".join(segments)
|
|
553
|
+
|
|
554
|
+
|
|
536
555
|
def format_timing_rich(
|
|
537
556
|
setup: float = 0.0,
|
|
538
557
|
generation: float = 0.0,
|
|
@@ -71,6 +71,7 @@ from .utils.sandbox_program_utils import (
|
|
|
71
71
|
python_program_sandbox,
|
|
72
72
|
run_sandbox_python_program,
|
|
73
73
|
)
|
|
74
|
+
from .utils.logging_utils import log_rollout_finish, log_rollout_start
|
|
74
75
|
from .utils.prompt_utils import (
|
|
75
76
|
SystemPrompt,
|
|
76
77
|
SystemPromptStrategy,
|
|
@@ -241,6 +242,7 @@ class Harness(RuntimeOwnerMixin[ConfigT], Generic[ConfigT]):
|
|
|
241
242
|
|
|
242
243
|
async def run(self, task: Task, state: State | None = None) -> State:
|
|
243
244
|
state = await self.init_state(task) if state is None else state
|
|
245
|
+
log_rollout_start(state)
|
|
244
246
|
timing_recorded = False
|
|
245
247
|
completed = False
|
|
246
248
|
try:
|
|
@@ -272,6 +274,7 @@ class Harness(RuntimeOwnerMixin[ConfigT], Generic[ConfigT]):
|
|
|
272
274
|
state.strip_runtime_handles()
|
|
273
275
|
elif completed:
|
|
274
276
|
state.assert_serializable()
|
|
277
|
+
log_rollout_finish(state)
|
|
275
278
|
return state
|
|
276
279
|
|
|
277
280
|
def record_error(self, state: State, error: Error) -> None:
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
from collections import Counter
|
|
3
|
+
|
|
4
|
+
from verifiers.utils.display_utils import format_numeric, format_timing_plain
|
|
5
|
+
from verifiers.utils.logging_utils import truncate
|
|
6
|
+
|
|
7
|
+
from ..state import State
|
|
8
|
+
|
|
9
|
+
logger = logging.getLogger("verifiers.v1.rollout")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def log_rollout_start(state: State) -> None:
|
|
13
|
+
logger.info(
|
|
14
|
+
f"Started example_id={state.get('example_id')} "
|
|
15
|
+
f"| trajectory_id={state.get('trajectory_id')}"
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def log_rollout_finish(state: State) -> None:
|
|
20
|
+
tools = Counter(
|
|
21
|
+
call["name"]
|
|
22
|
+
for step in state.get("trajectory") or []
|
|
23
|
+
for message in step.get("completion") or []
|
|
24
|
+
for call in message.get("tool_calls") or []
|
|
25
|
+
)
|
|
26
|
+
timing = state.get("timing") or {}
|
|
27
|
+
metrics = state.get("metrics") or {}
|
|
28
|
+
|
|
29
|
+
def duration(phase: str) -> float:
|
|
30
|
+
return (timing.get(phase) or {}).get("duration", 0.0)
|
|
31
|
+
|
|
32
|
+
tool_summary = ", ".join(f"{name}: {n}" for name, n in tools.most_common())
|
|
33
|
+
metric_summary = ", ".join(
|
|
34
|
+
f"{name}: {format_numeric(value)}" for name, value in metrics.items()
|
|
35
|
+
)
|
|
36
|
+
parts = [
|
|
37
|
+
f"Finished example_id={state.get('example_id')}",
|
|
38
|
+
f"trajectory_id={state.get('trajectory_id')}",
|
|
39
|
+
f"tools=[{tool_summary}]",
|
|
40
|
+
"timing="
|
|
41
|
+
+ format_timing_plain(
|
|
42
|
+
setup=duration("setup"),
|
|
43
|
+
generation=duration("generation"),
|
|
44
|
+
scoring=duration("scoring"),
|
|
45
|
+
overhead=timing.get("overhead", 0.0),
|
|
46
|
+
model=duration("model"),
|
|
47
|
+
env=duration("env"),
|
|
48
|
+
),
|
|
49
|
+
f"stop={state.get('stop_condition')}",
|
|
50
|
+
f"reward={format_numeric(state.get('reward') or 0.0)}",
|
|
51
|
+
"metrics={" + metric_summary + "}",
|
|
52
|
+
]
|
|
53
|
+
if state.get("error"):
|
|
54
|
+
parts.append(f"error={truncate(state['error']['error_chain_str'], 200)}")
|
|
55
|
+
if state.get("is_truncated"):
|
|
56
|
+
parts.append("truncated=True")
|
|
57
|
+
logger.info(" | ".join(parts))
|
|
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.dev152 → verifiers-0.1.15.dev154}/tests/test_langchain_deep_agents_wikispeedia.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
|
|
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.dev152 → verifiers-0.1.15.dev154}/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.dev152 → verifiers-0.1.15.dev154}/verifiers/clients/openai_completions_client.py
RENAMED
|
File without changes
|
{verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/clients/openai_responses_client.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
|
{verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/cli_agent_env.py
RENAMED
|
File without changes
|
{verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/README.md
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
|
{verifiers-0.1.15.dev152 → verifiers-0.1.15.dev154}/verifiers/envs/experimental/composable/task.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
|
|
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
|