verifiers 0.2.2.dev33__tar.gz → 0.2.2.dev35__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 (418) hide show
  1. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/PKG-INFO +1 -1
  2. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/pyproject.toml +5 -2
  3. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/conftest.py +2 -0
  4. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_browser_env.py +2 -0
  5. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_cli_agent_env.py +2 -0
  6. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_client_auth_errors.py +2 -0
  7. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_composable_env.py +2 -0
  8. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_context_token_metrics.py +2 -0
  9. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_decorator_ranks.py +2 -0
  10. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_env_server.py +2 -0
  11. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_environment_extra.py +2 -0
  12. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_gepa_cli.py +2 -0
  13. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_imports.py +2 -0
  14. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_nemorl_client.py +2 -0
  15. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_openai_chat_completions_token_client.py +2 -0
  16. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_opencode_rlm_env.py +2 -0
  17. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_openenv_client.py +2 -0
  18. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_renderer_client.py +2 -0
  19. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_renderer_e2e.py +2 -0
  20. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_rlm_composable_env.py +2 -0
  21. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_rubric.py +2 -0
  22. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_sandbox_mixin.py +2 -0
  23. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_save_utils.py +2 -0
  24. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_tool_utils.py +2 -0
  25. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/fixtures/duet_v1.py +3 -3
  26. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_acp_resume_v1.py +1 -1
  27. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_user_sim_v1.py +1 -1
  28. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_v1.py +5 -1
  29. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/test_envs.py +3 -1
  30. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/test_judges.py +15 -6
  31. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/test_scoring.py +5 -7
  32. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/__init__.py +2 -0
  33. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/cli/commands/build.py +2 -0
  34. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/cli/commands/eval.py +2 -0
  35. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/cli/commands/gepa.py +2 -0
  36. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/cli/commands/init.py +2 -0
  37. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/cli/commands/install.py +2 -0
  38. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/cli/plugins/prime.py +2 -0
  39. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/clients/__init__.py +2 -0
  40. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/clients/anthropic_messages_client.py +2 -0
  41. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/clients/client.py +2 -0
  42. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/clients/nemorl_chat_completions_client.py +3 -3
  43. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/clients/openai_chat_completions_client.py +3 -1
  44. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/clients/openai_chat_completions_token_client.py +4 -2
  45. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/clients/openai_completions_client.py +2 -0
  46. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/clients/openai_responses_client.py +2 -0
  47. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/clients/renderer_client.py +2 -0
  48. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/decorators.py +2 -0
  49. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/env_group.py +8 -6
  50. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/environment.py +5 -3
  51. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/__init__.py +2 -0
  52. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/cli_agent_env.py +2 -0
  53. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/README.md +10 -8
  54. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/__init__.py +2 -0
  55. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/_filter.py +2 -0
  56. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/composable_env.py +2 -0
  57. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/harness.py +2 -0
  58. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/harnesses/__init__.py +2 -0
  59. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +2 -0
  60. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/harnesses/rlm.py +2 -0
  61. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/sandbox_debug_env.py +2 -0
  62. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/swe_debug_env.py +2 -0
  63. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/task.py +5 -3
  64. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/__init__.py +2 -0
  65. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +2 -0
  66. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +2 -0
  67. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +3 -1
  68. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +2 -0
  69. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +2 -0
  70. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +2 -0
  71. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +2 -0
  72. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +2 -0
  73. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +2 -0
  74. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +2 -0
  75. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +2 -0
  76. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +2 -0
  77. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +2 -0
  78. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +2 -0
  79. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +2 -0
  80. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +2 -0
  81. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +2 -0
  82. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/gym_env.py +2 -0
  83. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/harbor_env/__init__.py +2 -0
  84. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/harbor_env/env.py +2 -0
  85. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/harbor_env/mcp.py +6 -6
  86. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/mcp_env.py +2 -0
  87. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/opencode_env.py +2 -0
  88. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/opencode_rlm_env.py +2 -0
  89. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/sandbox_mixin.py +2 -0
  90. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/utils/file_locks.py +2 -0
  91. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/utils/git_checkout_cache.py +2 -0
  92. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/README.md +12 -3
  93. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/modes/__init__.py +2 -0
  94. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/modes/base.py +2 -0
  95. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +14 -12
  96. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +2 -0
  97. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/openenv_env.py +3 -1
  98. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/reasoninggym_env.py +2 -0
  99. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/textarena_env.py +3 -1
  100. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/multiturn_env.py +2 -0
  101. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/sandbox_env.py +2 -0
  102. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/stateful_tool_env.py +2 -0
  103. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/tool_env.py +3 -1
  104. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/errors.py +3 -0
  105. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/gepa/__init__.py +2 -0
  106. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/gepa/adapter.py +4 -2
  107. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/gepa/gepa_utils.py +2 -0
  108. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/parsers/maybe_think_parser.py +2 -0
  109. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/parsers/parser.py +2 -0
  110. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/parsers/think_parser.py +2 -0
  111. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/parsers/xml_parser.py +2 -0
  112. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/rubrics/experimental/hybrid_math_rubric.py +3 -1
  113. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/rubrics/judge_rubric.py +2 -0
  114. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/rubrics/math_rubric.py +2 -0
  115. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/rubrics/rubric.py +10 -8
  116. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/scripts/build.py +2 -0
  117. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/scripts/eval.py +2 -0
  118. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/scripts/gepa.py +3 -1
  119. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/scripts/install.py +2 -0
  120. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/scripts/setup.py +2 -0
  121. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/serve/__init__.py +2 -0
  122. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/serve/client/env_client.py +2 -0
  123. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/serve/client/zmq_env_client.py +2 -0
  124. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/serve/server/env_router.py +2 -0
  125. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/serve/server/env_worker.py +2 -0
  126. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/serve/types.py +2 -0
  127. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/types.py +4 -2
  128. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/async_utils.py +4 -2
  129. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/client_utils.py +2 -0
  130. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/data_utils.py +2 -0
  131. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/display_utils.py +2 -0
  132. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/env_config_utils.py +2 -0
  133. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/env_utils.py +2 -0
  134. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/error_utils.py +2 -0
  135. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/eval_display.py +2 -0
  136. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/eval_utils.py +6 -4
  137. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/heartbeat.py +2 -0
  138. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/install_utils.py +2 -0
  139. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/interception_utils.py +3 -1
  140. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/logging_utils.py +2 -0
  141. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/message_utils.py +7 -5
  142. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/metric_utils.py +2 -0
  143. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/process_utils.py +2 -0
  144. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/save_utils.py +4 -2
  145. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/thread_utils.py +2 -0
  146. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/threaded_sandbox_client.py +2 -0
  147. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/usage_utils.py +2 -0
  148. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/version_utils.py +2 -0
  149. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/__init__.py +45 -31
  150. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/agent.py +26 -31
  151. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/debug.py +3 -3
  152. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/eval/resume.py +2 -1
  153. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/init.py +5 -3
  154. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/validate.py +3 -3
  155. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/clients/train.py +1 -2
  156. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/env.py +3 -3
  157. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/retries.py +2 -2
  158. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/task.py +2 -2
  159. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/decorators.py +2 -1
  160. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/dialects/chat.py +2 -1
  161. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/env.py +6 -8
  162. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/envs/agentic_judge/env.py +5 -5
  163. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/gepa/adapter.py +3 -3
  164. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/gepa/reflection.py +2 -2
  165. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/gepa/runner.py +15 -15
  166. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harness.py +2 -3
  167. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/bash/program.py +9 -5
  168. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/codex/harness.py +2 -2
  169. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/pi/harness.py +6 -4
  170. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/pool/harness.py +7 -5
  171. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/rlm/harness.py +5 -5
  172. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/terminus_2/program.py +3 -1
  173. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/interception/server.py +8 -8
  174. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/judge.py +8 -10
  175. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/judges/rubric.py +9 -9
  176. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/legacy.py +2 -3
  177. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/loaders.py +8 -9
  178. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/mcp/server.py +3 -2
  179. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/push.py +1 -1
  180. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/retries.py +2 -1
  181. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/rollout.py +9 -10
  182. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/base.py +3 -2
  183. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/docker/__init__.py +1 -0
  184. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/docker/egress.py +2 -2
  185. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/limiters.py +2 -1
  186. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/modal.py +1 -1
  187. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/prime.py +3 -3
  188. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/subprocess.py +3 -3
  189. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/scoring.py +1 -1
  190. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/serve/client.py +3 -3
  191. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/task.py +4 -4
  192. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/harbor/taskset.py +8 -7
  193. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/lean/taskset.py +3 -3
  194. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/openenv/taskset.py +3 -3
  195. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/trace.py +2 -3
  196. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/aio.py +1 -1
  197. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/compile.py +1 -1
  198. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/git.py +2 -2
  199. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/version.py +1 -0
  200. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/.gitignore +0 -0
  201. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/LICENSE +0 -0
  202. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/README.md +0 -0
  203. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/__init__.py +0 -0
  204. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_build_script.py +0 -0
  205. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_client_config.py +0 -0
  206. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_client_multimodal_types.py +0 -0
  207. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_endpoint_registry.py +0 -0
  208. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_env_group.py +0 -0
  209. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_environment.py +0 -0
  210. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_error_chain.py +0 -0
  211. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_eval_display.py +0 -0
  212. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_eval_utils.py +0 -0
  213. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_gepa_utils.py +0 -0
  214. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_gym_env.py +0 -0
  215. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_harbor_env_mcp.py +0 -0
  216. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_init_script.py +0 -0
  217. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_install_utils.py +0 -0
  218. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_interception_utils.py +0 -0
  219. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_logging.py +0 -0
  220. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_math_rubric.py +0 -0
  221. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_maybe_think_parser.py +0 -0
  222. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_message_utils.py +0 -0
  223. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_message_utils_multimodal.py +0 -0
  224. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_multiturn_env.py +0 -0
  225. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_openai_responses_client.py +0 -0
  226. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_parser.py +0 -0
  227. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_path_utils.py +0 -0
  228. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_per_turn_timing.py +0 -0
  229. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_pricing_utils.py +0 -0
  230. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_prime_plugin.py +0 -0
  231. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_rubric_group.py +0 -0
  232. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_sandbox_debug_env.py +0 -0
  233. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_sandbox_env.py +0 -0
  234. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_setup_script.py +0 -0
  235. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_singleturn_env.py +0 -0
  236. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_stateful_tool_env.py +0 -0
  237. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_think_parser.py +0 -0
  238. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_tool_env.py +0 -0
  239. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_trajectory_processing.py +0 -0
  240. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_tui_info_formatting.py +0 -0
  241. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_types.py +0 -0
  242. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/test_xml_parser.py +0 -0
  243. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/conftest.py +1 -1
  244. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/fixtures/counter_tool_v1.py +0 -0
  245. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
  246. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_multi_v0.py +0 -0
  247. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_tool_v1.py +0 -0
  248. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/fixtures/echo_v0.py +0 -0
  249. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/fixtures/pyproject.toml +0 -0
  250. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
  251. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/test_color_codeword_tasks.py +0 -0
  252. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/test_configs.py +0 -0
  253. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/test_e2e.py +0 -0
  254. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/test_graph.py +0 -0
  255. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/test_legacy.py +0 -0
  256. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/test_taskset.py +0 -0
  257. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/tests/v1/test_trace.py +0 -0
  258. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/cli/__init__.py +0 -0
  259. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/cli/commands/__init__.py +0 -0
  260. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/cli/commands/setup.py +0 -0
  261. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/cli/plugins/__init__.py +0 -0
  262. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/cli/tui.py +0 -0
  263. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/__init__.py +0 -0
  264. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/README.md +0 -0
  265. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
  266. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
  267. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
  268. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
  269. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
  270. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
  271. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
  272. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
  273. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
  274. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
  275. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
  276. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
  277. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
  278. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
  279. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
  280. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
  281. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
  282. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
  283. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
  284. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/experimental/utils/__init__.py +0 -0
  285. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/__init__.py +0 -0
  286. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/README.md +0 -0
  287. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
  288. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
  289. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/python_env.py +0 -0
  290. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/envs/singleturn_env.py +0 -0
  291. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/gepa/config.py +0 -0
  292. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/gepa/display.py +0 -0
  293. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/parsers/__init__.py +0 -0
  294. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/rubrics/__init__.py +0 -0
  295. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/rubrics/rubric_group.py +0 -0
  296. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/scripts/__init__.py +0 -0
  297. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/scripts/init.py +0 -0
  298. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/scripts/tui.py +0 -0
  299. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/serve/server/__init__.py +0 -0
  300. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/serve/server/env_server.py +0 -0
  301. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/serve/server/zmq_env_server.py +0 -0
  302. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/__init__.py +0 -0
  303. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/config_utils.py +0 -0
  304. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/import_utils.py +0 -0
  305. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/path_utils.py +0 -0
  306. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/pricing_utils.py +0 -0
  307. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/response_utils.py +0 -0
  308. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/serve_utils.py +0 -0
  309. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/utils/tool_utils.py +0 -0
  310. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/acp/__init__.py +0 -0
  311. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/acp/_runner.py +0 -0
  312. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/__init__.py +0 -0
  313. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/dashboard/__init__.py +0 -0
  314. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/dashboard/base.py +0 -0
  315. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/dashboard/eval.py +3 -3
  316. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/dashboard/replay.py +0 -0
  317. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/dashboard/validate.py +0 -0
  318. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/eval/__init__.py +0 -0
  319. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/eval/main.py +4 -4
  320. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/eval/runner.py +4 -4
  321. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/gepa.py +0 -0
  322. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/output.py +0 -0
  323. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/replay.py +1 -1
  324. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/resolve.py +0 -0
  325. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/cli/serve.py +2 -2
  326. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/clients/__init__.py +4 -4
  327. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/clients/client.py +0 -0
  328. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/clients/config.py +0 -0
  329. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/clients/eval.py +1 -1
  330. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/__init__.py +0 -0
  331. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/agent.py +0 -0
  332. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/__init__.py +1 -1
  333. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/debug.py +1 -1
  334. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/eval.py +0 -0
  335. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/init.py +0 -0
  336. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/replay.py +0 -0
  337. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/serve.py +0 -0
  338. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/cli/validate.py +1 -1
  339. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/env.py +0 -0
  340. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/harness.py +0 -0
  341. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/judge.py +0 -0
  342. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/configs/taskset.py +0 -0
  343. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/dialects/__init__.py +1 -1
  344. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/dialects/anthropic.py +0 -0
  345. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/dialects/base.py +0 -0
  346. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/dialects/responses.py +0 -0
  347. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/envs/__init__.py +0 -0
  348. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
  349. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
  350. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/envs/best_of_n/env.py +0 -0
  351. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/envs/single_agent/__init__.py +0 -0
  352. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/envs/single_agent/env.py +1 -1
  353. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/envs/user_sim/__init__.py +0 -0
  354. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/envs/user_sim/env.py +0 -0
  355. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/episode.py +1 -1
  356. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/errors.py +0 -0
  357. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/gepa/__init__.py +0 -0
  358. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/gepa/config.py +0 -0
  359. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/gepa/dataset.py +0 -0
  360. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/graph.py +0 -0
  361. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/__init__.py +2 -2
  362. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/bash/__init__.py +0 -0
  363. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/bash/harness.py +3 -3
  364. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
  365. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
  366. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/codex/__init__.py +0 -0
  367. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
  368. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
  369. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
  370. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/mini_swe_agent/harness.py +1 -1
  371. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
  372. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/null/__init__.py +0 -0
  373. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/null/harness.py +3 -3
  374. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/null/program.py +0 -0
  375. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/pi/__init__.py +0 -0
  376. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/pool/__init__.py +0 -0
  377. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
  378. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
  379. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/harnesses/terminus_2/harness.py +1 -1
  380. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/interception/__init__.py +8 -8
  381. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/interception/base.py +0 -0
  382. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/interception/pool.py +0 -0
  383. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/interception/tunnel/__init__.py +4 -4
  384. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/interception/tunnel/base.py +0 -0
  385. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/interception/tunnel/custom.py +0 -0
  386. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/interception/tunnel/prime.py +0 -0
  387. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/judges/__init__.py +1 -1
  388. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/judges/reference.py +0 -0
  389. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/judges/reference.txt +0 -0
  390. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/judges/rubric.txt +0 -0
  391. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/mcp/__init__.py +3 -3
  392. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/mcp/launch.py +0 -0
  393. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/mcp/toolset.py +0 -0
  394. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/runtimes/__init__.py +13 -13
  395. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/serve/__init__.py +5 -5
  396. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/serve/pool.py +0 -0
  397. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/serve/server.py +0 -0
  398. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/serve/types.py +1 -1
  399. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/session.py +0 -0
  400. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/state.py +0 -0
  401. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/taskset.py +0 -0
  402. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/__init__.py +0 -0
  403. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
  404. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/lean/__init__.py +2 -2
  405. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/lean/scoring.py +0 -0
  406. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
  407. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
  408. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
  409. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/types.py +0 -0
  410. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/__init__.py +0 -0
  411. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/format.py +0 -0
  412. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/generic.py +0 -0
  413. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/image.py +0 -0
  414. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/install.py +0 -0
  415. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/interrupt.py +0 -0
  416. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/logging.py +0 -0
  417. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/memory.py +0 -0
  418. {verifiers-0.2.2.dev33 → verifiers-0.2.2.dev35}/verifiers/v1/utils/sampling.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: verifiers
3
- Version: 0.2.2.dev33
3
+ Version: 0.2.2.dev35
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
@@ -57,9 +57,9 @@ dependencies = [
57
57
 
58
58
  [dependency-groups]
59
59
  dev = [
60
- "ruff>=0.9.0",
60
+ "ruff>=0.16.0",
61
61
  "pre-commit>=2.19.0",
62
- "ty>=0.0.1a29,<0.0.22",
62
+ "ty>=0.0.63",
63
63
  "pytest>=7.0.0,<9.1.0",
64
64
  "pytest-asyncio>=0.21.0",
65
65
  "pytest-cov>=4.0.0",
@@ -135,6 +135,9 @@ scratchpad-v1 = { path = "environments/scratchpad_v1", editable = true }
135
135
  kuhn-poker-v1 = { path = "environments/kuhn_poker_v1", editable = true }
136
136
 
137
137
  [tool.uv.exclude-newer-package]
138
+ # Bounded cutoffs for the explicitly requested tool upgrades.
139
+ ruff = "2026-07-27"
140
+ ty = "2026-07-27"
138
141
  # PrimeIntellect-published on PyPI (trusted publisher)
139
142
  prime-tunnel = false
140
143
  prime-sandboxes = false
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Pytest configuration and fixtures for verifiers tests."""
2
4
 
3
5
  import logging
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Tests for BrowserEnv integration (browser_env, dom_mode, cua_mode).
2
4
 
3
5
  These tests verify the BrowserEnv class and its mode implementations
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Tests for CliAgentEnv and HarborEnv."""
2
4
 
3
5
  import asyncio
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import httpx
2
4
  import pytest
3
5
  from anthropic import AuthenticationError as AnthropicAuthenticationError
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Tests for the composable architecture: Task, TaskSet, SandboxTaskSet, SandboxSpec."""
2
4
 
3
5
  import importlib
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Tests for per-turn context token metrics.
2
4
 
3
5
  Tests the trajectory-based context token computation
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Tests for decorator priority ordering functionality."""
2
4
 
3
5
  import pytest
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Tests for the env server and client.
2
4
 
3
5
  Covers:
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Additional tests for verifiers.envs.environment.Environment.
2
4
 
3
5
  Covers:
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import argparse
2
4
  from pathlib import Path
3
5
 
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import verifiers
2
4
 
3
5
 
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  from unittest.mock import AsyncMock, patch
2
4
 
3
5
  import pytest
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  from typing import Any, cast
2
4
 
3
5
  import httpx
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Tests for the OpenCodeRLMEnv class."""
2
4
 
3
5
  import asyncio
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  from typing import Any
2
4
 
3
5
  import verifiers as vf
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import asyncio
2
4
  from functools import lru_cache
3
5
  from unittest.mock import patch
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Tier-1 end-to-end tests for the renderer → RendererClient → Environment path.
2
4
 
3
5
  Exercises the full TITO wire protocol with a scripted stand-in for vLLM:
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Tests for RLM harness integration with ComposableEnv.
2
4
 
3
5
  Validates that rlm_harness() produces a Harness with the correct metrics
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Tests for the Rubric class."""
2
4
 
3
5
  from typing import cast
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import asyncio
2
4
  from unittest.mock import AsyncMock, MagicMock, patch
3
5
 
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Tests for verifiers.utils.save_utils serialization behavior.
2
4
 
3
5
  Covers:
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Tests for the tool_utils module."""
2
4
 
3
5
  from typing import Annotated, Optional
@@ -9,10 +9,10 @@ should land one record carrying two role-stamped traces.
9
9
 
10
10
  import asyncio
11
11
 
12
- import verifiers.v1 as vf
13
-
14
12
  from echo_v1 import EchoTaskset, lenient_match
15
13
 
14
+ import verifiers.v1 as vf
15
+
16
16
 
17
17
  class DuetEnvConfig(vf.EnvConfig):
18
18
  # Both seats pin the lean `null` chat loop.
@@ -42,4 +42,4 @@ class DuetTaskset(EchoTaskset):
42
42
  pass
43
43
 
44
44
 
45
- __all__ = ["DuetTaskset", "DuetEnv"]
45
+ __all__ = ["DuetEnv", "DuetTaskset"]
@@ -93,7 +93,7 @@ class ACPResumeTaskset(vf.Taskset[ACPResumeTask, ACPResumeConfig]):
93
93
  ]
94
94
 
95
95
 
96
- __all__ = ["ACPResumeTaskset", "ACPResumeEnv"]
96
+ __all__ = ["ACPResumeEnv", "ACPResumeTaskset"]
97
97
 
98
98
 
99
99
  if __name__ == "__main__":
@@ -62,4 +62,4 @@ class EchoUserSimTaskset(vf.Taskset[EchoUserSimTask, EchoUserSimConfig]):
62
62
  ]
63
63
 
64
64
 
65
- __all__ = ["EchoUserSimTaskset", "EchoUserSimEnv"]
65
+ __all__ = ["EchoUserSimEnv", "EchoUserSimTaskset"]
@@ -6,6 +6,8 @@ the model's reply. It's a fixture taskset for the v1 e2e suite (in tests/v1/fixt
6
6
  by id `echo-v1` via pytest's `pythonpath`).
7
7
  """
8
8
 
9
+ from pydantic import Field
10
+
9
11
  import verifiers.v1 as vf
10
12
 
11
13
  SYSTEM = "Repeat the user's message back to them exactly, with no extra words."
@@ -39,7 +41,9 @@ class EchoTask(vf.Task[EchoData]):
39
41
 
40
42
 
41
43
  class EchoConfig(vf.TasksetConfig):
42
- phrases: list[str] = ["hello world", "ping", "verifiers"]
44
+ phrases: list[str] = Field(
45
+ default_factory=lambda: ["hello world", "ping", "verifiers"]
46
+ )
43
47
 
44
48
 
45
49
  class EchoTaskset(vf.Taskset[EchoTask, EchoConfig]):
@@ -72,7 +72,9 @@ def test_eval(taskset: str):
72
72
  "--sampling.max-tokens", "512", "--rich", "false",
73
73
  ] # fmt: skip
74
74
  try:
75
- proc = subprocess.run(cmd, capture_output=True, text=True, timeout=EVAL_TIMEOUT)
75
+ proc = subprocess.run(
76
+ cmd, capture_output=True, text=True, timeout=EVAL_TIMEOUT, check=False
77
+ )
76
78
  except subprocess.TimeoutExpired:
77
79
  pytest.fail(f"Timed out after {EVAL_TIMEOUT}s evaluating {taskset}")
78
80
  assert proc.returncode == 0, (
@@ -6,6 +6,7 @@ import json
6
6
  import re
7
7
 
8
8
  import pytest
9
+ from pydantic import Field
9
10
 
10
11
  import verifiers.v1 as vf
11
12
  from verifiers.v1.graph import MessageNode
@@ -72,7 +73,9 @@ def fake_judge_model(monkeypatch):
72
73
  "reason": "cites Paris" if "Paris" in text else "no Paris",
73
74
  "verdict": "yes" if "Paris" in text else "no",
74
75
  }
75
- for name, text in re.findall(r"^- ([^:]+): (.+)$", messages, re.M)
76
+ for name, text in re.findall(
77
+ r"^- ([^:]+): (.+)$", messages, re.MULTILINE
78
+ )
76
79
  ]
77
80
  response = JudgeResponse(
78
81
  text=json.dumps({"verdicts": verdicts}),
@@ -167,7 +170,12 @@ def test_judges_reject_shared_reward_keys():
167
170
 
168
171
  # class-level DEFAULTS are held to the same rule (they bypass the before-hook)
169
172
  class TwoDefaults(vf.TaskConfig):
170
- judges: vf.Judges = [vf.ReferenceJudgeConfig(), vf.ReferenceJudgeConfig()]
173
+ judges: vf.Judges = Field(
174
+ default_factory=lambda: [
175
+ vf.ReferenceJudgeConfig(),
176
+ vf.ReferenceJudgeConfig(),
177
+ ]
178
+ )
171
179
 
172
180
  with pytest.raises(ValueError, match="share a reward key"):
173
181
  TwoDefaults()
@@ -227,7 +235,8 @@ async def test_reference_score(fake_judge_model):
227
235
 
228
236
  async def test_reference_score_messages_prompt(fake_judge_model):
229
237
  # A Messages-form prompt still reaches the judge as text (via TaskData.prompt_text).
230
- from verifiers.v1.types import TextContentPart, UserMessage as UM
238
+ from verifiers.v1.types import TextContentPart
239
+ from verifiers.v1.types import UserMessage as UM
231
240
 
232
241
  task = QAData(
233
242
  idx=0,
@@ -400,7 +409,7 @@ async def test_reference_empty_response_short_circuits(fake_judge_model):
400
409
  async def test_reference_list_answer(fake_judge_model):
401
410
  # A list-valued answer field is judged as multiple acceptable answers, one per line.
402
411
  class MultiTask(vf.TaskData):
403
- aliases: list[str] = []
412
+ aliases: list[str] = Field(default_factory=list)
404
413
 
405
414
  task = MultiTask(idx=0, prompt="q?", aliases=["Paris", "Lutetia"])
406
415
  trace = make_trace()
@@ -569,11 +578,11 @@ async def test_rubric_off_menu_answer_raises(tmp_path, monkeypatch):
569
578
 
570
579
  def test_rubric_choices_validation(tmp_path):
571
580
  with pytest.raises(ValueError, match="at least two"):
572
- rubric_judge(
581
+ _ = rubric_judge(
573
582
  tmp_path, body='[[criteria]]\nname = "x"\ntext = "t"\nchoices = ["only"]\n'
574
583
  ).criteria
575
584
  with pytest.raises(ValueError, match="duplicate options"):
576
- rubric_judge(
585
+ _ = rubric_judge(
577
586
  tmp_path,
578
587
  body='[[criteria]]\nname = "x"\ntext = "t"\nchoices = ["a", "a"]\n',
579
588
  ).criteria
@@ -10,13 +10,11 @@ def test_compare_stdout_results_keeps_numeric_tolerance() -> None:
10
10
 
11
11
 
12
12
  def test_parse_pytest_outcomes_strips_xfail_xpass_reasons() -> None:
13
- output = "\n".join(
14
- [
15
- "XFAIL tests/test_mod.py::test_xfail - known bug - still tracked",
16
- "XPASS tests/test_mod.py::test_xpass - always xfail - unexpectedly passed",
17
- "FAILED tests/test_mod.py::test_param[a - b] - assert left - right",
18
- "PASSED tests/test_mod.py::test_ok",
19
- ]
13
+ output = (
14
+ "XFAIL tests/test_mod.py::test_xfail - known bug - still tracked\n"
15
+ "XPASS tests/test_mod.py::test_xpass - always xfail - unexpectedly passed\n"
16
+ "FAILED tests/test_mod.py::test_param[a - b] - assert left - right\n"
17
+ "PASSED tests/test_mod.py::test_ok"
20
18
  )
21
19
 
22
20
  assert vf.parse_pytest_outcomes(output) == {
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  from importlib.metadata import PackageNotFoundError
2
4
  from importlib.metadata import version as _version
3
5
 
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Environment build command module for external hosts."""
2
4
 
3
5
  from verifiers.scripts.build import main
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Evaluation command module for external hosts."""
2
4
 
3
5
  from verifiers.scripts.eval import (
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """GEPA command module for external hosts."""
2
4
 
3
5
  from verifiers.scripts.gepa import main
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Environment initialization command module for external hosts."""
2
4
 
3
5
  from verifiers.scripts.init import main
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Environment install command module for external hosts."""
2
4
 
3
5
  from verifiers.scripts.install import main
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Prime-hosted command plugin contract."""
2
4
 
3
5
  from dataclasses import dataclass
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  from verifiers.clients.anthropic_messages_client import AnthropicMessagesClient
2
4
  from verifiers.clients.client import Client
3
5
  from verifiers.clients.nemorl_chat_completions_client import (
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import functools
2
4
  import json
3
5
  import time
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import logging
2
4
  from abc import ABC, abstractmethod
3
5
  from typing import TYPE_CHECKING, Generic, TypeVar
@@ -108,8 +108,8 @@ def _attach_trajectory_tokens_to_prompt(
108
108
  continue
109
109
  msg = prompt[i]
110
110
  if (prompt_ids := tokens.get("prompt_ids")) is not None:
111
- msg.prompt_token_ids = list(prompt_ids)
111
+ msg.prompt_token_ids = list(prompt_ids) # ty:ignore[invalid-assignment]
112
112
  if (completion_ids := tokens.get("completion_ids")) is not None:
113
- msg.generation_token_ids = list(completion_ids)
113
+ msg.generation_token_ids = list(completion_ids) # ty:ignore[invalid-assignment]
114
114
  if (completion_logprobs := tokens.get("completion_logprobs")) is not None:
115
- msg.generation_log_probs = list(completion_logprobs)
115
+ msg.generation_log_probs = list(completion_logprobs) # ty:ignore[invalid-assignment]
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import functools
2
4
  from collections.abc import Iterable, Mapping
3
5
  from typing import Any, TypeAlias, cast
@@ -231,7 +233,7 @@ class OpenAIChatCompletionsClient(
231
233
  role="assistant",
232
234
  content=cast(Any, normalize_content(message.content)),
233
235
  tool_calls=cast(Any, oai_tool_calls),
234
- reasoning_content=message.reasoning_content, # type: ignore[arg-type]
236
+ reasoning_content=message.reasoning_content, # type: ignore[arg-type] # ty:ignore[invalid-key]
235
237
  )
236
238
  elif isinstance(message, ToolMessage):
237
239
  return ChatCompletionToolMessageParam(
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  from collections.abc import Mapping
2
4
  from typing import Any, Optional, cast
3
5
 
@@ -288,7 +290,7 @@ class OpenAIChatCompletionsTokenClient(OpenAIChatCompletionsClient):
288
290
  if tool_call_ids:
289
291
  dummy_assistant: OpenAIChatMessage = ChatCompletionAssistantMessageParam(
290
292
  role="assistant",
291
- reasoning_content="", # type: ignore[typeddict-unknown-key]
293
+ reasoning_content="", # type: ignore[typeddict-unknown-key] # ty:ignore[invalid-key]
292
294
  tool_calls=[
293
295
  ChatCompletionMessageFunctionToolCallParam(
294
296
  id=tc_id,
@@ -301,7 +303,7 @@ class OpenAIChatCompletionsTokenClient(OpenAIChatCompletionsClient):
301
303
  else:
302
304
  dummy_assistant: OpenAIChatMessage = ChatCompletionAssistantMessageParam(
303
305
  role="assistant",
304
- reasoning_content="", # type: ignore[typeddict-unknown-key]
306
+ reasoning_content="", # type: ignore[typeddict-unknown-key] # ty:ignore[invalid-key]
305
307
  content="x",
306
308
  )
307
309
 
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  from openai import (
2
4
  AsyncOpenAI,
3
5
  )
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import time
2
4
  from collections.abc import Iterable, Mapping
3
5
  from typing import Any, TypeAlias
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  """Renderer-based client.
2
4
 
3
5
  All tokenization happens client-side via a Renderer from the renderers package.
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import inspect
2
4
  from typing import Any, Callable, Literal, TypeVar, overload
3
5
 
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import json
2
4
  from collections.abc import Mapping
3
5
  from typing import TYPE_CHECKING, Any, cast, final
@@ -292,7 +294,7 @@ class EnvGroup(vf.Environment):
292
294
  return dataset
293
295
 
294
296
  @final
295
- async def run_rollout( # type: ignore[override]
297
+ async def run_rollout( # type: ignore[override] # ty:ignore[override-of-final-method]
296
298
  self,
297
299
  input: RolloutInput,
298
300
  client: Client | ClientConfig,
@@ -328,10 +330,10 @@ class EnvGroup(vf.Environment):
328
330
  state_columns,
329
331
  env.env_client,
330
332
  )
331
- return _set_info_route(output, route) # type: ignore[return-value]
333
+ return _set_info_route(output, route) # type: ignore[return-value] # ty:ignore[invalid-return-type]
332
334
 
333
335
  @final
334
- async def run_group( # type: ignore[override]
336
+ async def run_group( # type: ignore[override] # ty:ignore[override-of-final-method]
335
337
  self,
336
338
  group_inputs: list[RolloutInput],
337
339
  client: Client | ClientConfig,
@@ -340,7 +342,7 @@ class EnvGroup(vf.Environment):
340
342
  max_retries: int = 0,
341
343
  state_columns: list[str] | None = None,
342
344
  env_client: EnvClient | None = None,
343
- ) -> list[vf.RolloutOutput]:
345
+ ) -> list[vf.RolloutOutput]: # ty:ignore[invalid-method-override]
344
346
  target_env_client = env_client or self.env_client
345
347
  if target_env_client is not None:
346
348
  if not isinstance(client, ClientConfig):
@@ -381,7 +383,7 @@ class EnvGroup(vf.Environment):
381
383
  state_columns,
382
384
  env.env_client,
383
385
  )
384
- return [_set_info_route(output, route) for output in outputs] # type: ignore[return-value]
386
+ return [_set_info_route(output, route) for output in outputs] # type: ignore[return-value] # ty:ignore[invalid-return-type]
385
387
 
386
388
  @final
387
389
  async def rollout(
@@ -415,7 +417,7 @@ class EnvGroup(vf.Environment):
415
417
  child_input["info"] = info
416
418
  else:
417
419
  child_input.pop("info", None)
418
- return env_name, child_input, route # type: ignore[return-value]
420
+ return env_name, child_input, route # type: ignore[return-value] # ty:ignore[invalid-return-type]
419
421
 
420
422
  def _input_env_route(self, input: RolloutInput) -> tuple[str, ...]:
421
423
  info = _info_dict(input.get("info"))
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import asyncio
2
4
  import atexit
3
5
  import json
@@ -160,7 +162,7 @@ class Environment(ABC):
160
162
 
161
163
  if dataset is not None:
162
164
  if callable(dataset):
163
- self.dataset_source: DatasetBuilder | None = cast(
165
+ self.dataset_source: DatasetBuilder | None = cast( # ty:ignore[unsupported-operator]
164
166
  DatasetBuilder, dataset
165
167
  )
166
168
  else:
@@ -171,7 +173,7 @@ class Environment(ABC):
171
173
 
172
174
  if eval_dataset is not None:
173
175
  if callable(eval_dataset):
174
- self.eval_dataset_source: DatasetBuilder | None = cast(
176
+ self.eval_dataset_source: DatasetBuilder | None = cast( # ty:ignore[unsupported-operator]
175
177
  DatasetBuilder, eval_dataset
176
178
  )
177
179
  else:
@@ -292,7 +294,7 @@ class Environment(ABC):
292
294
  if few_shot:
293
295
  messages.extend(few_shot)
294
296
  messages.append({"role": "user", "content": prompt_str})
295
- return messages
297
+ return messages # ty:ignore[invalid-return-type]
296
298
 
297
299
  if answer_key == "answer":
298
300
  dataset = dataset.map(
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  from verifiers.envs.experimental.sandbox_mixin import SandboxMixin
2
4
 
3
5
  __all__ = [
@@ -1,3 +1,5 @@
1
+ # ruff: noqa
2
+
1
3
  import asyncio
2
4
  import logging
3
5
  import os
@@ -30,13 +30,13 @@ from verifiers.envs.experimental.composable.harnesses.opencode import opencode_h
30
30
  from verifiers.envs.experimental.composable import ComposableEnv
31
31
 
32
32
  # Create a taskset
33
- taskset = R2EGymTaskSet() # 4578 SWE instances
33
+ taskset = R2EGymTaskSet() # 4578 SWE instances
34
34
 
35
35
  # Explore instances
36
- task = taskset[0] # one Task
37
- task.prompt # the problem statement
38
- task.sandbox_spec # SandboxSpec(image=..., cpu=4, ...)
39
- task.sandbox_spec.image # per-instance docker image
36
+ task = taskset[0] # one Task
37
+ task.prompt # the problem statement
38
+ task.sandbox_spec # SandboxSpec(image=..., cpu=4, ...)
39
+ task.sandbox_spec.image # per-instance docker image
40
40
 
41
41
  # Slice and filter
42
42
  small = taskset.take(100)
@@ -46,9 +46,9 @@ filtered = taskset.filter(lambda ex: ...)
46
46
  results = await taskset.validate(
47
47
  concurrency=50,
48
48
  out_path="outputs/validate.jsonl",
49
- max_retries=2, # retry on vf.InfraError
49
+ max_retries=2, # retry on vf.InfraError
50
50
  sandbox_client_max_workers=100, # optional sandbox client worker cap override
51
- resume=True, # skip indices already in out_path
51
+ resume=True, # skip indices already in out_path
52
52
  )
53
53
 
54
54
  # Run with an agent
@@ -135,7 +135,9 @@ class MySWERubric(vf.Rubric):
135
135
  sandbox_client = state["sandbox_client"]
136
136
  sandbox_id = state["sandbox_id"]
137
137
  # Run tests in the sandbox
138
- test_output = await self.taskset._run_tests(sandbox_client, sandbox_id, state, ...)
138
+ test_output = await self.taskset._run_tests(
139
+ sandbox_client, sandbox_id, state, ...
140
+ )
139
141
  return float(self.taskset._calculate_reward(test_output, info))
140
142
 
141
143
  @vf.cleanup