verifiers 0.2.1.dev52__tar.gz → 0.2.1.dev54__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 (392) hide show
  1. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/PKG-INFO +1 -1
  2. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/pyproject.toml +1 -3
  3. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_browser_env.py +0 -92
  4. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_install_utils.py +1 -1
  5. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/test_envs.py +4 -6
  6. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/integrations/browser_env/README.md +0 -13
  7. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/scripts/install.py +6 -6
  8. verifiers-0.2.1.dev52/tests/test_envs.py +0 -195
  9. verifiers-0.2.1.dev52/tests/test_wordle_env.py +0 -22
  10. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/.gitignore +0 -0
  11. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/LICENSE +0 -0
  12. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/README.md +0 -0
  13. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/AGENTS.md +0 -0
  14. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/__init__.py +0 -0
  15. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/conftest.py +0 -0
  16. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_build_script.py +0 -0
  17. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_cli_agent_env.py +0 -0
  18. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_client_auth_errors.py +0 -0
  19. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_client_config.py +0 -0
  20. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_client_multimodal_types.py +0 -0
  21. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_composable_env.py +0 -0
  22. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_context_token_metrics.py +0 -0
  23. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_decorator_ranks.py +0 -0
  24. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_endpoint_registry.py +0 -0
  25. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_env_group.py +0 -0
  26. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_env_server.py +0 -0
  27. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_environment.py +0 -0
  28. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_environment_extra.py +0 -0
  29. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_error_chain.py +0 -0
  30. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_eval_display.py +0 -0
  31. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_eval_utils.py +0 -0
  32. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_gepa_cli.py +0 -0
  33. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_gepa_utils.py +0 -0
  34. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_gym_env.py +0 -0
  35. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_harbor_env_mcp.py +0 -0
  36. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_imports.py +0 -0
  37. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_init_script.py +0 -0
  38. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_interception_utils.py +0 -0
  39. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_logging.py +0 -0
  40. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_math_rubric.py +0 -0
  41. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_maybe_think_parser.py +0 -0
  42. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_message_utils.py +0 -0
  43. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_message_utils_multimodal.py +0 -0
  44. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_multiturn_env.py +0 -0
  45. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_nemorl_client.py +0 -0
  46. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_openai_chat_completions_token_client.py +0 -0
  47. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_openai_responses_client.py +0 -0
  48. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_opencode_rlm_env.py +0 -0
  49. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_openenv_client.py +0 -0
  50. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_parser.py +0 -0
  51. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_path_utils.py +0 -0
  52. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_per_turn_timing.py +0 -0
  53. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_pricing_utils.py +0 -0
  54. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_prime_plugin.py +0 -0
  55. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_renderer_client.py +0 -0
  56. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_renderer_e2e.py +0 -0
  57. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_rlm_composable_env.py +0 -0
  58. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_rubric.py +0 -0
  59. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_rubric_group.py +0 -0
  60. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_sandbox_debug_env.py +0 -0
  61. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_sandbox_env.py +0 -0
  62. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_sandbox_mixin.py +0 -0
  63. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_save_utils.py +0 -0
  64. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_setup_script.py +0 -0
  65. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_singleturn_env.py +0 -0
  66. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_stateful_tool_env.py +0 -0
  67. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_think_parser.py +0 -0
  68. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_tool_env.py +0 -0
  69. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_tool_utils.py +0 -0
  70. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_trajectory_processing.py +0 -0
  71. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_tui_info_formatting.py +0 -0
  72. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_types.py +0 -0
  73. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/test_xml_parser.py +0 -0
  74. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/conftest.py +0 -0
  75. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/fixtures/counter_tool_v1.py +0 -0
  76. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
  77. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/fixtures/echo_multi_v0.py +0 -0
  78. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/fixtures/echo_tool_v1.py +0 -0
  79. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
  80. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/fixtures/echo_v0.py +0 -0
  81. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/fixtures/echo_v1.py +0 -0
  82. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/fixtures/pyproject.toml +0 -0
  83. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
  84. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/test_color_codeword_tasks.py +0 -0
  85. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/test_configs.py +0 -0
  86. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/test_e2e.py +0 -0
  87. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/test_graph.py +0 -0
  88. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/test_judges.py +0 -0
  89. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/test_legacy.py +0 -0
  90. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/test_scoring.py +0 -0
  91. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/test_taskset.py +0 -0
  92. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/tests/v1/test_trace.py +0 -0
  93. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/__init__.py +0 -0
  94. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/cli/__init__.py +0 -0
  95. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/cli/commands/__init__.py +0 -0
  96. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/cli/commands/build.py +0 -0
  97. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/cli/commands/eval.py +0 -0
  98. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/cli/commands/gepa.py +0 -0
  99. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/cli/commands/init.py +0 -0
  100. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/cli/commands/install.py +0 -0
  101. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/cli/commands/setup.py +0 -0
  102. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/cli/plugins/__init__.py +0 -0
  103. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/cli/plugins/prime.py +0 -0
  104. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/cli/tui.py +0 -0
  105. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/clients/__init__.py +0 -0
  106. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/clients/anthropic_messages_client.py +0 -0
  107. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/clients/client.py +0 -0
  108. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/clients/nemorl_chat_completions_client.py +0 -0
  109. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/clients/openai_chat_completions_client.py +0 -0
  110. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/clients/openai_chat_completions_token_client.py +0 -0
  111. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/clients/openai_completions_client.py +0 -0
  112. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/clients/openai_responses_client.py +0 -0
  113. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/clients/renderer_client.py +0 -0
  114. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/decorators.py +0 -0
  115. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/AGENTS.md +0 -0
  116. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/__init__.py +0 -0
  117. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/env_group.py +0 -0
  118. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/environment.py +0 -0
  119. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/README.md +0 -0
  120. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/__init__.py +0 -0
  121. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/cli_agent_env.py +0 -0
  122. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/README.md +0 -0
  123. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/__init__.py +0 -0
  124. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/_filter.py +0 -0
  125. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/composable_env.py +0 -0
  126. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/harness.py +0 -0
  127. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/harnesses/__init__.py +0 -0
  128. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/harnesses/mini_swe_agent.py +0 -0
  129. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/harnesses/opencode.py +0 -0
  130. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/harnesses/prompt.txt +0 -0
  131. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/harnesses/rlm.py +0 -0
  132. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/sandbox_debug_env.py +0 -0
  133. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/swe_debug_env.py +0 -0
  134. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/task.py +0 -0
  135. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/__init__.py +0 -0
  136. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/cp/__init__.py +0 -0
  137. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/cp/cp_task.py +0 -0
  138. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/cp/test_utils.py +0 -0
  139. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/harbor/__init__.py +0 -0
  140. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/harbor/cli_gym.py +0 -0
  141. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/harbor/harbor.py +0 -0
  142. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/harbor/terminal_lego.py +0 -0
  143. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/math/__init__.py +0 -0
  144. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/math/math_task.py +0 -0
  145. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/README.md +0 -0
  146. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/__init__.py +0 -0
  147. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/__init__.py +0 -0
  148. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/extract_fix_patch.sh +0 -0
  149. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/multi_swe/taskset.py +0 -0
  150. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/openswe/__init__.py +0 -0
  151. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/openswe/taskset.py +0 -0
  152. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/__init__.py +0 -0
  153. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/log_parser.py +0 -0
  154. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/r2e_gym/taskset.py +0 -0
  155. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/__init__.py +0 -0
  156. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/scale_swe/taskset.py +0 -0
  157. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/shared/__init__.py +0 -0
  158. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/shared/test_patch.py +0 -0
  159. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/__init__.py +0 -0
  160. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/swe_bench/taskset.py +0 -0
  161. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/__init__.py +0 -0
  162. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/swe_lego/taskset.py +0 -0
  163. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/__init__.py +0 -0
  164. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/log_parsers.py +0 -0
  165. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/swe_rebench_v2/taskset.py +0 -0
  166. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/__init__.py +0 -0
  167. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/swe_smith/taskset.py +0 -0
  168. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/composable/tasksets/swe/swe_tasksets.py +0 -0
  169. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/gym_env.py +0 -0
  170. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/harbor_env/__init__.py +0 -0
  171. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/harbor_env/env.py +0 -0
  172. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/harbor_env/mcp.py +0 -0
  173. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/mcp_env.py +0 -0
  174. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/opencode_env.py +0 -0
  175. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/opencode_qa_env.py +0 -0
  176. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/opencode_rlm_env.py +0 -0
  177. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/sandbox_mixin.py +0 -0
  178. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/utils/__init__.py +0 -0
  179. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/utils/file_locks.py +0 -0
  180. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/experimental/utils/git_checkout_cache.py +0 -0
  181. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/integrations/README.md +0 -0
  182. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/integrations/__init__.py +0 -0
  183. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/integrations/browser_env/__init__.py +0 -0
  184. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/integrations/browser_env/browser_env.py +0 -0
  185. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/integrations/browser_env/modes/__init__.py +0 -0
  186. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/integrations/browser_env/modes/base.py +0 -0
  187. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/integrations/browser_env/modes/cua_mode.py +0 -0
  188. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/integrations/browser_env/modes/dom_mode.py +0 -0
  189. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/integrations/openenv_env.py +0 -0
  190. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/integrations/reasoninggym_env.py +0 -0
  191. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/integrations/textarena_env.py +0 -0
  192. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/multiturn_env.py +0 -0
  193. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/python_env.py +0 -0
  194. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/sandbox_env.py +0 -0
  195. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/singleturn_env.py +0 -0
  196. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/stateful_tool_env.py +0 -0
  197. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/envs/tool_env.py +0 -0
  198. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/errors.py +0 -0
  199. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/gepa/__init__.py +0 -0
  200. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/gepa/adapter.py +0 -0
  201. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/gepa/config.py +0 -0
  202. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/gepa/display.py +0 -0
  203. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/gepa/gepa_utils.py +0 -0
  204. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/parsers/__init__.py +0 -0
  205. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/parsers/maybe_think_parser.py +0 -0
  206. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/parsers/parser.py +0 -0
  207. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/parsers/think_parser.py +0 -0
  208. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/parsers/xml_parser.py +0 -0
  209. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/rubrics/__init__.py +0 -0
  210. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/rubrics/experimental/hybrid_math_rubric.py +0 -0
  211. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/rubrics/judge_rubric.py +0 -0
  212. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/rubrics/math_rubric.py +0 -0
  213. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/rubrics/rubric.py +0 -0
  214. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/rubrics/rubric_group.py +0 -0
  215. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/scripts/__init__.py +0 -0
  216. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/scripts/build.py +0 -0
  217. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/scripts/eval.py +0 -0
  218. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/scripts/gepa.py +0 -0
  219. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/scripts/init.py +0 -0
  220. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/scripts/setup.py +0 -0
  221. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/scripts/tui.py +0 -0
  222. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/serve/__init__.py +0 -0
  223. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/serve/client/env_client.py +0 -0
  224. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/serve/client/zmq_env_client.py +0 -0
  225. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/serve/server/__init__.py +0 -0
  226. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/serve/server/env_router.py +0 -0
  227. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/serve/server/env_server.py +0 -0
  228. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/serve/server/env_worker.py +0 -0
  229. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/serve/server/zmq_env_server.py +0 -0
  230. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/serve/types.py +0 -0
  231. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/types.py +0 -0
  232. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/__init__.py +0 -0
  233. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/async_utils.py +0 -0
  234. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/client_utils.py +0 -0
  235. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/config_utils.py +0 -0
  236. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/data_utils.py +0 -0
  237. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/display_utils.py +0 -0
  238. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/env_config_utils.py +0 -0
  239. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/env_utils.py +0 -0
  240. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/error_utils.py +0 -0
  241. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/eval_display.py +0 -0
  242. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/eval_utils.py +0 -0
  243. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/heartbeat.py +0 -0
  244. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/import_utils.py +0 -0
  245. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/install_utils.py +0 -0
  246. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/interception_utils.py +0 -0
  247. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/logging_utils.py +0 -0
  248. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/message_utils.py +0 -0
  249. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/metric_utils.py +0 -0
  250. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/path_utils.py +0 -0
  251. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/pricing_utils.py +0 -0
  252. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/process_utils.py +0 -0
  253. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/response_utils.py +0 -0
  254. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/save_utils.py +0 -0
  255. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/serve_utils.py +0 -0
  256. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/thread_utils.py +0 -0
  257. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/threaded_sandbox_client.py +0 -0
  258. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/tool_utils.py +0 -0
  259. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/usage_utils.py +0 -0
  260. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/utils/version_utils.py +0 -0
  261. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/__init__.py +0 -0
  262. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/__init__.py +0 -0
  263. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/dashboard/__init__.py +0 -0
  264. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/dashboard/base.py +0 -0
  265. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/dashboard/eval.py +0 -0
  266. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/dashboard/replay.py +0 -0
  267. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/dashboard/validate.py +0 -0
  268. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/debug.py +0 -0
  269. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/eval/__init__.py +0 -0
  270. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/eval/main.py +0 -0
  271. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/eval/resume.py +0 -0
  272. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/eval/runner.py +0 -0
  273. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/gepa.py +0 -0
  274. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/init.py +0 -0
  275. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/output.py +0 -0
  276. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/replay.py +0 -0
  277. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/resolve.py +0 -0
  278. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/serve.py +0 -0
  279. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/cli/validate.py +0 -0
  280. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/clients/__init__.py +0 -0
  281. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/clients/client.py +0 -0
  282. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/clients/config.py +0 -0
  283. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/clients/eval.py +0 -0
  284. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/clients/train.py +0 -0
  285. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/configs/__init__.py +0 -0
  286. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/configs/debug.py +0 -0
  287. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/configs/eval.py +0 -0
  288. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/configs/init.py +0 -0
  289. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/configs/replay.py +0 -0
  290. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/configs/serve.py +0 -0
  291. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/configs/validate.py +0 -0
  292. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/decorators.py +0 -0
  293. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/dialects/__init__.py +0 -0
  294. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/dialects/anthropic.py +0 -0
  295. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/dialects/base.py +0 -0
  296. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/dialects/chat.py +0 -0
  297. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/dialects/responses.py +0 -0
  298. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/env.py +0 -0
  299. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/episode.py +0 -0
  300. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/errors.py +0 -0
  301. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/gepa/__init__.py +0 -0
  302. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/gepa/adapter.py +0 -0
  303. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/gepa/config.py +0 -0
  304. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/gepa/dataset.py +0 -0
  305. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/gepa/reflection.py +0 -0
  306. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/gepa/runner.py +0 -0
  307. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/graph.py +0 -0
  308. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harness.py +0 -0
  309. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/__init__.py +0 -0
  310. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
  311. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
  312. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/codex/__init__.py +0 -0
  313. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/codex/harness.py +0 -0
  314. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/default/__init__.py +0 -0
  315. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/default/harness.py +0 -0
  316. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/default/program.py +0 -0
  317. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
  318. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
  319. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
  320. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
  321. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
  322. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/null/__init__.py +0 -0
  323. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/null/harness.py +0 -0
  324. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/null/program.py +0 -0
  325. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/pi/__init__.py +0 -0
  326. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/pi/harness.py +0 -0
  327. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
  328. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/rlm/harness.py +0 -0
  329. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
  330. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
  331. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
  332. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/interception/__init__.py +0 -0
  333. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/interception/base.py +0 -0
  334. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/interception/pool.py +0 -0
  335. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/interception/server.py +0 -0
  336. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/interception/tunnel/__init__.py +0 -0
  337. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/interception/tunnel/base.py +0 -0
  338. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/interception/tunnel/custom.py +0 -0
  339. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/interception/tunnel/prime.py +0 -0
  340. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/judge.py +0 -0
  341. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/judges/__init__.py +0 -0
  342. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/judges/reference.py +0 -0
  343. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/judges/reference.txt +0 -0
  344. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/judges/rubric.py +0 -0
  345. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/judges/rubric.txt +0 -0
  346. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/legacy.py +0 -0
  347. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/loaders.py +0 -0
  348. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/mcp/__init__.py +0 -0
  349. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/mcp/launch.py +0 -0
  350. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/mcp/server.py +0 -0
  351. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/mcp/toolset.py +0 -0
  352. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/mcp/user.py +0 -0
  353. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/push.py +0 -0
  354. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/retries.py +0 -0
  355. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/rollout.py +0 -0
  356. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/runtimes/__init__.py +0 -0
  357. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/runtimes/base.py +0 -0
  358. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/runtimes/docker.py +0 -0
  359. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/runtimes/limiters.py +0 -0
  360. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/runtimes/modal.py +0 -0
  361. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/runtimes/prime.py +0 -0
  362. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/runtimes/subprocess.py +0 -0
  363. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/scoring.py +0 -0
  364. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/serve/__init__.py +0 -0
  365. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/serve/client.py +0 -0
  366. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/serve/pool.py +0 -0
  367. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/serve/server.py +0 -0
  368. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/serve/types.py +0 -0
  369. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/session.py +0 -0
  370. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/state.py +0 -0
  371. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/task.py +0 -0
  372. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/taskset.py +0 -0
  373. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/tasksets/__init__.py +0 -0
  374. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
  375. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
  376. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/tasksets/lean/__init__.py +0 -0
  377. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/tasksets/lean/scoring.py +0 -0
  378. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/tasksets/lean/taskset.py +0 -0
  379. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
  380. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
  381. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/trace.py +0 -0
  382. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/types.py +0 -0
  383. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/utils/__init__.py +0 -0
  384. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/utils/aio.py +0 -0
  385. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/utils/format.py +0 -0
  386. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/utils/generic.py +0 -0
  387. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/utils/image.py +0 -0
  388. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/utils/install.py +0 -0
  389. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/utils/interrupt.py +0 -0
  390. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/utils/logging.py +0 -0
  391. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/utils/memory.py +0 -0
  392. {verifiers-0.2.1.dev52 → verifiers-0.2.1.dev54}/verifiers/v1/utils/sampling.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: verifiers
3
- Version: 0.2.1.dev52
3
+ Version: 0.2.1.dev54
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
@@ -80,7 +80,7 @@ examples = [
80
80
  "compact",
81
81
  "gsm8k-v1", "glossary-v1", "deepwiki-v1", "wiki-search-v1", "code-golf-v1",
82
82
  "reverse-text-v1", "color-codeword-v1",
83
- "wordle-v1", "alphabet-sort-v1", "scratchpad-v1", "mmmu-v1",
83
+ "wordle-v1", "alphabet-sort-v1", "scratchpad-v1",
84
84
  ]
85
85
 
86
86
  [project.optional-dependencies]
@@ -143,12 +143,10 @@ wiki-search-v1 = { path = "environments/wiki_search_v1", editable = true }
143
143
  gsm8k-v1 = { path = "environments/gsm8k_v1", editable = true }
144
144
  code-golf-v1 = { path = "environments/code_golf_v1", editable = true }
145
145
  reverse-text-v1 = { path = "environments/reverse_text_v1", editable = true }
146
- reverse-text = { path = "environments/reverse_text", editable = true }
147
146
  wordle-v1 = { path = "environments/wordle_v1", editable = true }
148
147
  color-codeword-v1 = { path = "environments/color_codeword_v1", editable = true }
149
148
  alphabet-sort-v1 = { path = "environments/alphabet_sort_v1", editable = true }
150
149
  scratchpad-v1 = { path = "environments/scratchpad_v1", editable = true }
151
- mmmu-v1 = { path = "environments/mmmu_v1", editable = true }
152
150
 
153
151
  [tool.uv.exclude-newer-package]
154
152
  # PrimeIntellect-published on PyPI (trusted publisher)
@@ -452,98 +452,6 @@ class TestDOMModeLLMConfig:
452
452
  assert config is None
453
453
 
454
454
 
455
- # ============================================================================
456
- # Example Environment Tests
457
- # ============================================================================
458
-
459
-
460
- class TestExampleDatasets:
461
- """Tests for example environment datasets."""
462
-
463
- def test_dom_example_dataset_structure(self):
464
- """Test DOM example dataset has correct structure."""
465
- from environments.browser_dom_example.browser_dom_example import (
466
- create_example_dataset,
467
- )
468
-
469
- dataset = create_example_dataset()
470
-
471
- assert "question" in dataset.column_names
472
- assert "answer" in dataset.column_names
473
- assert "start_url" in dataset.column_names
474
- assert "task_id" in dataset.column_names
475
- assert len(dataset) >= 1
476
-
477
- def test_cua_example_dataset_structure(self):
478
- """Test CUA example dataset has correct structure."""
479
- from environments.browser_cua_example.browser_cua_example import (
480
- create_example_dataset,
481
- )
482
-
483
- dataset = create_example_dataset()
484
-
485
- assert "question" in dataset.column_names
486
- assert "answer" in dataset.column_names
487
- assert "start_url" in dataset.column_names
488
- assert "task_id" in dataset.column_names
489
- assert len(dataset) >= 1
490
-
491
-
492
- class TestJudgeAnswer:
493
- """Tests for judge_answer reward function."""
494
-
495
- @pytest.mark.asyncio
496
- async def test_judge_answer_returns_1_for_yes(self):
497
- """Test that judge_answer returns 1.0 when judge says yes."""
498
- from environments.browser_dom_example.browser_dom_example import judge_answer
499
-
500
- async def mock_judge(prompt, completion, answer, state):
501
- return "yes, the answer is correct"
502
-
503
- result = await judge_answer(
504
- judge=mock_judge,
505
- prompt="What is 2+2?",
506
- completion=[{"role": "assistant", "content": "The answer is 4"}],
507
- answer="4",
508
- state={},
509
- )
510
- assert result == 1.0
511
-
512
- @pytest.mark.asyncio
513
- async def test_judge_answer_returns_0_for_no(self):
514
- """Test that judge_answer returns 0.0 when judge says no."""
515
- from environments.browser_dom_example.browser_dom_example import judge_answer
516
-
517
- async def mock_judge(prompt, completion, answer, state):
518
- return "no, the answer is incorrect"
519
-
520
- result = await judge_answer(
521
- judge=mock_judge,
522
- prompt="What is 2+2?",
523
- completion=[{"role": "assistant", "content": "The answer is 5"}],
524
- answer="4",
525
- state={},
526
- )
527
- assert result == 0.0
528
-
529
- @pytest.mark.asyncio
530
- async def test_judge_answer_case_insensitive(self):
531
- """Test that judge response check is case insensitive."""
532
- from environments.browser_dom_example.browser_dom_example import judge_answer
533
-
534
- async def mock_judge(prompt, completion, answer, state):
535
- return "YES"
536
-
537
- result = await judge_answer(
538
- judge=mock_judge,
539
- prompt="test",
540
- completion="test",
541
- answer="test",
542
- state={},
543
- )
544
- assert result == 1.0
545
-
546
-
547
455
  # ============================================================================
548
456
  # Constants Tests
549
457
  # ============================================================================
@@ -73,7 +73,7 @@ class TestIsHubEnv:
73
73
  assert is_hub_env("gsm8k") is False
74
74
 
75
75
  def test_local_env_relative_path(self):
76
- assert is_hub_env("./environments/gsm8k") is False
76
+ assert is_hub_env("./environments/gsm8k_v1") is False
77
77
 
78
78
  def test_local_env_absolute_path(self):
79
79
  assert is_hub_env("/path/to/gsm8k") is False
@@ -1,10 +1,8 @@
1
- """Smoke-eval every v1 example taskset in `environments/` through the `eval` CLI.
1
+ """Smoke-eval every V1 example taskset in `environments/` through the `eval` CLI.
2
2
 
3
- The v0 counterpart (`tests/test_envs.py`) covers v0 envs (`vf.load_environment` + `vf-eval`);
4
- here we run each `_v1` taskset with its required harness for one short, capped rollout and
5
- require it to succeed — so a broken example taskset fails CI. `compact` is excluded (it's a
6
- harness, not a taskset); SWE/container tasksets need a docker/prime runtime and are covered by
7
- the dedicated v1 e2e tests instead.
3
+ Each `_v1` taskset runs with its required harness for one short, capped rollout, so a broken
4
+ example taskset fails CI. `compact` is excluded (it's a harness, not a taskset);
5
+ SWE/container tasksets need a docker/prime runtime and are covered by dedicated V1 e2e tests.
8
6
  """
9
7
 
10
8
  import os
@@ -139,16 +139,3 @@ CUA execution options:
139
139
  1. **Prebuilt image** (default): fastest startup
140
140
  2. **Binary upload** (`use_prebuilt_image=False`): custom server workflows
141
141
  3. **Manual local server** (`use_sandbox=False`): local development/debugging
142
-
143
- ## Example Environments
144
-
145
- For complete reference implementations, see:
146
-
147
- - **DOM example:** `environments/browser_dom_example/`
148
- - `environments/browser_dom_example/browser_dom_example.py`
149
- - `environments/browser_dom_example/README.md`
150
- - **CUA example:** `environments/browser_cua_example/`
151
- - `environments/browser_cua_example/browser_cua_example.py`
152
- - `environments/browser_cua_example/README.md`
153
-
154
- These examples show end-to-end `load_environment()` setup, evaluation commands, and recommended runtime flags.
@@ -17,9 +17,9 @@ Usage:
17
17
 
18
18
  Examples:
19
19
  vf-install primeintellect/gsm8k # Install from Hub
20
- vf-install gsm8k # Install from ./environments/gsm8k
21
- vf-install gsm8k -p /path/to/envs # Install from custom local path
22
- vf-install gsm8k -r # Install from GitHub repo
20
+ vf-install gsm8k-v1 # Install from ./environments/gsm8k_v1
21
+ vf-install gsm8k-v1 -p /path/to/envs # Install from custom local path
22
+ vf-install gsm8k-v1 -r # Install from GitHub repo
23
23
  """
24
24
 
25
25
 
@@ -30,9 +30,9 @@ def main():
30
30
  epilog="""
31
31
  Examples:
32
32
  vf-install primeintellect/gsm8k Install from Environments Hub
33
- vf-install gsm8k Install from ./environments/gsm8k
34
- vf-install gsm8k -p /path/to/envs Install from custom local path
35
- vf-install gsm8k -r Install from GitHub repo
33
+ vf-install gsm8k-v1 Install from ./environments/gsm8k_v1
34
+ vf-install gsm8k-v1 -p /path/to/envs Install from custom local path
35
+ vf-install gsm8k-v1 -r Install from GitHub repo
36
36
  """,
37
37
  )
38
38
  parser.add_argument(
@@ -1,195 +0,0 @@
1
- import os
2
- import subprocess
3
- from pathlib import Path
4
-
5
- import pytest
6
- import tomllib
7
-
8
- # Timeout in seconds for each subprocess step
9
- INSTALL_TIMEOUT = 600 # 10 minutes for venv creation + package install
10
- IMPORT_TIMEOUT = 120 # 2 minutes for importing a package
11
- LOAD_TIMEOUT = 300 # 5 minutes for loading an environment (may download datasets)
12
- EVAL_TIMEOUT = 600 # 10 minutes for running vf-eval with -n 1 -r 1
13
-
14
- SKIPPED_ENVS = [
15
- # Requires fix for completion dataset setup
16
- # uv run pytest tests/test_envs.py -vv -k continuation_quality
17
- #
18
- # example_id = input_item["example_id"]
19
- # ~~~~~~~~~~^^^^^^^^^^^^^^
20
- # KeyError: 'example_id'
21
- "continuation_quality",
22
- # Different project structure (uses src/ layout, no pyproject.toml at root)
23
- "mcp_env",
24
- # Requires BROWSERBASE_API_KEY, BROWSERBASE_PROJECT_ID, MODEL_API_KEY
25
- "browser_dom_example",
26
- # Requires BROWSERBASE_API_KEY, BROWSERBASE_PROJECT_ID, and running CUA server
27
- "browser_cua_example",
28
- # Uses prime-tunnel which is still experimental and has low usage limits
29
- "opencode_harbor",
30
- ]
31
-
32
- SKIPPED_ENV_LOADING_ENVS = [
33
- # OpenEnv datasets are built by resetting seeds in sandbox-backed env servers.
34
- # Skip generic load checks here and cover via dedicated OpenEnv tests.
35
- "openenv_echo",
36
- "openenv_textarena",
37
- # R2E-Gym pulls a full image-backed SWE taskset; cover it with dedicated v1 tests.
38
- "rlm_swe_v1",
39
- ]
40
-
41
-
42
- def get_environments() -> list[Path]:
43
- """Get all subdirectories of `environments/`, or only changed environments if CHANGED_ENVS is set."""
44
- all_envs = list(x for x in Path("environments").iterdir() if x.is_dir())
45
-
46
- # Filter out skipped environments
47
- all_envs = [env for env in all_envs if env.name not in SKIPPED_ENVS]
48
-
49
- # These are v0 smoke tests (vf.load_environment + vf-eval). The v1 plugins (the `_v1`
50
- # tasksets + the `compact` harness) are id-referenced and covered by tests/v1/test_envs.py.
51
- all_envs = [
52
- env
53
- for env in all_envs
54
- if not env.name.endswith("_v1") and env.name != "compact"
55
- ]
56
-
57
- # Filter environments if CHANGED_ENVS is set (for PRs)
58
- changed_envs = os.getenv("CHANGED_ENVS")
59
- if changed_envs == "none":
60
- return []
61
- if changed_envs:
62
- changed_list = [e.strip() for e in changed_envs.split(",") if e.strip()]
63
- if changed_list:
64
- all_envs = [env for env in all_envs if env.name in changed_list]
65
-
66
- return all_envs
67
-
68
-
69
- @pytest.mark.parametrize("env_dir", get_environments(), ids=lambda x: x.name)
70
- def test_pyproject_exists(env_dir: Path):
71
- """Test that the pyproject.toml file exists for the given environment directory."""
72
- assert (env_dir / "pyproject.toml").exists(), "pyproject.toml does not exist"
73
-
74
-
75
- @pytest.mark.parametrize("env_dir", get_environments(), ids=lambda x: x.name)
76
- def test_pyproject_has_metadata(env_dir: Path):
77
- """Test that the pyproject.toml file has the required metadata."""
78
- with open(env_dir / "pyproject.toml", "rb") as f:
79
- pyproject = tomllib.load(f)
80
- assert "name" in pyproject["project"], "pyproject.toml does not have a name"
81
- assert "version" in pyproject["project"], "pyproject.toml does not have a version"
82
- assert "description" in pyproject["project"], (
83
- "pyproject.toml does not have a description"
84
- )
85
- assert pyproject["project"]["description"] != "Your environment description here", (
86
- "Still uses placeholder description"
87
- )
88
- assert "tags" in pyproject["project"], "pyproject.toml does not have tags"
89
- assert pyproject["project"]["tags"] != ["placeholder-tag", "train", "eval"], (
90
- "Still uses placeholder tags"
91
- )
92
-
93
-
94
- @pytest.mark.parametrize("env_dir", get_environments(), ids=lambda x: x.name)
95
- def test_readme_exists(env_dir: Path):
96
- """Test that the README.md file exists for the given environment directory."""
97
- assert (env_dir / "README.md").exists(), "README.md does not exist"
98
-
99
-
100
- @pytest.mark.slow
101
- @pytest.mark.parametrize("env_dir", get_environments(), ids=lambda x: x.name)
102
- def test_env(env_dir: Path, tmp_path_factory: pytest.TempPathFactory):
103
- """Test environment in a fresh venv with local verifiers installed first."""
104
- if env_dir.name in SKIPPED_ENVS:
105
- pytest.skip(f"Skipping {env_dir.name}")
106
- if env_dir.name in SKIPPED_ENV_LOADING_ENVS:
107
- pytest.skip(f"Skipping dedicated-runtime smoke test for {env_dir.name}")
108
- tmp_venv_dir = tmp_path_factory.mktemp(f"venv_{env_dir.name}")
109
- repo_root = Path(__file__).parent.parent
110
- cmd = (
111
- f"cd {tmp_venv_dir} && uv venv --clear && source .venv/bin/activate && "
112
- "uv pip install "
113
- f"{repo_root.as_posix()} && "
114
- "uv pip install "
115
- f"{env_dir.absolute().as_posix()}"
116
- )
117
- try:
118
- process = subprocess.run(
119
- cmd,
120
- shell=True,
121
- executable="/bin/bash",
122
- capture_output=True,
123
- text=True,
124
- timeout=INSTALL_TIMEOUT,
125
- )
126
- except subprocess.TimeoutExpired:
127
- pytest.fail(f"Timed out after {INSTALL_TIMEOUT}s installing {env_dir.name}")
128
- assert process.returncode == 0, (
129
- f"Failed to create virtual environment: {process.stderr}"
130
- )
131
-
132
- help_test_can_import_env(tmp_venv_dir, env_dir)
133
- help_test_can_load_env(tmp_venv_dir, env_dir)
134
- help_test_can_eval_env(tmp_venv_dir, env_dir)
135
-
136
-
137
- def help_test_can_import_env(tmp_venv_dir: Path, env_dir: Path):
138
- """Test that the environment can be imported as a package."""
139
- import_cmd = f"cd {tmp_venv_dir} && source .venv/bin/activate && uv run python -c 'import {env_dir.name}'"
140
- try:
141
- process = subprocess.run(
142
- import_cmd,
143
- shell=True,
144
- executable="/bin/bash",
145
- capture_output=True,
146
- text=True,
147
- timeout=IMPORT_TIMEOUT,
148
- )
149
- except subprocess.TimeoutExpired:
150
- pytest.fail(f"Timed out after {IMPORT_TIMEOUT}s importing {env_dir.name}")
151
- assert process.returncode == 0, "Failed to import environment"
152
-
153
-
154
- def help_test_can_load_env(tmp_venv_dir: Path, env_dir: Path):
155
- """Test that the environment can be loaded."""
156
- load_cmd = f"""cd {tmp_venv_dir} && source .venv/bin/activate && uv run python -c 'import verifiers as vf; vf.load_environment("{env_dir.name}")'"""
157
- try:
158
- process = subprocess.run(
159
- load_cmd,
160
- shell=True,
161
- executable="/bin/bash",
162
- capture_output=True,
163
- text=True,
164
- timeout=LOAD_TIMEOUT,
165
- )
166
- except subprocess.TimeoutExpired:
167
- pytest.fail(f"Timed out after {LOAD_TIMEOUT}s loading {env_dir.name}")
168
- assert process.returncode == 0, "Failed to load environment"
169
-
170
-
171
- def help_test_can_eval_env(tmp_venv_dir: Path, env_dir: Path):
172
- """Test that the environment can be run via vf-eval."""
173
- if os.getenv("PRIME_API_KEY"):
174
- model_flags = "-m openai/gpt-4.1-mini -b https://api.pinference.ai/api/v1 -k PRIME_API_KEY"
175
- elif os.getenv("OPENAI_API_KEY"):
176
- model_flags = "-m gpt-4.1-mini -b https://api.openai.com/v1 -k OPENAI_API_KEY"
177
- else:
178
- pytest.skip("Skipping vf-eval smoke test because no API key is configured")
179
-
180
- eval_cmd = (
181
- f"cd {tmp_venv_dir} && source .venv/bin/activate && "
182
- f"uv run vf-eval {env_dir.name} {model_flags} -n 1 -r 1 -t 512"
183
- )
184
- try:
185
- process = subprocess.run(
186
- eval_cmd,
187
- shell=True,
188
- executable="/bin/bash",
189
- capture_output=True,
190
- text=True,
191
- timeout=EVAL_TIMEOUT,
192
- )
193
- except subprocess.TimeoutExpired:
194
- pytest.fail(f"Timed out after {EVAL_TIMEOUT}s evaluating {env_dir.name}")
195
- assert process.returncode == 0, "Failed to evaluate environment"
@@ -1,22 +0,0 @@
1
- from pathlib import Path
2
-
3
- import pytest
4
-
5
-
6
- def test_wordle_load_environment_reads_system_prompt_path(tmp_path, monkeypatch):
7
- pytest.importorskip("nltk")
8
- pytest.importorskip("textarena")
9
- from environments.wordle import wordle
10
-
11
- class CapturingTextArenaEnv:
12
- def __init__(self, **kwargs):
13
- self.kwargs = kwargs
14
-
15
- prompt = "Optimized Wordle prompt.\n\nPreserve exact text.\n"
16
- prompt_path = tmp_path / "system_prompt.txt"
17
- prompt_path.write_text(prompt, encoding="utf-8")
18
- monkeypatch.setattr(wordle, "TextArenaEnv", CapturingTextArenaEnv)
19
-
20
- env = wordle.load_environment(path_to_system_prompt=Path(prompt_path))
21
-
22
- assert env.kwargs["system_prompt"] == prompt
File without changes