verifiers 0.2.2.dev26__tar.gz → 0.2.2.dev28__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.dev26 → verifiers-0.2.2.dev28}/PKG-INFO +1 -1
  2. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/test_e2e.py +8 -6
  3. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/test_judges.py +8 -6
  4. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/__init__.py +2 -0
  5. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/dashboard/eval.py +9 -3
  6. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/envs/agentic_judge/env.py +2 -2
  7. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/legacy.py +2 -1
  8. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/push.py +6 -4
  9. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/trace.py +23 -7
  10. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/.gitignore +0 -0
  11. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/LICENSE +0 -0
  12. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/README.md +0 -0
  13. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/pyproject.toml +0 -0
  14. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/__init__.py +0 -0
  15. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/conftest.py +0 -0
  16. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_browser_env.py +0 -0
  17. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_build_script.py +0 -0
  18. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_cli_agent_env.py +0 -0
  19. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_client_auth_errors.py +0 -0
  20. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_client_config.py +0 -0
  21. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_client_multimodal_types.py +0 -0
  22. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_composable_env.py +0 -0
  23. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_context_token_metrics.py +0 -0
  24. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_decorator_ranks.py +0 -0
  25. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_endpoint_registry.py +0 -0
  26. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_env_group.py +0 -0
  27. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_env_server.py +0 -0
  28. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_environment.py +0 -0
  29. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_environment_extra.py +0 -0
  30. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_error_chain.py +0 -0
  31. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_eval_display.py +0 -0
  32. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_eval_utils.py +0 -0
  33. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_gepa_cli.py +0 -0
  34. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_gepa_utils.py +0 -0
  35. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_gym_env.py +0 -0
  36. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_harbor_env_mcp.py +0 -0
  37. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_imports.py +0 -0
  38. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_init_script.py +0 -0
  39. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_install_utils.py +0 -0
  40. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_interception_utils.py +0 -0
  41. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_logging.py +0 -0
  42. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_math_rubric.py +0 -0
  43. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_maybe_think_parser.py +0 -0
  44. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_message_utils.py +0 -0
  45. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_message_utils_multimodal.py +0 -0
  46. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_multiturn_env.py +0 -0
  47. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_nemorl_client.py +0 -0
  48. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_openai_chat_completions_token_client.py +0 -0
  49. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_openai_responses_client.py +0 -0
  50. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_opencode_rlm_env.py +0 -0
  51. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_openenv_client.py +0 -0
  52. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_parser.py +0 -0
  53. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_path_utils.py +0 -0
  54. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_per_turn_timing.py +0 -0
  55. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_pricing_utils.py +0 -0
  56. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_prime_plugin.py +0 -0
  57. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_renderer_client.py +0 -0
  58. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_renderer_e2e.py +0 -0
  59. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_rlm_composable_env.py +0 -0
  60. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_rubric.py +0 -0
  61. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_rubric_group.py +0 -0
  62. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_sandbox_debug_env.py +0 -0
  63. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_sandbox_env.py +0 -0
  64. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_sandbox_mixin.py +0 -0
  65. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_save_utils.py +0 -0
  66. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_setup_script.py +0 -0
  67. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_singleturn_env.py +0 -0
  68. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_stateful_tool_env.py +0 -0
  69. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_think_parser.py +0 -0
  70. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_tool_env.py +0 -0
  71. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_tool_utils.py +0 -0
  72. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_trajectory_processing.py +0 -0
  73. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_tui_info_formatting.py +0 -0
  74. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_types.py +0 -0
  75. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/test_xml_parser.py +0 -0
  76. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/conftest.py +0 -0
  77. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/fixtures/counter_tool_v1.py +0 -0
  78. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/fixtures/duet_v1.py +0 -0
  79. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
  80. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
  81. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/fixtures/echo_multi_v0.py +0 -0
  82. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/fixtures/echo_tool_v1.py +0 -0
  83. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
  84. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/fixtures/echo_v0.py +0 -0
  85. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/fixtures/echo_v1.py +0 -0
  86. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/fixtures/pyproject.toml +0 -0
  87. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
  88. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/test_color_codeword_tasks.py +0 -0
  89. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/test_configs.py +0 -0
  90. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/test_envs.py +0 -0
  91. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/test_graph.py +0 -0
  92. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/test_legacy.py +0 -0
  93. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/test_scoring.py +0 -0
  94. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/test_taskset.py +0 -0
  95. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/tests/v1/test_trace.py +0 -0
  96. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/__init__.py +0 -0
  97. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/cli/__init__.py +0 -0
  98. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/cli/commands/__init__.py +0 -0
  99. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/cli/commands/build.py +0 -0
  100. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/cli/commands/eval.py +0 -0
  101. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/cli/commands/gepa.py +0 -0
  102. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/cli/commands/init.py +0 -0
  103. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/cli/commands/install.py +0 -0
  104. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/cli/commands/setup.py +0 -0
  105. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/cli/plugins/__init__.py +0 -0
  106. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/cli/plugins/prime.py +0 -0
  107. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/cli/tui.py +0 -0
  108. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/clients/__init__.py +0 -0
  109. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/clients/anthropic_messages_client.py +0 -0
  110. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/clients/client.py +0 -0
  111. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
  112. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/clients/openai_chat_completions_client.py +0 -0
  113. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
  114. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/clients/openai_completions_client.py +0 -0
  115. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/clients/openai_responses_client.py +0 -0
  116. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/clients/renderer_client.py +0 -0
  117. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/decorators.py +0 -0
  118. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/__init__.py +0 -0
  119. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/env_group.py +0 -0
  120. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/environment.py +0 -0
  121. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/README.md +0 -0
  122. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/__init__.py +0 -0
  123. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/cli_agent_env.py +0 -0
  124. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/README.md +0 -0
  125. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/__init__.py +0 -0
  126. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/_filter.py +0 -0
  127. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/composable_env.py +0 -0
  128. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/harness.py +0 -0
  129. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
  130. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
  131. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
  132. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
  133. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
  134. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
  135. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
  136. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/task.py +0 -0
  137. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
  138. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
  139. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
  140. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
  141. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
  142. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
  143. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
  144. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
  145. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
  146. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
  147. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
  148. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
  149. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
  150. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
  151. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
  152. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
  153. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
  154. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
  155. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
  156. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
  157. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
  158. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
  159. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
  160. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
  161. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
  162. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
  163. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
  164. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
  165. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
  166. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
  167. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
  168. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
  169. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
  170. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
  171. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/gym_env.py +0 -0
  172. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
  173. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/harbor_env/env.py +0 -0
  174. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
  175. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/mcp_env.py +0 -0
  176. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/opencode_env.py +0 -0
  177. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
  178. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
  179. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
  180. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/utils/__init__.py +0 -0
  181. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/utils/file_locks.py +0 -0
  182. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
  183. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/integrations/README.md +0 -0
  184. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/integrations/__init__.py +0 -0
  185. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/integrations/browser_env/README.md +0 -0
  186. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
  187. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
  188. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
  189. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
  190. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
  191. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
  192. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/integrations/openenv_env.py +0 -0
  193. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
  194. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/integrations/textarena_env.py +0 -0
  195. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/multiturn_env.py +0 -0
  196. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/python_env.py +0 -0
  197. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/sandbox_env.py +0 -0
  198. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/singleturn_env.py +0 -0
  199. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/stateful_tool_env.py +0 -0
  200. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/envs/tool_env.py +0 -0
  201. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/errors.py +0 -0
  202. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/gepa/__init__.py +0 -0
  203. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/gepa/adapter.py +0 -0
  204. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/gepa/config.py +0 -0
  205. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/gepa/display.py +0 -0
  206. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/gepa/gepa_utils.py +0 -0
  207. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/parsers/__init__.py +0 -0
  208. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/parsers/maybe_think_parser.py +0 -0
  209. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/parsers/parser.py +0 -0
  210. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/parsers/think_parser.py +0 -0
  211. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/parsers/xml_parser.py +0 -0
  212. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/rubrics/__init__.py +0 -0
  213. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
  214. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/rubrics/judge_rubric.py +0 -0
  215. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/rubrics/math_rubric.py +0 -0
  216. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/rubrics/rubric.py +0 -0
  217. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/rubrics/rubric_group.py +0 -0
  218. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/scripts/__init__.py +0 -0
  219. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/scripts/build.py +0 -0
  220. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/scripts/eval.py +0 -0
  221. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/scripts/gepa.py +0 -0
  222. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/scripts/init.py +0 -0
  223. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/scripts/install.py +0 -0
  224. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/scripts/setup.py +0 -0
  225. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/scripts/tui.py +0 -0
  226. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/serve/__init__.py +0 -0
  227. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/serve/client/env_client.py +0 -0
  228. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/serve/client/zmq_env_client.py +0 -0
  229. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/serve/server/__init__.py +0 -0
  230. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/serve/server/env_router.py +0 -0
  231. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/serve/server/env_server.py +0 -0
  232. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/serve/server/env_worker.py +0 -0
  233. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/serve/server/zmq_env_server.py +0 -0
  234. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/serve/types.py +0 -0
  235. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/types.py +0 -0
  236. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/__init__.py +0 -0
  237. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/async_utils.py +0 -0
  238. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/client_utils.py +0 -0
  239. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/config_utils.py +0 -0
  240. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/data_utils.py +0 -0
  241. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/display_utils.py +0 -0
  242. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/env_config_utils.py +0 -0
  243. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/env_utils.py +0 -0
  244. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/error_utils.py +0 -0
  245. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/eval_display.py +0 -0
  246. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/eval_utils.py +0 -0
  247. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/heartbeat.py +0 -0
  248. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/import_utils.py +0 -0
  249. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/install_utils.py +0 -0
  250. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/interception_utils.py +0 -0
  251. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/logging_utils.py +0 -0
  252. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/message_utils.py +0 -0
  253. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/metric_utils.py +0 -0
  254. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/path_utils.py +0 -0
  255. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/pricing_utils.py +0 -0
  256. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/process_utils.py +0 -0
  257. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/response_utils.py +0 -0
  258. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/save_utils.py +0 -0
  259. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/serve_utils.py +0 -0
  260. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/thread_utils.py +0 -0
  261. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/threaded_sandbox_client.py +0 -0
  262. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/tool_utils.py +0 -0
  263. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/usage_utils.py +0 -0
  264. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/utils/version_utils.py +0 -0
  265. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/acp/__init__.py +0 -0
  266. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/acp/_runner.py +0 -0
  267. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/agent.py +0 -0
  268. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/__init__.py +0 -0
  269. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/dashboard/__init__.py +0 -0
  270. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/dashboard/base.py +0 -0
  271. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/dashboard/replay.py +0 -0
  272. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/dashboard/validate.py +0 -0
  273. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/debug.py +0 -0
  274. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/eval/__init__.py +0 -0
  275. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/eval/main.py +0 -0
  276. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/eval/resume.py +0 -0
  277. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/eval/runner.py +0 -0
  278. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/gepa.py +0 -0
  279. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/init.py +0 -0
  280. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/output.py +0 -0
  281. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/replay.py +0 -0
  282. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/resolve.py +0 -0
  283. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/serve.py +0 -0
  284. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/cli/validate.py +0 -0
  285. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/clients/__init__.py +0 -0
  286. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/clients/client.py +0 -0
  287. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/clients/config.py +0 -0
  288. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/clients/eval.py +0 -0
  289. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/clients/train.py +0 -0
  290. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/__init__.py +0 -0
  291. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/agent.py +0 -0
  292. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/cli/__init__.py +0 -0
  293. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/cli/debug.py +0 -0
  294. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/cli/env.py +0 -0
  295. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/cli/eval.py +0 -0
  296. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/cli/init.py +0 -0
  297. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/cli/replay.py +0 -0
  298. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/cli/serve.py +0 -0
  299. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/cli/validate.py +0 -0
  300. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/env.py +0 -0
  301. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/harness.py +0 -0
  302. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/judge.py +0 -0
  303. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/retries.py +0 -0
  304. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/task.py +0 -0
  305. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/configs/taskset.py +0 -0
  306. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/decorators.py +0 -0
  307. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/dialects/__init__.py +0 -0
  308. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/dialects/anthropic.py +0 -0
  309. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/dialects/base.py +0 -0
  310. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/dialects/chat.py +0 -0
  311. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/dialects/responses.py +0 -0
  312. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/env.py +0 -0
  313. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/envs/__init__.py +0 -0
  314. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
  315. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
  316. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/envs/best_of_n/env.py +0 -0
  317. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/envs/single_agent/__init__.py +0 -0
  318. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/envs/single_agent/env.py +0 -0
  319. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/envs/user_sim/__init__.py +0 -0
  320. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/envs/user_sim/env.py +0 -0
  321. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/episode.py +0 -0
  322. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/errors.py +0 -0
  323. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/gepa/__init__.py +0 -0
  324. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/gepa/adapter.py +0 -0
  325. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/gepa/config.py +0 -0
  326. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/gepa/dataset.py +0 -0
  327. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/gepa/reflection.py +0 -0
  328. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/gepa/runner.py +0 -0
  329. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/graph.py +0 -0
  330. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harness.py +0 -0
  331. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/__init__.py +0 -0
  332. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/bash/__init__.py +0 -0
  333. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/bash/harness.py +0 -0
  334. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/bash/program.py +0 -0
  335. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
  336. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
  337. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/codex/__init__.py +0 -0
  338. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/codex/harness.py +0 -0
  339. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
  340. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
  341. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
  342. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
  343. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
  344. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/null/__init__.py +0 -0
  345. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/null/harness.py +0 -0
  346. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/null/program.py +0 -0
  347. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/pi/__init__.py +0 -0
  348. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/pi/harness.py +0 -0
  349. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/pool/__init__.py +0 -0
  350. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/pool/harness.py +0 -0
  351. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
  352. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/rlm/harness.py +0 -0
  353. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
  354. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
  355. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
  356. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/interception/__init__.py +0 -0
  357. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/interception/base.py +0 -0
  358. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/interception/pool.py +0 -0
  359. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/interception/server.py +0 -0
  360. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/interception/tunnel/__init__.py +0 -0
  361. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/interception/tunnel/base.py +0 -0
  362. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/interception/tunnel/custom.py +0 -0
  363. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/interception/tunnel/prime.py +0 -0
  364. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/judge.py +0 -0
  365. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/judges/__init__.py +0 -0
  366. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/judges/reference.py +0 -0
  367. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/judges/reference.txt +0 -0
  368. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/judges/rubric.py +0 -0
  369. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/judges/rubric.txt +0 -0
  370. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/loaders.py +0 -0
  371. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/mcp/__init__.py +0 -0
  372. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/mcp/launch.py +0 -0
  373. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/mcp/server.py +0 -0
  374. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/mcp/toolset.py +0 -0
  375. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/retries.py +0 -0
  376. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/rollout.py +0 -0
  377. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/runtimes/__init__.py +0 -0
  378. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/runtimes/base.py +0 -0
  379. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/runtimes/docker/__init__.py +0 -0
  380. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/runtimes/docker/egress.py +0 -0
  381. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/runtimes/limiters.py +0 -0
  382. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/runtimes/modal.py +0 -0
  383. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/runtimes/prime.py +0 -0
  384. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/runtimes/subprocess.py +0 -0
  385. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/scoring.py +0 -0
  386. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/serve/__init__.py +0 -0
  387. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/serve/client.py +0 -0
  388. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/serve/pool.py +0 -0
  389. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/serve/server.py +0 -0
  390. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/serve/types.py +0 -0
  391. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/session.py +0 -0
  392. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/state.py +0 -0
  393. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/task.py +0 -0
  394. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/taskset.py +0 -0
  395. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/tasksets/__init__.py +0 -0
  396. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
  397. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
  398. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/tasksets/lean/__init__.py +0 -0
  399. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/tasksets/lean/scoring.py +0 -0
  400. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/tasksets/lean/taskset.py +0 -0
  401. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
  402. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
  403. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
  404. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
  405. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/types.py +0 -0
  406. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/utils/__init__.py +0 -0
  407. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/utils/aio.py +0 -0
  408. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/utils/compile.py +0 -0
  409. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/utils/format.py +0 -0
  410. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/utils/generic.py +0 -0
  411. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/utils/git.py +0 -0
  412. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/utils/image.py +0 -0
  413. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/utils/install.py +0 -0
  414. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/utils/interrupt.py +0 -0
  415. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/utils/logging.py +0 -0
  416. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/utils/memory.py +0 -0
  417. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/verifiers/v1/utils/sampling.py +0 -0
  418. {verifiers-0.2.2.dev26 → verifiers-0.2.2.dev28}/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.dev26
3
+ Version: 0.2.2.dev28
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
@@ -197,7 +197,7 @@ async def test_acp_resume_with_tool(run_v1, harness, harness_runtime, tmp_path):
197
197
  )
198
198
  assert trace.ok, trace.errors
199
199
  assert trace.stop_condition == "user_closed"
200
- assert trace.rewards["resumed"] == 1.0
200
+ assert trace.rewards["resumed"].score == 1.0
201
201
  assert trace.tools # ACP-native tools, or Pi's MCP adapter meta-tool
202
202
  segments = trace.info["acp_segments"]
203
203
  assert len(segments) == 2
@@ -320,7 +320,7 @@ async def test_rubric_judge(run_v1, tmp_path):
320
320
  max_turns=2,
321
321
  )
322
322
  assert trace.ok
323
- assert trace.rewards["rubric"] > 0 # the judge's verdict landed in the reward
323
+ assert trace.rewards["rubric"].score > 0 # the judge's verdict landed in the reward
324
324
  assert trace.metrics["rubric/always_yes"] == 1.0
325
325
  assert trace.info["judge"] # the call was recorded onto the trace
326
326
 
@@ -428,9 +428,11 @@ async def test_env_id_agentic_judge(run_v1, tmp_path):
428
428
  (judge,) = [t for t in traces if t.agent_name == "judge"]
429
429
  assert solver.ok and judge.ok
430
430
  assert judge.trainable is False
431
- assert solver.rewards["echoed"] == 0.5 # the task's own reward, rescaled
431
+ # The task's own reward keeps its raw score; the rescale lands on the weight.
432
+ assert solver.rewards["echoed"].score == 1.0
433
+ assert solver.rewards["echoed"].weight == 0.5
432
434
  assert isinstance(judge.info.get("verdict"), dict) # scraped off the box
433
- assert 0.0 <= solver.rewards["judge"] <= 1.0
435
+ assert 0.0 <= solver.rewards["judge"].score <= 1.0
434
436
 
435
437
 
436
438
  @pytest.mark.e2e
@@ -491,7 +493,7 @@ async def test_env_id_user_sim_with_tools(run_v1, tmp_path):
491
493
  assert assistant.ok and user.ok
492
494
  assert assistant.task.data.prompt is None # the scenario stayed off the wire
493
495
  assert user.num_turns >= 1 # the modeled user actually drove the exchange
494
- assert assistant.rewards["echoed"] == 1.0 # the tool ran, mid-conversation
496
+ assert assistant.rewards["echoed"].score == 1.0 # the tool ran, mid-conversation
495
497
  # The tool was advertised to the masked chat exactly as to any run.
496
498
  assert assistant.tools is not None
497
499
  assert any(tool.name == "echo_back" for tool in assistant.tools)
@@ -513,7 +515,7 @@ async def test_kuhn_poker_self_play(run_v1, tmp_path):
513
515
  rollout_timeout=300,
514
516
  )
515
517
  assert sorted(t.agent_name for t in traces) == ["player0", "player1"]
516
- payoffs = {t.agent_name: t.rewards["payoff"] for t in traces}
518
+ payoffs = {t.agent_name: t.rewards["payoff"].score for t in traces}
517
519
  assert payoffs["player0"] + payoffs["player1"] == 0 # zero-sum
518
520
  assert abs(payoffs["player0"]) in (1.0, 2.0)
519
521
  for trace in traces:
@@ -453,7 +453,7 @@ async def test_error_attribution(monkeypatch, tmp_path):
453
453
  # model failure: empty reply -> judge skipped, reward 0.0, NO error
454
454
  trace = make_trace(reply="")
455
455
  await JudgedTask(trace.task.data, taskset.config.task).score(trace, runtime=None)
456
- assert trace.rewards["reference"] == 0.0
456
+ assert trace.rewards["reference"].score == 0.0
457
457
  # judge failure: unparseable verdict -> the rollout errors, no reward recorded
458
458
  trace = make_trace()
459
459
  with pytest.raises(vf.TaskError, match="no yes/no verdict"):
@@ -623,11 +623,13 @@ async def test_task_score_runs_plugged_judges(tmp_path, fake_judge_model):
623
623
  taskset = JudgedTaskset(cfg)
624
624
  trace = make_trace()
625
625
  await JudgedTask(trace.task.data, taskset.config.task).score(trace, runtime=None)
626
- assert trace.rewards["own"] == 0.25 # decorated rewards still run
626
+ assert trace.rewards["own"].score == 0.25 # decorated rewards still run
627
+ assert trace.rewards["reference"] == vf.Reward(
628
+ score=1.0, weight=0.5
629
+ ) # raw score + weight, under the id-derived name
627
630
  assert (
628
- trace.rewards["reference"] == 0.5
629
- ) # 1.0 * weight 0.5, under the id-derived name
630
- assert trace.rewards["quality"] == 0.75 # the rubric's aggregate, under its `name`
631
+ trace.rewards["quality"].score == 0.75
632
+ ) # the rubric's aggregate, under its `name`
631
633
  assert (
632
634
  len(trace.info["judge"]) == 2
633
635
  ) # every judge call recorded (rubric = one call)
@@ -636,4 +638,4 @@ async def test_task_score_runs_plugged_judges(tmp_path, fake_judge_model):
636
638
  async def test_task_without_judges_scores_as_before():
637
639
  trace = make_trace()
638
640
  await JudgedTask(trace.task.data).score(trace, runtime=None)
639
- assert trace.rewards == {"own": 0.25}
641
+ assert trace.rewards == {"own": vf.Reward(score=0.25)}
@@ -107,6 +107,7 @@ from verifiers.v1.trace import (
107
107
  EvalRunInfo,
108
108
  GenerationSpan,
109
109
  ModelCall,
110
+ Reward,
110
111
  RunInfo,
111
112
  TimeSpan,
112
113
  TimeSplit,
@@ -171,6 +172,7 @@ __all__ = [
171
172
  "Trace",
172
173
  "TraceTask",
173
174
  "WireTrace",
175
+ "Reward",
174
176
  "Episode",
175
177
  "WireEpisode",
176
178
  "TRACE_VERSION",
@@ -341,13 +341,19 @@ def _score_segments(traces: list[Trace], source: str) -> str | None:
341
341
  return None
342
342
  segments = []
343
343
  for name in names:
344
- mean = format_mean(
345
- traces, lambda t, n=name, s=source: getattr(t, s).get(n, 0.0)
346
- )
344
+ mean = format_mean(traces, lambda t, n=name, s=source: _score(t, s, n))
347
345
  segments.append(f"{name} {mean}")
348
346
  return " · ".join(segments)
349
347
 
350
348
 
349
+ def _score(trace: Trace, source: str, name: str) -> float:
350
+ """Rewards carry raw score + weight; the breakdown shows the raw score."""
351
+ if source == "rewards":
352
+ reward = trace.rewards.get(name)
353
+ return reward.score if reward is not None else 0.0
354
+ return trace.metrics.get(name, 0.0)
355
+
356
+
351
357
  def _breakdown(scored: list[Trace], done: list[Trace]) -> Table | None:
352
358
  """Score rows read the policy view (`scored` — trainable traces); with several
353
359
  roles in play they split per role, each role averaging over its OWN traces (no
@@ -340,8 +340,8 @@ class AgenticJudgeEnv(vf.Env[AgenticJudgeEnvConfig]):
340
340
  for criterion in criteria:
341
341
  solution.record_metric(f"judge/{criterion.name}", scores[criterion.name])
342
342
  if self.config.score.task_weight != 1.0:
343
- for name in solution.rewards:
344
- solution.rewards[name] *= self.config.score.task_weight
343
+ for reward in solution.rewards.values():
344
+ reward.weight *= self.config.score.task_weight
345
345
  total = sum(criterion.weight for criterion in criteria)
346
346
  reward = sum(c.weight * scores[c.name] for c in criteria) / total
347
347
  solution.record_reward("judge", reward, weight=self.config.score.judge_weight)
@@ -37,6 +37,7 @@ from verifiers.v1.trace import (
37
37
  Error,
38
38
  GenerationSpan,
39
39
  ModelCall,
40
+ Reward,
40
41
  TimeSpan,
41
42
  TimeSplit,
42
43
  Timing,
@@ -270,7 +271,7 @@ def rollout_output_to_trace(out: dict, task_idx: int) -> Trace:
270
271
  data=_to_wire_task(task_idx, out.get("prompt"), out.get("answer")),
271
272
  ),
272
273
  tools=_to_v1_tools(out.get("tool_defs")),
273
- rewards={"reward": float(out.get("reward") or 0.0)},
274
+ rewards={"reward": Reward(score=float(out.get("reward") or 0.0))},
274
275
  metrics={k: float(v) for k, v in (out.get("metrics") or {}).items()},
275
276
  info=dict(out.get("info") or {}),
276
277
  is_completed=bool(out.get("is_completed", True)),
@@ -90,9 +90,10 @@ def trace_to_sample(
90
90
  else None,
91
91
  "info": dict(trace.info) or None,
92
92
  }
93
- # Flatten sub-rewards to top-level keys the way v0 does; env metrics stay nested.
94
- for name, value in trace.rewards.items():
95
- sample.setdefault(name, value)
93
+ # Flatten sub-rewards to top-level keys the way v0 does (raw scores, as v0's
94
+ # per-function outputs were); env metrics stay nested.
95
+ for name, reward in trace.rewards.items():
96
+ sample.setdefault(name, reward.score)
96
97
  return sample
97
98
 
98
99
 
@@ -127,7 +128,8 @@ def _run_metrics(episodes: list[Episode], traces: list[Trace]) -> dict[str, Any]
127
128
  sums: dict[str, float] = {}
128
129
  counts: dict[str, int] = {}
129
130
  for trace in scored:
130
- for name, value in {**trace.rewards, **trace.metrics}.items():
131
+ scores = {name: reward.score for name, reward in trace.rewards.items()}
132
+ for name, value in {**scores, **trace.metrics}.items():
131
133
  sums[name] = sums.get(name, 0.0) + value
132
134
  counts[name] = counts.get(name, 0) + 1
133
135
  n = len(scored)
@@ -266,7 +266,7 @@ _NODE_DUMP_EXCLUDE: dict = {
266
266
  """Raw tensor fields kept on the msgpack wire but excluded from JSON records."""
267
267
 
268
268
 
269
- TRACE_VERSION = 3
269
+ TRACE_VERSION = 4
270
270
  """Version of the trace record schema (see `Trace.model_json_schema()`). Bumped on
271
271
  breaking shape changes; optional-with-default fields are additive and don't bump it."""
272
272
 
@@ -343,6 +343,21 @@ class TraceTask(StrictBaseModel, Generic[DataT]):
343
343
  """The (immutable) row being solved."""
344
344
 
345
345
 
346
+ class Reward(StrictBaseModel):
347
+ """One named reward as recorded on the trace: the raw score next to its weight,
348
+ so records keep both readable and the weighted sum stays a derived view."""
349
+
350
+ score: float
351
+ """The raw value the reward function returned, unweighted."""
352
+ weight: float = 1.0
353
+ """The multiplier `score` carries in the trace-level `reward` sum."""
354
+
355
+ @property
356
+ def value(self) -> float:
357
+ """This reward's weighted contribution to the trace-level `reward`."""
358
+ return self.score * self.weight
359
+
360
+
346
361
  class Trace(StrictBaseModel, Generic[DataT, StateT, AgentConfigT]):
347
362
  id: str = Field(default_factory=lambda: uuid.uuid4().hex)
348
363
  """Unique id for this rollout, auto-generated per trace."""
@@ -369,8 +384,9 @@ class Trace(StrictBaseModel, Generic[DataT, StateT, AgentConfigT]):
369
384
  """Every provider exchange behind the sampled turns, in order: raw wire request/response
370
385
  plus per-call timing and errors, linked into `nodes` via `ModelCall.node`."""
371
386
 
372
- rewards: dict[str, float] = Field(default_factory=dict)
373
- """Weighted contributions from task rewards, judges, and the env's `score()`."""
387
+ rewards: dict[str, Reward] = Field(default_factory=dict)
388
+ """Named rewards from tasks, judges, and the env's `score()` — each keeps its
389
+ raw `score` and `weight`; the trace-level `reward` is their weighted sum."""
374
390
  metrics: dict[str, float] = Field(default_factory=dict)
375
391
  """Unweighted metrics from tasks, harnesses, and judges."""
376
392
  info: dict[str, Any] = Field(default_factory=dict)
@@ -400,7 +416,7 @@ class Trace(StrictBaseModel, Generic[DataT, StateT, AgentConfigT]):
400
416
 
401
417
  @property
402
418
  def reward(self) -> float:
403
- return sum(self.rewards.values())
419
+ return sum(r.value for r in self.rewards.values())
404
420
 
405
421
  @property
406
422
  def error(self) -> Error | None:
@@ -559,12 +575,12 @@ class Trace(StrictBaseModel, Generic[DataT, StateT, AgentConfigT]):
559
575
  self.extra_usage.append(response.usage)
560
576
 
561
577
  def record_reward(self, name: str, value: float, weight: float = 1.0) -> None:
562
- contribution = float(value) * float(weight)
578
+ reward = Reward(score=float(value), weight=float(weight))
563
579
  if name in self.rewards:
564
580
  logger.warning(
565
- "reward %r overridden: %s -> %s", name, self.rewards[name], contribution
581
+ "reward %r overridden: %s -> %s", name, self.rewards[name], reward
566
582
  )
567
- self.rewards[name] = contribution
583
+ self.rewards[name] = reward
568
584
 
569
585
  def stamp(self, run: RunInfo | None = None, **info: Any) -> None:
570
586
  """Stamp identity only the consumer knows (the eval CLI / a trainer) onto the
File without changes