verifiers 0.2.2.dev73__tar.gz → 0.2.2.dev74__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 (429) hide show
  1. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/PKG-INFO +1 -1
  2. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/test_judges.py +1 -1
  3. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/test_trace.py +6 -1
  4. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/dashboard/eval.py +6 -4
  5. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/envs/agentic_judge/env.py +2 -1
  6. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harness.py +8 -1
  7. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/task.py +21 -11
  8. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/trace.py +6 -5
  9. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/decorators.py +17 -1
  10. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/platform.py +11 -3
  11. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/.gitignore +0 -0
  12. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/LICENSE +0 -0
  13. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/README.md +0 -0
  14. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/pyproject.toml +0 -0
  15. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/__init__.py +0 -0
  16. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/conftest.py +0 -0
  17. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_browser_env.py +0 -0
  18. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_build_script.py +0 -0
  19. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_cli_agent_env.py +0 -0
  20. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_client_auth_errors.py +0 -0
  21. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_client_config.py +0 -0
  22. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_client_multimodal_types.py +0 -0
  23. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_composable_env.py +0 -0
  24. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_context_token_metrics.py +0 -0
  25. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_decorator_ranks.py +0 -0
  26. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_endpoint_registry.py +0 -0
  27. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_env_group.py +0 -0
  28. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_env_server.py +0 -0
  29. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_environment.py +0 -0
  30. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_environment_extra.py +0 -0
  31. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_error_chain.py +0 -0
  32. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_eval_display.py +0 -0
  33. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_eval_utils.py +0 -0
  34. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_gepa_cli.py +0 -0
  35. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_gepa_utils.py +0 -0
  36. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_gym_env.py +0 -0
  37. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_harbor_env_mcp.py +0 -0
  38. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_imports.py +0 -0
  39. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_init_script.py +0 -0
  40. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_install_utils.py +0 -0
  41. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_interception_utils.py +0 -0
  42. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_logging.py +0 -0
  43. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_math_rubric.py +0 -0
  44. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_maybe_think_parser.py +0 -0
  45. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_message_utils.py +0 -0
  46. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_message_utils_multimodal.py +0 -0
  47. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_multiturn_env.py +0 -0
  48. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_nemorl_client.py +0 -0
  49. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_openai_chat_completions_token_client.py +0 -0
  50. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_openai_responses_client.py +0 -0
  51. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_opencode_rlm_env.py +0 -0
  52. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_openenv_client.py +0 -0
  53. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_parser.py +0 -0
  54. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_path_utils.py +0 -0
  55. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_per_turn_timing.py +0 -0
  56. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_pricing_utils.py +0 -0
  57. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_prime_plugin.py +0 -0
  58. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_renderer_client.py +0 -0
  59. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_renderer_e2e.py +0 -0
  60. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_rlm_composable_env.py +0 -0
  61. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_rubric.py +0 -0
  62. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_rubric_group.py +0 -0
  63. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_sandbox_debug_env.py +0 -0
  64. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_sandbox_env.py +0 -0
  65. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_sandbox_mixin.py +0 -0
  66. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_save_utils.py +0 -0
  67. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_setup_script.py +0 -0
  68. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_singleturn_env.py +0 -0
  69. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_stateful_tool_env.py +0 -0
  70. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_think_parser.py +0 -0
  71. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_tool_env.py +0 -0
  72. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_tool_utils.py +0 -0
  73. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_trajectory_processing.py +0 -0
  74. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_tui_info_formatting.py +0 -0
  75. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_types.py +0 -0
  76. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/test_xml_parser.py +0 -0
  77. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/conftest.py +0 -0
  78. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/fixtures/counter_tool_v1.py +0 -0
  79. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/fixtures/duet_v1.py +0 -0
  80. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
  81. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
  82. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/fixtures/echo_multi_v0.py +0 -0
  83. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/fixtures/echo_tool_v1.py +0 -0
  84. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
  85. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/fixtures/echo_v0.py +0 -0
  86. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/fixtures/echo_v1.py +0 -0
  87. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/fixtures/pyproject.toml +0 -0
  88. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
  89. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/test_color_codeword_tasks.py +0 -0
  90. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/test_configs.py +0 -0
  91. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/test_e2e.py +0 -0
  92. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/test_envs.py +0 -0
  93. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/test_graph.py +0 -0
  94. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/test_legacy.py +0 -0
  95. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/test_scoring.py +0 -0
  96. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/tests/v1/test_taskset.py +0 -0
  97. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/__init__.py +0 -0
  98. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/cli/__init__.py +0 -0
  99. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/cli/commands/__init__.py +0 -0
  100. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/cli/commands/build.py +0 -0
  101. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/cli/commands/eval.py +0 -0
  102. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/cli/commands/gepa.py +0 -0
  103. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/cli/commands/init.py +0 -0
  104. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/cli/commands/install.py +0 -0
  105. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/cli/commands/setup.py +0 -0
  106. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/cli/plugins/__init__.py +0 -0
  107. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/cli/plugins/prime.py +0 -0
  108. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/cli/tui.py +0 -0
  109. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/clients/__init__.py +0 -0
  110. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/clients/anthropic_messages_client.py +0 -0
  111. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/clients/client.py +0 -0
  112. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
  113. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/clients/openai_chat_completions_client.py +0 -0
  114. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
  115. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/clients/openai_completions_client.py +0 -0
  116. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/clients/openai_responses_client.py +0 -0
  117. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/clients/renderer_client.py +0 -0
  118. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/decorators.py +0 -0
  119. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/__init__.py +0 -0
  120. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/env_group.py +0 -0
  121. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/environment.py +0 -0
  122. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/README.md +0 -0
  123. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/__init__.py +0 -0
  124. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/cli_agent_env.py +0 -0
  125. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/README.md +0 -0
  126. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/__init__.py +0 -0
  127. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/_filter.py +0 -0
  128. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/composable_env.py +0 -0
  129. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/harness.py +0 -0
  130. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
  131. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
  132. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
  133. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
  134. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
  135. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
  136. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
  137. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/task.py +0 -0
  138. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
  139. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
  140. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
  141. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
  142. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
  143. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
  144. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
  145. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
  146. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
  147. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
  148. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
  149. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
  150. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
  151. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
  152. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
  153. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
  154. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
  155. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
  156. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
  157. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
  158. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
  159. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
  160. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
  161. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
  162. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
  163. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
  164. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
  165. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
  166. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
  167. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
  168. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
  169. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
  170. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
  171. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
  172. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/gym_env.py +0 -0
  173. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
  174. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/harbor_env/env.py +0 -0
  175. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
  176. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/mcp_env.py +0 -0
  177. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/opencode_env.py +0 -0
  178. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
  179. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
  180. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
  181. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/utils/__init__.py +0 -0
  182. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/utils/file_locks.py +0 -0
  183. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
  184. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/integrations/README.md +0 -0
  185. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/integrations/__init__.py +0 -0
  186. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/integrations/browser_env/README.md +0 -0
  187. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
  188. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
  189. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
  190. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
  191. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
  192. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
  193. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/integrations/openenv_env.py +0 -0
  194. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
  195. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/integrations/textarena_env.py +0 -0
  196. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/multiturn_env.py +0 -0
  197. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/python_env.py +0 -0
  198. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/sandbox_env.py +0 -0
  199. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/singleturn_env.py +0 -0
  200. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/stateful_tool_env.py +0 -0
  201. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/envs/tool_env.py +0 -0
  202. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/errors.py +0 -0
  203. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/gepa/__init__.py +0 -0
  204. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/gepa/adapter.py +0 -0
  205. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/gepa/config.py +0 -0
  206. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/gepa/display.py +0 -0
  207. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/gepa/gepa_utils.py +0 -0
  208. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/parsers/__init__.py +0 -0
  209. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/parsers/maybe_think_parser.py +0 -0
  210. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/parsers/parser.py +0 -0
  211. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/parsers/think_parser.py +0 -0
  212. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/parsers/xml_parser.py +0 -0
  213. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/rubrics/__init__.py +0 -0
  214. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
  215. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/rubrics/judge_rubric.py +0 -0
  216. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/rubrics/math_rubric.py +0 -0
  217. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/rubrics/rubric.py +0 -0
  218. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/rubrics/rubric_group.py +0 -0
  219. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/scripts/__init__.py +0 -0
  220. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/scripts/build.py +0 -0
  221. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/scripts/eval.py +0 -0
  222. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/scripts/gepa.py +0 -0
  223. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/scripts/init.py +0 -0
  224. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/scripts/install.py +0 -0
  225. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/scripts/setup.py +0 -0
  226. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/scripts/tui.py +0 -0
  227. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/serve/__init__.py +0 -0
  228. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/serve/client/env_client.py +0 -0
  229. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/serve/client/zmq_env_client.py +0 -0
  230. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/serve/server/__init__.py +0 -0
  231. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/serve/server/env_router.py +0 -0
  232. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/serve/server/env_server.py +0 -0
  233. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/serve/server/env_worker.py +0 -0
  234. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/serve/server/zmq_env_server.py +0 -0
  235. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/serve/types.py +0 -0
  236. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/types.py +0 -0
  237. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/__init__.py +0 -0
  238. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/async_utils.py +0 -0
  239. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/client_utils.py +0 -0
  240. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/config_utils.py +0 -0
  241. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/data_utils.py +0 -0
  242. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/display_utils.py +0 -0
  243. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/env_config_utils.py +0 -0
  244. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/env_utils.py +0 -0
  245. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/error_utils.py +0 -0
  246. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/eval_display.py +0 -0
  247. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/eval_utils.py +0 -0
  248. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/heartbeat.py +0 -0
  249. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/import_utils.py +0 -0
  250. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/install_utils.py +0 -0
  251. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/interception_utils.py +0 -0
  252. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/logging_utils.py +0 -0
  253. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/message_utils.py +0 -0
  254. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/metric_utils.py +0 -0
  255. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/path_utils.py +0 -0
  256. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/pricing_utils.py +0 -0
  257. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/process_utils.py +0 -0
  258. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/response_utils.py +0 -0
  259. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/save_utils.py +0 -0
  260. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/serve_utils.py +0 -0
  261. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/thread_utils.py +0 -0
  262. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/threaded_sandbox_client.py +0 -0
  263. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/tool_utils.py +0 -0
  264. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/usage_utils.py +0 -0
  265. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/utils/version_utils.py +0 -0
  266. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/__init__.py +0 -0
  267. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/acp/__init__.py +0 -0
  268. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/acp/_runner.py +0 -0
  269. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/agent.py +0 -0
  270. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/__init__.py +0 -0
  271. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/dashboard/__init__.py +0 -0
  272. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/dashboard/base.py +0 -0
  273. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/dashboard/replay.py +0 -0
  274. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/dashboard/validate.py +0 -0
  275. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/debug.py +0 -0
  276. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/eval/__init__.py +0 -0
  277. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/eval/main.py +0 -0
  278. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/eval/resume.py +0 -0
  279. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/eval/runner.py +0 -0
  280. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/gepa.py +0 -0
  281. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/init.py +0 -0
  282. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/output.py +0 -0
  283. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/replay.py +0 -0
  284. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/resolve.py +0 -0
  285. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/serve.py +0 -0
  286. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/cli/validate.py +0 -0
  287. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/clients/__init__.py +0 -0
  288. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/clients/base.py +0 -0
  289. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/clients/client.py +0 -0
  290. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/clients/eval.py +0 -0
  291. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/clients/train.py +0 -0
  292. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/__init__.py +0 -0
  293. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/agent.py +0 -0
  294. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/cli/__init__.py +0 -0
  295. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/cli/debug.py +0 -0
  296. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/cli/env.py +0 -0
  297. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/cli/eval.py +0 -0
  298. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/cli/init.py +0 -0
  299. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/cli/replay.py +0 -0
  300. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/cli/serve.py +0 -0
  301. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/cli/validate.py +0 -0
  302. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/client.py +0 -0
  303. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/env.py +0 -0
  304. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/harness.py +0 -0
  305. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/judge.py +0 -0
  306. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/legacy.py +0 -0
  307. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/retries.py +0 -0
  308. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/serve.py +0 -0
  309. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/task.py +0 -0
  310. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/configs/taskset.py +0 -0
  311. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/dialects/__init__.py +0 -0
  312. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/dialects/anthropic.py +0 -0
  313. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/dialects/base.py +0 -0
  314. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/dialects/chat.py +0 -0
  315. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/dialects/responses.py +0 -0
  316. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/env.py +0 -0
  317. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/envs/__init__.py +0 -0
  318. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
  319. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
  320. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/envs/best_of_n/env.py +0 -0
  321. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/envs/single_agent/__init__.py +0 -0
  322. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/envs/single_agent/env.py +0 -0
  323. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/envs/user_sim/__init__.py +0 -0
  324. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/envs/user_sim/env.py +0 -0
  325. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/episode.py +0 -0
  326. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/errors.py +0 -0
  327. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/gepa/__init__.py +0 -0
  328. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/gepa/adapter.py +0 -0
  329. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/gepa/config.py +0 -0
  330. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/gepa/dataset.py +0 -0
  331. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/gepa/reflection.py +0 -0
  332. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/gepa/runner.py +0 -0
  333. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/graph.py +0 -0
  334. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/__init__.py +0 -0
  335. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/bash/__init__.py +0 -0
  336. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/bash/harness.py +0 -0
  337. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/bash/program.py +0 -0
  338. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
  339. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
  340. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/browser_use/program.py +0 -0
  341. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
  342. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
  343. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/codex/__init__.py +0 -0
  344. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/codex/harness.py +0 -0
  345. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
  346. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
  347. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
  348. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
  349. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
  350. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
  351. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
  352. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
  353. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/null/__init__.py +0 -0
  354. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/null/harness.py +0 -0
  355. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/null/program.py +0 -0
  356. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
  357. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
  358. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/pi/__init__.py +0 -0
  359. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/pi/harness.py +0 -0
  360. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/pool/__init__.py +0 -0
  361. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/pool/harness.py +0 -0
  362. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
  363. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/rlm/harness.py +0 -0
  364. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
  365. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
  366. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
  367. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/interception/__init__.py +0 -0
  368. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/interception/base.py +0 -0
  369. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/interception/pool.py +0 -0
  370. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/interception/server.py +0 -0
  371. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/interception/tunnel/__init__.py +0 -0
  372. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/interception/tunnel/base.py +0 -0
  373. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/interception/tunnel/custom.py +0 -0
  374. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/interception/tunnel/prime.py +0 -0
  375. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/judge.py +0 -0
  376. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/judges/__init__.py +0 -0
  377. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/judges/reference.py +0 -0
  378. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/judges/reference.txt +0 -0
  379. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/judges/rubric.py +0 -0
  380. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/judges/rubric.txt +0 -0
  381. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/legacy.py +0 -0
  382. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/mcp/__init__.py +0 -0
  383. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/mcp/launch.py +0 -0
  384. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/mcp/server.py +0 -0
  385. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/mcp/toolset.py +0 -0
  386. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/rollout.py +0 -0
  387. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/runtimes/__init__.py +0 -0
  388. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/runtimes/base.py +0 -0
  389. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/runtimes/docker/__init__.py +0 -0
  390. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/runtimes/docker/egress.py +0 -0
  391. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/runtimes/limiters.py +0 -0
  392. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/runtimes/modal.py +0 -0
  393. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/runtimes/prime.py +0 -0
  394. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/runtimes/subprocess.py +0 -0
  395. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/serve/__init__.py +0 -0
  396. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/serve/client.py +0 -0
  397. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/serve/pool.py +0 -0
  398. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/serve/server.py +0 -0
  399. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/serve/types.py +0 -0
  400. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/session.py +0 -0
  401. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/state.py +0 -0
  402. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/taskset.py +0 -0
  403. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/tasksets/__init__.py +0 -0
  404. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
  405. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
  406. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/tasksets/lean/__init__.py +0 -0
  407. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/tasksets/lean/scoring.py +0 -0
  408. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/tasksets/lean/taskset.py +0 -0
  409. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
  410. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
  411. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
  412. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
  413. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/types.py +0 -0
  414. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/__init__.py +0 -0
  415. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/aio.py +0 -0
  416. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/artifacts.py +0 -0
  417. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/compile.py +0 -0
  418. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/format.py +0 -0
  419. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/generic.py +0 -0
  420. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/git.py +0 -0
  421. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/image.py +0 -0
  422. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/install.py +0 -0
  423. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/interrupt.py +0 -0
  424. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/loaders.py +0 -0
  425. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/logging.py +0 -0
  426. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/memory.py +0 -0
  427. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/retries.py +0 -0
  428. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/verifiers/v1/utils/score.py +0 -0
  429. {verifiers-0.2.2.dev73 → verifiers-0.2.2.dev74}/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.dev73
3
+ Version: 0.2.2.dev74
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
@@ -461,7 +461,7 @@ async def test_error_attribution(monkeypatch, tmp_path):
461
461
  await JudgedTask(trace.task.data, taskset.config.task).score(
462
462
  trace, runtime=None
463
463
  )
464
- assert "reference" not in trace.rewards
464
+ assert trace.rewards["reference"] is None # seeded: expected but never scored
465
465
  assert len(trace.info["judge"]) == 1 # the billed call is still recorded
466
466
 
467
467
 
@@ -71,17 +71,22 @@ def test_wire_trace_round_trip():
71
71
  ],
72
72
  )
73
73
  tr.record_reward("r", 1.0)
74
+ tr.rewards.setdefault("solved", None) # seeded: expected but never scored
75
+ tr.metrics.setdefault("acc", None)
74
76
  tr.info = {"build": "ok"}
75
77
  tr.stop("done")
76
78
 
77
79
  # the dump is plain pydantic — derived values are properties, so they're not serialized
78
80
  data = json.loads(tr.model_dump_json(exclude_none=True))
79
81
  assert "reward" not in data and "is_truncated" not in data
82
+ # exclude_none drops None FIELDS, not None dict values — unscored seeds survive
83
+ assert data["rewards"]["solved"] is None and data["metrics"]["acc"] is None
80
84
 
81
85
  rt = vf.WireTrace.model_validate(data)
82
86
  assert rt.num_branches == tr.num_branches == 2 # branch topology survived
83
87
  assert rt.num_turns == tr.num_turns == 2
84
- assert rt.reward == 1.0 # property recomputed from `rewards`
88
+ assert rt.reward == 1.0 # property recomputed from `rewards`, seeds contribute 0
89
+ assert rt.rewards["solved"] is None
85
90
  assert rt.stop_condition == "done"
86
91
  assert rt.info == {"build": "ok"}
87
92
  assert (
@@ -332,8 +332,8 @@ def Progress(
332
332
 
333
333
  def _score_segments(traces: list[Trace], source: str) -> str | None:
334
334
  """`name mean` segments for every reward/metric key seen across `traces`,
335
- first-seen order (a trace records only the functions that ran for it, so keys
336
- can vary); None when no trace recorded anything."""
335
+ first-seen order (a trace carries only its own task's signals unscored ones
336
+ seeded as `None` — so keys can vary); None when no trace recorded anything."""
337
337
  names: list[str] = []
338
338
  for trace in traces:
339
339
  names.extend(n for n in getattr(trace, source) if n not in names)
@@ -347,11 +347,13 @@ def _score_segments(traces: list[Trace], source: str) -> str | None:
347
347
 
348
348
 
349
349
  def _score(trace: Trace, source: str, name: str) -> float:
350
- """Rewards carry raw score + weight; the breakdown shows the raw score."""
350
+ """Rewards carry raw score + weight; the breakdown shows the raw score. A missing
351
+ or unscored (seeded `None`) entry reads as 0.0."""
351
352
  if source == "rewards":
352
353
  reward = trace.rewards.get(name)
353
354
  return reward.score if reward is not None else 0.0
354
- return trace.metrics.get(name, 0.0)
355
+ value = trace.metrics.get(name)
356
+ return value if value is not None else 0.0
355
357
 
356
358
 
357
359
  def _breakdown(scored: list[Trace], done: list[Trace]) -> Table | None:
@@ -398,7 +398,8 @@ class AgenticJudgeEnv(vf.Env[AgenticJudgeEnvConfig]):
398
398
  solution.record_metric(f"judge/{criterion.name}", scores[criterion.name])
399
399
  if self.config.score.task_weight != 1.0:
400
400
  for reward in solution.rewards.values():
401
- reward.weight *= self.config.score.task_weight
401
+ if reward is not None:
402
+ reward.weight *= self.config.score.task_weight
402
403
  total = sum(criterion.weight for criterion in criteria)
403
404
  reward = sum(c.weight * scores[c.name] for c in criteria) / total
404
405
  solution.record_reward("judge", reward, weight=self.config.score.judge_weight)
@@ -12,7 +12,12 @@ from verifiers.v1.errors import HarnessError, SandboxError, boundary
12
12
  from verifiers.v1.runtimes import ProgramResult, Runtime
13
13
  from verifiers.v1.task import TaskData
14
14
  from verifiers.v1.types import Messages
15
- from verifiers.v1.utils.decorators import discover_decorated, invoke_all
15
+ from verifiers.v1.utils.decorators import (
16
+ discover_decorated,
17
+ invoke_all,
18
+ seed,
19
+ unseed,
20
+ )
16
21
 
17
22
  if TYPE_CHECKING:
18
23
  # Annotation-only: `Trace` appears in signatures only, so this module stays
@@ -155,10 +160,12 @@ class Harness(ABC, Generic[ConfigT]):
155
160
  `runtime`) and can read what the harness left behind in the runtime."""
156
161
  available = {"task": trace.task.data, "trace": trace, "runtime": runtime}
157
162
  fns = discover_decorated(self, "metric")
163
+ seed(trace.metrics, (fn.__name__ for fn in fns))
158
164
  async with boundary(HarnessError, f"harness {self.config.id!r} metric"):
159
165
  results = await invoke_all(fns, available)
160
166
  for fn, result in zip(fns, results):
161
167
  if isinstance(result, Mapping):
168
+ unseed(trace.metrics, fn.__name__)
162
169
  trace.record_metrics(result)
163
170
  else:
164
171
  trace.record_metric(fn.__name__, result)
@@ -23,7 +23,12 @@ from verifiers.v1.errors import TaskError, boundary
23
23
  from verifiers.v1.state import StateT
24
24
  from verifiers.v1.types import Messages, content_text
25
25
  from verifiers.v1.utils.artifacts import Artifact
26
- from verifiers.v1.utils.decorators import discover_decorated, invoke_all
26
+ from verifiers.v1.utils.decorators import (
27
+ discover_decorated,
28
+ invoke_all,
29
+ seed,
30
+ unseed,
31
+ )
27
32
  from verifiers.v1.utils.generic import concrete_type
28
33
 
29
34
  if TYPE_CHECKING:
@@ -180,31 +185,36 @@ class Task(Generic[DataT, StateT, ConfigT]):
180
185
  judge for judge in judges if not requires_runtime(judge.score)
181
186
  ]
182
187
 
188
+ seed(trace.metrics, (fn.__name__ for fn in metrics))
189
+ seed(trace.rewards, (fn.__name__ for fn in rewards))
190
+ seed(trace.rewards, (judge.reward_name for judge in judges))
191
+
183
192
  metric_results = await invoke_all(metrics, available)
184
193
  for fn, result in zip(metrics, metric_results):
185
194
  if isinstance(result, Mapping):
195
+ unseed(trace.metrics, fn.__name__)
186
196
  trace.record_metrics(result)
187
197
  else:
188
198
  trace.record_metric(fn.__name__, result)
189
199
  reward_results = await invoke_all(rewards, available)
190
200
  for fn, result in zip(rewards, reward_results):
191
201
  weight = getattr(fn, "_vf_weight", 1.0)
192
- items = (
193
- result.items()
194
- if isinstance(result, Mapping)
195
- else [(fn.__name__, result)]
196
- )
202
+ if isinstance(result, Mapping):
203
+ unseed(trace.rewards, fn.__name__)
204
+ items = result.items()
205
+ else:
206
+ items = [(fn.__name__, result)]
197
207
  for key, value in items:
198
208
  trace.record_reward(key, value, weight)
199
209
  judge_results = await invoke_all(
200
210
  [judge.score for judge in judges], available
201
211
  )
202
212
  for judge, result in zip(judges, judge_results):
203
- items = (
204
- result.items()
205
- if isinstance(result, Mapping)
206
- else [(judge.reward_name, result)]
207
- )
213
+ if isinstance(result, Mapping):
214
+ unseed(trace.rewards, judge.reward_name)
215
+ items = result.items()
216
+ else:
217
+ items = [(judge.reward_name, result)]
208
218
  for key, value in items:
209
219
  trace.record_reward(key, value, judge.config.weight)
210
220
 
@@ -319,10 +319,11 @@ class Trace(BaseModel, Generic[DataT, StateT, AgentConfigT]):
319
319
  calls: list[ModelCall] = Field(default_factory=list)
320
320
  """Every model call; automatically recorded at intercept time + linked into `nodes`."""
321
321
 
322
- rewards: dict[str, Reward] = Field(default_factory=dict)
323
- """Named, weighted rewards"""
324
- metrics: dict[str, float] = Field(default_factory=dict)
325
- """Unweighted, named metrics"""
322
+ rewards: dict[str, Reward | None] = Field(default_factory=dict)
323
+ """Named, weighted rewards; `None` means scoring didn't run (e.g. because of a
324
+ preceding error)."""
325
+ metrics: dict[str, float | None] = Field(default_factory=dict)
326
+ """Unweighted, named metrics; `None` as in `rewards`."""
326
327
  info: dict[str, Any] = Field(default_factory=dict)
327
328
  """Scratch space for task-specific metadata."""
328
329
  state: StateT = Field(default_factory=State, exclude=True)
@@ -346,7 +347,7 @@ class Trace(BaseModel, Generic[DataT, StateT, AgentConfigT]):
346
347
 
347
348
  @property
348
349
  def reward(self) -> float:
349
- return sum(r.value for r in self.rewards.values())
350
+ return sum(r.value for r in self.rewards.values() if r is not None)
350
351
 
351
352
  @property
352
353
  def has_error(self) -> bool:
@@ -2,7 +2,7 @@
2
2
 
3
3
  import asyncio
4
4
  import inspect
5
- from collections.abc import Callable
5
+ from collections.abc import Callable, Iterable
6
6
  from typing import Any, TypeVar, overload
7
7
 
8
8
  F = TypeVar("F", bound=Callable[..., Any])
@@ -38,6 +38,22 @@ async def invoke_all(
38
38
  return await asyncio.gather(*(invoke(fn, available) for fn in fns))
39
39
 
40
40
 
41
+ def seed(scores: dict[str, Any], names: Iterable[str]) -> None:
42
+ """Mark every expected scoring key as unscored (`None`) before invocation, so a
43
+ trace records which signals should have run even when scoring fails midway.
44
+ Overwrites: a re-scoring attempt resets its own names, so stale values from a
45
+ previous attempt never read as fresh."""
46
+ for name in names:
47
+ scores[name] = None
48
+
49
+
50
+ def unseed(scores: dict[str, Any], name: str) -> None:
51
+ """Drop a still-unscored seed — a handler returning keyed scores records under
52
+ its result's keys, not its function name."""
53
+ if scores.get(name) is None:
54
+ scores.pop(name, None)
55
+
56
+
41
57
  def mark(attr: str, **extra: Any) -> Callable[[F], F]:
42
58
  def decorator(f: F) -> F:
43
59
  setattr(f, attr, True)
@@ -93,7 +93,8 @@ def trace_to_sample(
93
93
  # Flatten sub-rewards to top-level keys the way v0 does (raw scores, as v0's
94
94
  # per-function outputs were); env metrics stay nested.
95
95
  for name, reward in trace.rewards.items():
96
- sample.setdefault(name, reward.score)
96
+ if reward is not None:
97
+ sample.setdefault(name, reward.score)
97
98
  return sample
98
99
 
99
100
 
@@ -128,8 +129,15 @@ def _run_metrics(episodes: list[Episode], traces: list[Trace]) -> dict[str, Any]
128
129
  sums: dict[str, float] = {}
129
130
  counts: dict[str, int] = {}
130
131
  for trace in scored:
131
- scores = {name: reward.score for name, reward in trace.rewards.items()}
132
- for name, value in {**scores, **trace.metrics}.items():
132
+ scores = {
133
+ name: reward.score
134
+ for name, reward in trace.rewards.items()
135
+ if reward is not None
136
+ }
137
+ metrics = {
138
+ name: value for name, value in trace.metrics.items() if value is not None
139
+ }
140
+ for name, value in {**scores, **metrics}.items():
133
141
  sums[name] = sums.get(name, 0.0) + value
134
142
  counts[name] = counts.get(name, 0) + 1
135
143
  n = len(scored)
File without changes