verifiers 0.2.2.dev9__tar.gz → 0.2.2.dev11__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.
Files changed (405) hide show
  1. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/PKG-INFO +1 -1
  2. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/fixtures/duet_v1.py +1 -1
  3. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/test_e2e.py +4 -4
  4. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/agent.py +1 -1
  5. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/dashboard/eval.py +5 -5
  6. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/eval/runner.py +1 -1
  7. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/configs/eval.py +1 -1
  8. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/env.py +11 -11
  9. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/envs/agentic_judge/env.py +1 -1
  10. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/envs/best_of_n/env.py +1 -1
  11. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/episode.py +2 -2
  12. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/gepa/adapter.py +2 -2
  13. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/rlm/harness.py +5 -5
  14. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/retries.py +4 -4
  15. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/task.py +3 -1
  16. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/.gitignore +0 -0
  17. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/LICENSE +0 -0
  18. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/README.md +0 -0
  19. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/pyproject.toml +0 -0
  20. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/__init__.py +0 -0
  21. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/conftest.py +0 -0
  22. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_browser_env.py +0 -0
  23. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_build_script.py +0 -0
  24. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_cli_agent_env.py +0 -0
  25. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_client_auth_errors.py +0 -0
  26. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_client_config.py +0 -0
  27. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_client_multimodal_types.py +0 -0
  28. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_composable_env.py +0 -0
  29. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_context_token_metrics.py +0 -0
  30. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_decorator_ranks.py +0 -0
  31. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_endpoint_registry.py +0 -0
  32. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_env_group.py +0 -0
  33. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_env_server.py +0 -0
  34. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_environment.py +0 -0
  35. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_environment_extra.py +0 -0
  36. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_error_chain.py +0 -0
  37. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_eval_display.py +0 -0
  38. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_eval_utils.py +0 -0
  39. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_gepa_cli.py +0 -0
  40. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_gepa_utils.py +0 -0
  41. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_gym_env.py +0 -0
  42. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_harbor_env_mcp.py +0 -0
  43. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_imports.py +0 -0
  44. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_init_script.py +0 -0
  45. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_install_utils.py +0 -0
  46. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_interception_utils.py +0 -0
  47. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_logging.py +0 -0
  48. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_math_rubric.py +0 -0
  49. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_maybe_think_parser.py +0 -0
  50. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_message_utils.py +0 -0
  51. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_message_utils_multimodal.py +0 -0
  52. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_multiturn_env.py +0 -0
  53. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_nemorl_client.py +0 -0
  54. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_openai_chat_completions_token_client.py +0 -0
  55. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_openai_responses_client.py +0 -0
  56. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_opencode_rlm_env.py +0 -0
  57. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_openenv_client.py +0 -0
  58. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_parser.py +0 -0
  59. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_path_utils.py +0 -0
  60. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_per_turn_timing.py +0 -0
  61. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_pricing_utils.py +0 -0
  62. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_prime_plugin.py +0 -0
  63. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_renderer_client.py +0 -0
  64. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_renderer_e2e.py +0 -0
  65. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_rlm_composable_env.py +0 -0
  66. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_rubric.py +0 -0
  67. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_rubric_group.py +0 -0
  68. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_sandbox_debug_env.py +0 -0
  69. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_sandbox_env.py +0 -0
  70. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_sandbox_mixin.py +0 -0
  71. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_save_utils.py +0 -0
  72. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_setup_script.py +0 -0
  73. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_singleturn_env.py +0 -0
  74. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_stateful_tool_env.py +0 -0
  75. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_think_parser.py +0 -0
  76. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_tool_env.py +0 -0
  77. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_tool_utils.py +0 -0
  78. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_trajectory_processing.py +0 -0
  79. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_tui_info_formatting.py +0 -0
  80. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_types.py +0 -0
  81. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/test_xml_parser.py +0 -0
  82. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/conftest.py +0 -0
  83. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/fixtures/counter_tool_v1.py +0 -0
  84. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
  85. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/fixtures/echo_multi_v0.py +0 -0
  86. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/fixtures/echo_tool_v1.py +0 -0
  87. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
  88. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/fixtures/echo_v0.py +0 -0
  89. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/fixtures/echo_v1.py +0 -0
  90. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/fixtures/pyproject.toml +0 -0
  91. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
  92. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/test_color_codeword_tasks.py +0 -0
  93. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/test_configs.py +0 -0
  94. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/test_envs.py +0 -0
  95. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/test_graph.py +0 -0
  96. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/test_judges.py +0 -0
  97. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/test_legacy.py +0 -0
  98. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/test_scoring.py +0 -0
  99. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/test_taskset.py +0 -0
  100. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/tests/v1/test_trace.py +0 -0
  101. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/__init__.py +0 -0
  102. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/cli/__init__.py +0 -0
  103. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/cli/commands/__init__.py +0 -0
  104. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/cli/commands/build.py +0 -0
  105. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/cli/commands/eval.py +0 -0
  106. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/cli/commands/gepa.py +0 -0
  107. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/cli/commands/init.py +0 -0
  108. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/cli/commands/install.py +0 -0
  109. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/cli/commands/setup.py +0 -0
  110. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/cli/plugins/__init__.py +0 -0
  111. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/cli/plugins/prime.py +0 -0
  112. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/cli/tui.py +0 -0
  113. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/clients/__init__.py +0 -0
  114. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/clients/anthropic_messages_client.py +0 -0
  115. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/clients/client.py +0 -0
  116. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
  117. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/clients/openai_chat_completions_client.py +0 -0
  118. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
  119. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/clients/openai_completions_client.py +0 -0
  120. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/clients/openai_responses_client.py +0 -0
  121. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/clients/renderer_client.py +0 -0
  122. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/decorators.py +0 -0
  123. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/__init__.py +0 -0
  124. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/env_group.py +0 -0
  125. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/environment.py +0 -0
  126. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/README.md +0 -0
  127. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/__init__.py +0 -0
  128. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/cli_agent_env.py +0 -0
  129. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/README.md +0 -0
  130. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/__init__.py +0 -0
  131. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/_filter.py +0 -0
  132. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/composable_env.py +0 -0
  133. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/harness.py +0 -0
  134. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
  135. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
  136. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
  137. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
  138. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
  139. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
  140. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
  141. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/task.py +0 -0
  142. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
  143. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
  144. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
  145. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
  146. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
  147. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
  148. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
  149. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
  150. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
  151. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
  152. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
  153. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
  154. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
  155. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
  156. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
  157. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
  158. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
  159. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
  160. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
  161. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
  162. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
  163. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
  164. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
  165. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
  166. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
  167. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
  168. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
  169. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
  170. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
  171. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
  172. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
  173. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
  174. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
  175. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
  176. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/gym_env.py +0 -0
  177. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
  178. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/harbor_env/env.py +0 -0
  179. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
  180. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/mcp_env.py +0 -0
  181. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/opencode_env.py +0 -0
  182. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
  183. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
  184. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
  185. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/utils/__init__.py +0 -0
  186. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/utils/file_locks.py +0 -0
  187. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
  188. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/integrations/README.md +0 -0
  189. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/integrations/__init__.py +0 -0
  190. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/integrations/browser_env/README.md +0 -0
  191. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
  192. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
  193. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
  194. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
  195. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
  196. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
  197. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/integrations/openenv_env.py +0 -0
  198. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
  199. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/integrations/textarena_env.py +0 -0
  200. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/multiturn_env.py +0 -0
  201. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/python_env.py +0 -0
  202. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/sandbox_env.py +0 -0
  203. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/singleturn_env.py +0 -0
  204. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/stateful_tool_env.py +0 -0
  205. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/envs/tool_env.py +0 -0
  206. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/errors.py +0 -0
  207. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/gepa/__init__.py +0 -0
  208. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/gepa/adapter.py +0 -0
  209. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/gepa/config.py +0 -0
  210. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/gepa/display.py +0 -0
  211. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/gepa/gepa_utils.py +0 -0
  212. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/parsers/__init__.py +0 -0
  213. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/parsers/maybe_think_parser.py +0 -0
  214. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/parsers/parser.py +0 -0
  215. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/parsers/think_parser.py +0 -0
  216. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/parsers/xml_parser.py +0 -0
  217. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/rubrics/__init__.py +0 -0
  218. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
  219. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/rubrics/judge_rubric.py +0 -0
  220. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/rubrics/math_rubric.py +0 -0
  221. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/rubrics/rubric.py +0 -0
  222. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/rubrics/rubric_group.py +0 -0
  223. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/scripts/__init__.py +0 -0
  224. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/scripts/build.py +0 -0
  225. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/scripts/eval.py +0 -0
  226. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/scripts/gepa.py +0 -0
  227. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/scripts/init.py +0 -0
  228. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/scripts/install.py +0 -0
  229. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/scripts/setup.py +0 -0
  230. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/scripts/tui.py +0 -0
  231. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/serve/__init__.py +0 -0
  232. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/serve/client/env_client.py +0 -0
  233. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/serve/client/zmq_env_client.py +0 -0
  234. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/serve/server/__init__.py +0 -0
  235. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/serve/server/env_router.py +0 -0
  236. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/serve/server/env_server.py +0 -0
  237. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/serve/server/env_worker.py +0 -0
  238. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/serve/server/zmq_env_server.py +0 -0
  239. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/serve/types.py +0 -0
  240. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/types.py +0 -0
  241. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/__init__.py +0 -0
  242. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/async_utils.py +0 -0
  243. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/client_utils.py +0 -0
  244. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/config_utils.py +0 -0
  245. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/data_utils.py +0 -0
  246. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/display_utils.py +0 -0
  247. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/env_config_utils.py +0 -0
  248. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/env_utils.py +0 -0
  249. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/error_utils.py +0 -0
  250. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/eval_display.py +0 -0
  251. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/eval_utils.py +0 -0
  252. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/heartbeat.py +0 -0
  253. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/import_utils.py +0 -0
  254. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/install_utils.py +0 -0
  255. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/interception_utils.py +0 -0
  256. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/logging_utils.py +0 -0
  257. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/message_utils.py +0 -0
  258. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/metric_utils.py +0 -0
  259. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/path_utils.py +0 -0
  260. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/pricing_utils.py +0 -0
  261. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/process_utils.py +0 -0
  262. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/response_utils.py +0 -0
  263. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/save_utils.py +0 -0
  264. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/serve_utils.py +0 -0
  265. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/thread_utils.py +0 -0
  266. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/threaded_sandbox_client.py +0 -0
  267. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/tool_utils.py +0 -0
  268. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/usage_utils.py +0 -0
  269. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/utils/version_utils.py +0 -0
  270. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/__init__.py +0 -0
  271. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/__init__.py +0 -0
  272. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/dashboard/__init__.py +0 -0
  273. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/dashboard/base.py +0 -0
  274. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/dashboard/replay.py +0 -0
  275. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/dashboard/validate.py +0 -0
  276. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/debug.py +0 -0
  277. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/eval/__init__.py +0 -0
  278. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/eval/main.py +0 -0
  279. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/eval/resume.py +0 -0
  280. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/gepa.py +0 -0
  281. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/init.py +0 -0
  282. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/output.py +0 -0
  283. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/replay.py +0 -0
  284. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/resolve.py +0 -0
  285. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/serve.py +0 -0
  286. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/cli/validate.py +0 -0
  287. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/clients/__init__.py +0 -0
  288. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/clients/client.py +0 -0
  289. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/clients/config.py +0 -0
  290. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/clients/eval.py +0 -0
  291. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/clients/train.py +0 -0
  292. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/configs/__init__.py +0 -0
  293. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/configs/debug.py +0 -0
  294. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/configs/env.py +0 -0
  295. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/configs/init.py +0 -0
  296. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/configs/replay.py +0 -0
  297. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/configs/serve.py +0 -0
  298. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/configs/validate.py +0 -0
  299. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/decorators.py +0 -0
  300. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/dialects/__init__.py +0 -0
  301. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/dialects/anthropic.py +0 -0
  302. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/dialects/base.py +0 -0
  303. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/dialects/chat.py +0 -0
  304. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/dialects/responses.py +0 -0
  305. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/envs/__init__.py +0 -0
  306. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
  307. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
  308. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/envs/single_agent/__init__.py +0 -0
  309. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/envs/single_agent/env.py +0 -0
  310. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/errors.py +0 -0
  311. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/gepa/__init__.py +0 -0
  312. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/gepa/config.py +0 -0
  313. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/gepa/dataset.py +0 -0
  314. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/gepa/reflection.py +0 -0
  315. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/gepa/runner.py +0 -0
  316. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/graph.py +0 -0
  317. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harness.py +0 -0
  318. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/__init__.py +0 -0
  319. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/bash/__init__.py +0 -0
  320. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/bash/harness.py +0 -0
  321. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/bash/program.py +0 -0
  322. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
  323. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
  324. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/codex/__init__.py +0 -0
  325. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/codex/harness.py +0 -0
  326. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
  327. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
  328. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
  329. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
  330. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
  331. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/null/__init__.py +0 -0
  332. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/null/harness.py +0 -0
  333. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/null/program.py +0 -0
  334. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/pi/__init__.py +0 -0
  335. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/pi/harness.py +0 -0
  336. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/pool/__init__.py +0 -0
  337. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/pool/harness.py +0 -0
  338. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
  339. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
  340. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
  341. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
  342. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/interception/__init__.py +0 -0
  343. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/interception/base.py +0 -0
  344. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/interception/pool.py +0 -0
  345. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/interception/server.py +0 -0
  346. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/interception/tunnel/__init__.py +0 -0
  347. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/interception/tunnel/base.py +0 -0
  348. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/interception/tunnel/custom.py +0 -0
  349. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/interception/tunnel/prime.py +0 -0
  350. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/judge.py +0 -0
  351. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/judges/__init__.py +0 -0
  352. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/judges/reference.py +0 -0
  353. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/judges/reference.txt +0 -0
  354. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/judges/rubric.py +0 -0
  355. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/judges/rubric.txt +0 -0
  356. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/legacy.py +0 -0
  357. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/loaders.py +0 -0
  358. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/mcp/__init__.py +0 -0
  359. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/mcp/launch.py +0 -0
  360. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/mcp/server.py +0 -0
  361. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/mcp/toolset.py +0 -0
  362. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/mcp/user.py +0 -0
  363. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/push.py +0 -0
  364. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/rollout.py +0 -0
  365. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/runtimes/__init__.py +0 -0
  366. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/runtimes/base.py +0 -0
  367. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/runtimes/docker.py +0 -0
  368. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/runtimes/limiters.py +0 -0
  369. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/runtimes/modal.py +0 -0
  370. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/runtimes/prime.py +0 -0
  371. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/runtimes/subprocess.py +0 -0
  372. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/scoring.py +0 -0
  373. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/serve/__init__.py +0 -0
  374. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/serve/client.py +0 -0
  375. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/serve/pool.py +0 -0
  376. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/serve/server.py +0 -0
  377. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/serve/types.py +0 -0
  378. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/session.py +0 -0
  379. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/state.py +0 -0
  380. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/taskset.py +0 -0
  381. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/tasksets/__init__.py +0 -0
  382. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
  383. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
  384. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/tasksets/lean/__init__.py +0 -0
  385. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/tasksets/lean/scoring.py +0 -0
  386. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/tasksets/lean/taskset.py +0 -0
  387. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
  388. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
  389. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
  390. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
  391. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/trace.py +0 -0
  392. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/types.py +0 -0
  393. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/__init__.py +0 -0
  394. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/aio.py +0 -0
  395. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/compile.py +0 -0
  396. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/format.py +0 -0
  397. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/generic.py +0 -0
  398. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/git.py +0 -0
  399. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/image.py +0 -0
  400. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/install.py +0 -0
  401. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/interrupt.py +0 -0
  402. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/logging.py +0 -0
  403. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/memory.py +0 -0
  404. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/sampling.py +0 -0
  405. {verifiers-0.2.2.dev9 → verifiers-0.2.2.dev11}/verifiers/v1/utils/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: verifiers
3
- Version: 0.2.2.dev9
3
+ Version: 0.2.2.dev11
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
@@ -3,7 +3,7 @@
3
3
  The multi-agent fixture for the v1 e2e suite (resolved by id `duet-v1`): an
4
4
  `Env` subclass exported alongside its taskset, with two roles ("a", a trainable
5
5
  seat on the run's model; "b", pinned untrainable), a `run()` that fans both out on
6
- the task, and a `finalize()` that records a sibling-dependent signal. One eval rollout
6
+ the task, and a `finalize()` that records a sibling-dependent signal. One episode
7
7
  should land one record carrying two role-stamped traces.
8
8
  """
9
9
 
@@ -265,8 +265,8 @@ async def test_agentic(run_v1, harness, harness_runtime, tmp_path):
265
265
  @pytest.mark.e2e
266
266
  async def test_multi_agent_env(run_v1, tmp_path):
267
267
  """An `Env` subclass shipped with its taskset (duet-v1): two roles run the
268
- task, `score()` episodes a sibling-dependent metric, and one eval rollout lands one
269
- episode carrying two role-stamped traces."""
268
+ task, `score()` episodes a sibling-dependent metric, and one episode carries
269
+ two role-stamped traces."""
270
270
  import json
271
271
 
272
272
  traces = await run_v1(
@@ -275,7 +275,7 @@ async def test_multi_agent_env(run_v1, tmp_path):
275
275
  output_dir=tmp_path,
276
276
  max_turns=2,
277
277
  )
278
- assert len(traces) == 2 # one env-rollout, one trace per role
278
+ assert len(traces) == 2 # one episode, one trace per role
279
279
  assert sorted(t.agent_name for t in traces) == ["a", "b"]
280
280
  (b,) = [t for t in traces if t.agent_name == "b"]
281
281
  assert b.trainable is False
@@ -305,7 +305,7 @@ async def test_env_id_best_of_n(run_v1, tmp_path):
305
305
  output_dir=tmp_path,
306
306
  max_turns=2,
307
307
  )
308
- assert len(traces) == 2 # one env-rollout, two attempts
308
+ assert len(traces) == 2 # one episode, two attempts
309
309
  assert all(t.agent_name == "agent" and t.ok for t in traces)
310
310
  assert any(t.metrics["best"] == 1.0 for t in traces)
311
311
  assert all(t.metrics["pass_at_n"] == 1.0 for t in traces) # echo always passes
@@ -350,7 +350,7 @@ class Agent:
350
350
 
351
351
 
352
352
  class _EpisodeAgent(Agent):
353
- """One role's `Agent` for one env-rollout, built fresh per episode (a cheap
353
+ """One role's `Agent` for one episode, built fresh each time (a cheap
354
354
  bundle of references — expensive resources are env-owned and borrowed, so no
355
355
  state spans concurrent episodes): traces get their agent standing the moment
356
356
  they're created, finished ones land in `completed` (the episode's traces),
@@ -291,7 +291,7 @@ def Progress(
291
291
  ) -> Group:
292
292
  # On resume, `slots` includes the previous session's kept rollouts (as finished slots), so
293
293
  # progress, reward, err, and the breakdown cover the whole run, not just this session's.
294
- done = [s for s in slots if s.done] # fully scored env-rollouts
294
+ done = [s for s in slots if s.done] # fully scored episodes
295
295
  done_traces = [t for s in done for t in s.traces]
296
296
  # Score aggregates read the policy's traces: auxiliary roles (a judge's verdict
297
297
  # run, a modeled user) are `trainable=False` and carry no rewards, so counting
@@ -300,7 +300,7 @@ def Progress(
300
300
  scored = [t for t in done_traces if t.trainable] or done_traces
301
301
  total = len(slots)
302
302
  # Headline reward = mean over non-errored traces; when any errored, `format_mean` appends
303
- # the global avg (errored count as 0) in parens. `err` is the share of env-rollouts that
303
+ # the global avg (errored count as 0) in parens. `err` is the share of episodes that
304
304
  # ended not-ok (a trace errored, or the env's rollout()/score() hook itself failed).
305
305
  reward = format_mean(scored, lambda t: t.reward)
306
306
  err = (
@@ -477,7 +477,7 @@ def _stage(trace: Trace) -> str:
477
477
  """The stage a live (not-yet-done) rollout is in, derived from its trace's timing
478
478
  spans — the engine opens and closes each span exactly at the stage transitions, so
479
479
  the current stage is the latest span started but not yet ended. A completed trace
480
- whose slot isn't done is waiting on its env-rollout's other traces (and the env's
480
+ whose slot isn't done is waiting on its episode's other traces (and the env's
481
481
  `score()`) — that's scoring."""
482
482
  if trace.is_completed:
483
483
  return "scoring"
@@ -531,7 +531,7 @@ def _brace(i: int, size: int) -> str:
531
531
 
532
532
  def Rows(groups: list[list[RunSlot]], now: float, runtime_type: str) -> Table:
533
533
  # (brace, state, left sections, result, time); a slot contributes one row per live
534
- # trace (a multi-agent env-rollout shows each role's trace), braced per task.
534
+ # trace (a multi-agent episode shows each role's trace), braced per task.
535
535
  rows: list[tuple[str, str, list[str], str, str]] = []
536
536
  for group in groups:
537
537
  group_rows: list[tuple[str, list[str], str, str]] = []
@@ -572,7 +572,7 @@ def Rows(groups: list[list[RunSlot]], now: float, runtime_type: str) -> Table:
572
572
  ): # flag a clipped rollout next to its stop condition
573
573
  stop = f"{stop} (truncated)".strip()
574
574
  elif t.is_completed and (err := t.error) is not None:
575
- # An errored trace whose env-rollout is still running its other
575
+ # An errored trace whose episode is still running its other
576
576
  # traces (or `score()`) is already a failure — show it, don't
577
577
  # let it sit as "scoring" until the whole episode lands.
578
578
  state, result, stop = "error", err.type, ""
@@ -1,4 +1,4 @@
1
- """The eval runner: fan env-rollouts out with bounded concurrency."""
1
+ """The eval runner: fan episodes out with bounded concurrency."""
2
2
 
3
3
  import asyncio
4
4
  import contextlib
@@ -33,7 +33,7 @@ class EvalConfig(EnvServerConfig):
33
33
  "group_size", "rollouts_per_example", "num_rollouts", "r"
34
34
  ),
35
35
  )
36
- """Independent env-rollouts per task — the trainer's group size."""
36
+ """Independent episodes per task — the trainer's group size."""
37
37
  shuffle: bool = Field(False, validation_alias=AliasChoices("shuffle", "s"))
38
38
  """Shuffle tasks before taking the first `num_tasks`."""
39
39
  max_concurrent: int | None = Field(
@@ -1,4 +1,4 @@
1
- """Compose a taskset, its agents, and how one task becomes one env-rollout."""
1
+ """Compose a taskset, its agents, and how one task becomes one episode."""
2
2
 
3
3
  import asyncio
4
4
  import contextlib
@@ -196,7 +196,7 @@ def _as_error(e: Exception) -> Error:
196
196
 
197
197
  @dataclass
198
198
  class RunSlot:
199
- """One planned env-rollout, observable while it happens: `traces` collects the
199
+ """One planned episode, observable while it happens: `traces` collects the
200
200
  current attempt (a retry restarts the list), `episode`/`done` land when final."""
201
201
 
202
202
  task: Task
@@ -218,7 +218,7 @@ ConfigT = TypeVar("ConfigT", bound=EnvConfig)
218
218
 
219
219
 
220
220
  class Env(ABC, Generic[ConfigT]):
221
- """A taskset, the agents that play it, and how one task becomes one env-rollout.
221
+ """A taskset, the agents that play it, and how one task becomes one episode.
222
222
 
223
223
  Abstract: every run gets a concrete subclass — `SingleAgentEnv` for every plain
224
224
  taskset. A multi-agent env declares each role as an `AgentConfig` field on an
@@ -298,10 +298,10 @@ class Env(ABC, Generic[ConfigT]):
298
298
 
299
299
  @abstractmethod
300
300
  async def run(self, task: Task, agents: Agents) -> None:
301
- """One env-rollout: how the agents interact on `task`, returning nothing —
301
+ """One episode: how the agents interact on `task`, returning nothing —
302
302
  every finished run joins the episode automatically, stamped with its seat's
303
303
  standing. An agent-run failure is data on its trace (this hook decides what
304
- it means); an exception raised here is the env-rollout itself failing."""
304
+ it means); an exception raised here is the episode itself failing."""
305
305
 
306
306
  async def finalize(self, task: Task, episode: Episode) -> None:
307
307
  """Cross-agent judgement — THE programmable judgement surface: plain
@@ -309,11 +309,11 @@ class Env(ABC, Generic[ConfigT]):
309
309
  ran on each trace's own task). `episode.traces` is the flat episode in
310
310
  completion order, each trace's `agent_name` stamp naming its agent; attach
311
311
  signals via `record_reward`/`record_metric`, in program order. A raise
312
- fails the env-rollout (the retryable unit) — validate strictly, never
312
+ fails the episode (the retryable unit) — validate strictly, never
313
313
  record a guess."""
314
314
 
315
315
  def complete(self, episode: Episode) -> bool:
316
- """Whether a finished env-rollout is a valid result — what `--resume` keeps
316
+ """Whether a finished episode is a valid result — what `--resume` keeps
317
317
  vs. redoes (default `episode.ok`). An env whose `run()` tolerates a
318
318
  failed participant overrides this, else resume re-runs accepted rollouts."""
319
319
  return episode.ok
@@ -340,7 +340,7 @@ class Env(ABC, Generic[ConfigT]):
340
340
  on_trace: Callable[[Trace], None] | None,
341
341
  on_discard: Callable[[Trace], None] | None,
342
342
  ) -> Agents:
343
- """One env-rollout's `Agents` — fresh value objects riding the live serving
343
+ """One episode's `Agents` — fresh value objects riding the live serving
344
344
  resources (nothing shared across concurrent episodes); `setup()` sees them first."""
345
345
 
346
346
  def make(name: str, spec: AgentConfig) -> Agent:
@@ -391,7 +391,7 @@ class Env(ABC, Generic[ConfigT]):
391
391
  on_discard: Callable[[Trace], None] | None = None,
392
392
  gate: asyncio.Semaphore | None = None,
393
393
  ) -> Episode:
394
- """One env-rollout of `task`, minted as the wire atom: `setup()` then `run()`
394
+ """One episode of `task`, minted as the wire atom: `setup()` then `run()`
395
395
  over fresh agents, then `finalize()`; `gate` bounds
396
396
  the agent runs, so internal fan-out counts against `--max-concurrent` too.
397
397
  Traces join the episode as runs complete — a hook raising mid-way yields the
@@ -440,7 +440,7 @@ class Env(ABC, Generic[ConfigT]):
440
440
  return episode
441
441
 
442
442
  def slots(self, task: Task, n: int = 1) -> list[RunSlot]:
443
- """Plan `n` independent env-rollouts of `task` (`-r n`): nothing couples them."""
443
+ """Plan `n` independent episodes of `task` (`-r n`): nothing couples them."""
444
444
  if n < 1:
445
445
  raise ValueError("a task needs at least one rollout (n >= 1)")
446
446
  return [RunSlot(task) for _ in range(n)]
@@ -452,7 +452,7 @@ class Env(ABC, Generic[ConfigT]):
452
452
  semaphore: asyncio.Semaphore | None = None,
453
453
  on_complete: Callable[[Episode], Awaitable[None]] | None = None,
454
454
  ) -> Episode:
455
- """Run one planned env-rollout to its finished episode, with whole-episode
455
+ """Run one planned episode to completion, with whole-episode
456
456
  retries per `--env.retries`; `semaphore` gates the agent RUNS, not the
457
457
  episode; `on_complete` (the runners' persistence hook) fires when final."""
458
458
 
@@ -152,7 +152,7 @@ class AgenticJudgeEnv(vf.Env[AgenticJudgeEnvConfig]):
152
152
  async def finalize(self, task: vf.Task, episode: vf.Episode) -> None:
153
153
  """Record the scraped verdict on the SOLVER's trace. Strict on scale: an
154
154
  off-scale score raises (a judge answering `95` must not clamp to full
155
- marks), failing the env-rollout rather than scoring the solver wrong."""
155
+ marks), failing the episode rather than scoring the solver wrong."""
156
156
  by_agent = {t.agent_name: t for t in episode.traces}
157
157
  solution, verdict = by_agent["solver"], by_agent["judge"]
158
158
  data = verdict.info.get("verdict")
@@ -18,7 +18,7 @@ class BestOfNEnvConfig(vf.EnvConfig):
18
18
  # composes with a plain run's `--env.agent.*` flags unchanged.
19
19
  agent: vf.AgentConfig = vf.AgentConfig()
20
20
  n: int = Field(4, ge=1)
21
- """Independent attempts per env-rollout, scored against each other."""
21
+ """Independent attempts per episode, scored against each other."""
22
22
  threshold: float = 1.0
23
23
  """A sibling counts as solved when its task reward reaches this (`pass_at_n`)."""
24
24
 
@@ -1,4 +1,4 @@
1
- """The episode — one env-rollout's traces plus their shared standing, whole."""
1
+ """The episode — one run's traces plus their shared standing, whole."""
2
2
 
3
3
  import uuid
4
4
  from typing import Generic
@@ -12,7 +12,7 @@ from verifiers.v1.types import StrictBaseModel
12
12
 
13
13
 
14
14
  class Episode(StrictBaseModel, Generic[DataT, StateT]):
15
- """One env-rollout, whole: its identity and standing (`id`, `env`, `errors`)
15
+ """One run of a task, whole: its identity and standing (`id`, `env`, `errors`)
16
16
  next to its flat `traces` — the object `finalize()` receives, the engine
17
17
  returns, and the durability envelope: one episode is one `traces.jsonl` line
18
18
  and one serve reply, so it persists and arrives whole or not at all — a torn
@@ -54,7 +54,7 @@ class GEPAAdapter:
54
54
  capture_traces: bool = False,
55
55
  ) -> EvaluationBatch[Episode, Episode]:
56
56
  """Run `candidate`'s system prompt on the tasks named by `batch` (`Task.idx` values)
57
- and score them — one env-rollout and one score per batch entry, so the batch stays
57
+ and score them — one episode and one score per batch entry, so the batch stays
58
58
  aligned however many traces the env's episode holds. Called synchronously by GEPA on
59
59
  the main thread; each batch's rollouts run on the runner's persistent loop via
60
60
  `run_until_complete`."""
@@ -122,7 +122,7 @@ class GEPAAdapter:
122
122
 
123
123
 
124
124
  def _episode_score(episode: Episode) -> float:
125
- """A candidate's score on one env-rollout: the mean reward of the episode's scored
125
+ """A candidate's score on one episode: the mean reward of the episode's scored
126
126
  traces. Seats that recorded no rewards (a reward-less judge) don't dilute the
127
127
  signal; an episode with no scored traces scores 0."""
128
128
  scored = [trace.reward for trace in episode.traces if trace.rewards]
@@ -90,16 +90,16 @@ class RLMHarness(Harness[RLMHarnessConfig]):
90
90
  if result.exit_code != 0:
91
91
  raise RuntimeError(f"rlm install failed: {result.stderr.strip()[-500:]}")
92
92
 
93
- def summarize_threshold(self, task_idx: int) -> str:
94
- """The `RLM_SUMMARIZE_AT_TOKENS` value: a range draws per-group (seeded by task index, so
95
- a task's rollouts share one threshold). Always set — "" when disabled — so the typed field,
96
- not a host var the subprocess runtime would inherit, wins."""
93
+ def summarize_threshold(self, task_idx: int | None) -> str:
94
+ """The `RLM_SUMMARIZE_AT_TOKENS` value: a range draws per-group (seeded by task index
95
+ 0 when unset — so a task's rollouts share one threshold). Always set — "" when disabled —
96
+ so the typed field, not a host var the subprocess runtime would inherit, wins."""
97
97
  value = self.config.summarize_at_tokens
98
98
  if value is None:
99
99
  return ""
100
100
  if isinstance(value, tuple):
101
101
  lo, hi = value
102
- return str(random.Random(task_idx).randint(lo, hi))
102
+ return str(random.Random(task_idx or 0).randint(lo, hi))
103
103
  return str(value)
104
104
 
105
105
  async def launch(
@@ -5,7 +5,7 @@ framework adds targeted retries only where no SDK sits underneath (`retrying()`)
5
5
  Two opt-in whole-run retry atoms sit above that: `Agent.run` reruns ITS OWN rollout
6
6
  while the trace ends with a retryable error (`--env.<agent>.retries` — a flaky
7
7
  grader retries without re-burning the solver), and `run_episode_with_retry` reruns
8
- the entire env-rollout (`--env.retries`) — the coarse fallback for faults no agent
8
+ the entire episode (`--env.retries`) — the coarse fallback for faults no agent
9
9
  owns: the env's own hooks, cross-agent state. Both match by exception type name;
10
10
  both off by default.
11
11
  """
@@ -105,7 +105,7 @@ def trace_should_retry(trace, retry: RetryConfig) -> bool:
105
105
 
106
106
 
107
107
  def episode_should_retry(episode: Episode, retry: RetryConfig) -> bool:
108
- """Whether a finished env-rollout should be retried: any LIVE captured error —
108
+ """Whether a finished episode should be retried: any LIVE captured error —
109
109
  episode-level, or on a trace that ended not-`ok` — is retryable. An `ok` trace's
110
110
  errors are history its own per-agent retry already recovered from, never
111
111
  grounds to re-run the episode. All of a failed trace's captures count, not just
@@ -121,7 +121,7 @@ async def run_episode_with_retry(
121
121
  run: Callable[[], Awaitable[Episode]],
122
122
  retry: RetryConfig,
123
123
  ) -> Episode:
124
- """Run one env-rollout (`run` must mint a fresh episode per call), retrying while
124
+ """Run one episode (each attempt mints a fresh one), retrying while
125
125
  it ends with a retryable error. When the final attempt fails too, the earlier
126
126
  attempts' errors are prepended so the episode shows the full history; a final
127
127
  good attempt returns clean."""
@@ -136,7 +136,7 @@ async def run_episode_with_retry(
136
136
  history.extend(trace.errors)
137
137
  delay = backoff(attempt)
138
138
  logger.warning(
139
- "retrying env-rollout %s (retry %d/%d) in %.1fs after error: %s",
139
+ "retrying episode %s (retry %d/%d) in %.1fs after error: %s",
140
140
  final.id,
141
141
  attempt + 1,
142
142
  retry.max_retries,
@@ -125,7 +125,9 @@ class TaskData(StrictBaseModel):
125
125
 
126
126
  model_config = ConfigDict(frozen=True)
127
127
 
128
- idx: int
128
+ idx: int | None = None
129
+ """Dataset row index — set by tasksets (selection, resume, and grouping key
130
+ on the eval path); `None` for ad-hoc tasks minted in scripts."""
129
131
  name: str | None = None
130
132
  description: str | None = None
131
133
  prompt: str | Messages | None = None
File without changes