verifiers 0.3.2.dev35__tar.gz → 0.3.2.dev37__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 (211) hide show
  1. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/PKG-INFO +5 -5
  2. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/pyproject.toml +5 -4
  3. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/rlm/harness.py +68 -13
  4. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/lean/taskset.py +6 -1
  5. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/.gitignore +0 -0
  6. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/LICENSE +0 -0
  7. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/README.md +0 -0
  8. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/conftest.py +0 -0
  9. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/fixtures/counter_tool_v1.py +0 -0
  10. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/fixtures/duet_v1.py +0 -0
  11. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
  12. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
  13. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/fixtures/echo_tool_v1.py +0 -0
  14. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
  15. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/fixtures/echo_v1.py +0 -0
  16. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/fixtures/pyproject.toml +0 -0
  17. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
  18. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/test_color_codeword_tasks.py +0 -0
  19. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/test_configs.py +0 -0
  20. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/test_e2e.py +0 -0
  21. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/test_envs.py +0 -0
  22. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/test_graph.py +0 -0
  23. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/test_judges.py +0 -0
  24. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/test_scoring.py +0 -0
  25. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/test_taskset.py +0 -0
  26. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/tests/v1/test_trace.py +0 -0
  27. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/__init__.py +0 -0
  28. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/__init__.py +0 -0
  29. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/acp/__init__.py +0 -0
  30. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/acp/runner.py +0 -0
  31. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/agent.py +0 -0
  32. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/__init__.py +0 -0
  33. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/dashboard/__init__.py +0 -0
  34. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/dashboard/base.py +0 -0
  35. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/dashboard/eval.py +0 -0
  36. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/dashboard/replay.py +0 -0
  37. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/dashboard/validate.py +0 -0
  38. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/debug.py +0 -0
  39. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/eval/__init__.py +0 -0
  40. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/eval/main.py +0 -0
  41. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/eval/resume.py +0 -0
  42. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/eval/runner.py +0 -0
  43. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/gepa.py +0 -0
  44. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/init.py +0 -0
  45. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/output.py +0 -0
  46. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/replay.py +0 -0
  47. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/resolve.py +0 -0
  48. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/resume.py +0 -0
  49. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/cli/validate.py +0 -0
  50. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/clients/__init__.py +0 -0
  51. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/clients/base.py +0 -0
  52. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/clients/client.py +0 -0
  53. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/clients/eval.py +0 -0
  54. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/clients/train.py +0 -0
  55. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/__init__.py +0 -0
  56. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/agent.py +0 -0
  57. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/cli/__init__.py +0 -0
  58. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/cli/debug.py +0 -0
  59. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/cli/env.py +0 -0
  60. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/cli/eval.py +0 -0
  61. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/cli/init.py +0 -0
  62. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/cli/replay.py +0 -0
  63. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/cli/validate.py +0 -0
  64. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/client.py +0 -0
  65. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/env.py +0 -0
  66. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/harness.py +0 -0
  67. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/judge.py +0 -0
  68. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/retries.py +0 -0
  69. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/runtime.py +0 -0
  70. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/serve.py +0 -0
  71. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/task.py +0 -0
  72. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/configs/taskset.py +0 -0
  73. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/dialects/__init__.py +0 -0
  74. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/dialects/anthropic.py +0 -0
  75. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/dialects/base.py +0 -0
  76. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/dialects/chat.py +0 -0
  77. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/dialects/responses.py +0 -0
  78. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/env.py +0 -0
  79. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/envs/__init__.py +0 -0
  80. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
  81. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/envs/agentic_judge/env.py +0 -0
  82. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
  83. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/envs/best_of_n/env.py +0 -0
  84. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
  85. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/envs/single_agent/__init__.py +0 -0
  86. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/envs/single_agent/env.py +0 -0
  87. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/envs/user_sim/__init__.py +0 -0
  88. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/envs/user_sim/env.py +0 -0
  89. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/episode.py +0 -0
  90. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/errors.py +0 -0
  91. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/gepa/__init__.py +0 -0
  92. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/gepa/adapter.py +0 -0
  93. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/gepa/config.py +0 -0
  94. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/gepa/dataset.py +0 -0
  95. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/gepa/reflection.py +0 -0
  96. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/gepa/runner.py +0 -0
  97. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/graph.py +0 -0
  98. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harness.py +0 -0
  99. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/__init__.py +0 -0
  100. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/bash/__init__.py +0 -0
  101. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/bash/harness.py +0 -0
  102. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
  103. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
  104. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/browser_use/program.py +0 -0
  105. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
  106. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
  107. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/codex/__init__.py +0 -0
  108. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/codex/harness.py +0 -0
  109. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
  110. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
  111. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
  112. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
  113. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
  114. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
  115. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
  116. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
  117. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/node.py +0 -0
  118. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/null/__init__.py +0 -0
  119. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/null/harness.py +0 -0
  120. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
  121. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
  122. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/pi/__init__.py +0 -0
  123. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/pi/harness.py +0 -0
  124. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/pool/__init__.py +0 -0
  125. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/pool/harness.py +0 -0
  126. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
  127. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
  128. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
  129. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
  130. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
  131. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
  132. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/utils/__init__.py +0 -0
  133. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/utils/compaction.py +0 -0
  134. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/utils/core.py +0 -0
  135. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/utils/launch.py +0 -0
  136. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/harnesses/utils/mcp.py +0 -0
  137. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/interception/__init__.py +0 -0
  138. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/interception/base.py +0 -0
  139. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/interception/pool.py +0 -0
  140. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/interception/server.py +0 -0
  141. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/interception/tool.py +0 -0
  142. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/interception/tunnel/__init__.py +0 -0
  143. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/interception/tunnel/base.py +0 -0
  144. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/interception/tunnel/custom.py +0 -0
  145. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/interception/tunnel/prime.py +0 -0
  146. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/judge.py +0 -0
  147. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/judges/__init__.py +0 -0
  148. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/judges/reference.py +0 -0
  149. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/judges/reference.txt +0 -0
  150. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/judges/rubric.py +0 -0
  151. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/judges/rubric.txt +0 -0
  152. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/mcp/__init__.py +0 -0
  153. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/mcp/launch.py +0 -0
  154. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/mcp/server.py +0 -0
  155. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/mcp/toolset.py +0 -0
  156. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/rollout.py +0 -0
  157. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/runtimes/__init__.py +0 -0
  158. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/runtimes/base.py +0 -0
  159. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/runtimes/docker/__init__.py +0 -0
  160. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/runtimes/docker/egress.py +0 -0
  161. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/runtimes/limiters.py +0 -0
  162. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/runtimes/modal.py +0 -0
  163. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/runtimes/prime.py +0 -0
  164. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/runtimes/subprocess.py +0 -0
  165. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/semantic.py +0 -0
  166. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/serve/__init__.py +0 -0
  167. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/serve/client.py +0 -0
  168. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/serve/encoding.py +0 -0
  169. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/serve/pool.py +0 -0
  170. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/serve/server.py +0 -0
  171. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/serve/types.py +0 -0
  172. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/session.py +0 -0
  173. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/state.py +0 -0
  174. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/task.py +0 -0
  175. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/taskset.py +0 -0
  176. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/__init__.py +0 -0
  177. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
  178. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/harbor/env.py +0 -0
  179. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
  180. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/lean/__init__.py +0 -0
  181. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/lean/scoring.py +0 -0
  182. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
  183. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
  184. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
  185. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
  186. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
  187. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
  188. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
  189. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
  190. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
  191. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/trace.py +0 -0
  192. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/types.py +0 -0
  193. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/__init__.py +0 -0
  194. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/aio.py +0 -0
  195. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/artifacts.py +0 -0
  196. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/compile.py +0 -0
  197. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/decorators.py +0 -0
  198. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/format.py +0 -0
  199. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/generic.py +0 -0
  200. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/git.py +0 -0
  201. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/image.py +0 -0
  202. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/interrupt.py +0 -0
  203. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/loaders.py +0 -0
  204. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/logging.py +0 -0
  205. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/memory.py +0 -0
  206. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/paths.py +0 -0
  207. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/platform.py +0 -0
  208. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/prime.py +0 -0
  209. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/retries.py +0 -0
  210. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/score.py +0 -0
  211. {verifiers-0.3.2.dev35 → verifiers-0.3.2.dev37}/verifiers/v1/utils/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: verifiers
3
- Version: 0.3.2.dev35
3
+ Version: 0.3.2.dev37
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
@@ -22,8 +22,7 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
23
  Requires-Python: <3.14,>=3.11
24
24
  Requires-Dist: aiohttp>=3.14.1
25
- Requires-Dist: anthropic>=0.78.0
26
- Requires-Dist: datasets<6.0.0,>=3.3.0
25
+ Requires-Dist: anthropic>=1.0.0
27
26
  Requires-Dist: gepa>=0.0.6
28
27
  Requires-Dist: httpx>=0.27.0
29
28
  Requires-Dist: loguru>=0.7.0
@@ -31,7 +30,7 @@ Requires-Dist: math-verify>=0.8.0
31
30
  Requires-Dist: mcp==2.0.0
32
31
  Requires-Dist: msgpack>=1.1.2
33
32
  Requires-Dist: numpy>=2.1.0
34
- Requires-Dist: openai>=2.9.0
33
+ Requires-Dist: openai<3.0.0,>=2.54.0
35
34
  Requires-Dist: prime-pydantic-config[toml]>=0.4.3
36
35
  Requires-Dist: prime-sandboxes>=0.2.39
37
36
  Requires-Dist: prime-tunnel>=0.1.8
@@ -42,9 +41,10 @@ Requires-Dist: rich>=11.0.0
42
41
  Requires-Dist: tenacity>=8.5.0
43
42
  Requires-Dist: tomli-w>=1.0.0
44
43
  Requires-Dist: typing-extensions>=4.12.2
45
- Requires-Dist: uvloop>=0.21.0; sys_platform != 'win32' and sys_platform != 'cygwin' and platform_python_implementation != 'PyPy'
46
44
  Provides-Extra: harbor
47
45
  Requires-Dist: harbor==0.21.0; (python_full_version >= '3.12') and extra == 'harbor'
46
+ Provides-Extra: lean
47
+ Requires-Dist: datasets<6.0.0,>=3.3.0; extra == 'lean'
48
48
  Provides-Extra: modal
49
49
  Requires-Dist: modal>=1.4.0; extra == 'modal'
50
50
  Provides-Extra: openenv
@@ -27,11 +27,10 @@ classifiers = [
27
27
  ]
28
28
 
29
29
  dependencies = [
30
- "anthropic>=0.78.0",
31
- "datasets>=3.3.0,<6.0.0",
30
+ "anthropic>=1.0.0",
32
31
  "numpy>=2.1.0",
33
32
  "math-verify>=0.8.0",
34
- "openai>=2.9.0",
33
+ "openai>=2.54.0,<3.0.0",
35
34
  "prime-tunnel>=0.1.8",
36
35
  "prime-sandboxes>=0.2.39",
37
36
  "pydantic>=2.12.3",
@@ -43,7 +42,6 @@ dependencies = [
43
42
  "httpx>=0.27.0",
44
43
  "aiohttp>=3.14.1",
45
44
  "prime-pydantic-config[toml]>=0.4.3",
46
- "uvloop>=0.21.0; sys_platform != 'win32' and sys_platform != 'cygwin' and platform_python_implementation != 'PyPy'",
47
45
  "loguru>=0.7.0",
48
46
  "tomli-w>=1.0.0",
49
47
  "renderers[multimodal]>=0.1.12.dev2",
@@ -86,6 +84,9 @@ examples = [
86
84
  ]
87
85
 
88
86
  [project.optional-dependencies]
87
+ lean = [
88
+ "datasets>=3.3.0,<6.0.0",
89
+ ]
89
90
  ta = [
90
91
  "textarena==0.7.4",
91
92
  "nltk>=3.9.2",
@@ -5,7 +5,14 @@ import logging
5
5
  import shlex
6
6
  from typing import Any, Literal
7
7
 
8
- from pydantic import BaseModel, ConfigDict, Field, PositiveInt, model_validator
8
+ from pydantic import (
9
+ BaseModel,
10
+ ConfigDict,
11
+ Field,
12
+ NonNegativeInt,
13
+ PositiveInt,
14
+ model_validator,
15
+ )
9
16
  from pydantic_config import BaseConfig
10
17
 
11
18
  from verifiers.v1.acp import ACPConfig, ACPHarness, ACPTurn, JsonObject
@@ -17,7 +24,7 @@ from verifiers.v1.trace import Trace
17
24
 
18
25
  logger = logging.getLogger(__name__)
19
26
 
20
- BuiltinSkill = Literal["edit", "search"]
27
+ BuiltinSkill = Literal["bash", "edit", "fetch", "search"]
21
28
 
22
29
  RLM_REPO = "github.com/PrimeIntellect-ai/nano-rlm.git"
23
30
  RLM_CACHE_DIR = "/tmp/vf-rlm"
@@ -43,15 +50,36 @@ class CompactionConfig(BaseConfig):
43
50
 
44
51
 
45
52
  class RLMHarnessConfig(HarnessConfig):
46
- version: str = Field(default="4ef3438", min_length=1)
47
- """Git ref (branch, tag, or commit) of nano-rlm to install."""
48
- max_depth: int = 0
49
- """Recursion depth RLM may spawn sub-harnesses to."""
53
+ version: str = Field(default="240090d", min_length=1)
54
+ """Git ref (branch, tag, or commit) of nano-rlm to install. Must know every
55
+ field this harness puts on the wire, i.e. be at least the default ref."""
56
+ max_depth: NonNegativeInt | None = None
57
+ """Recursion depth RLM may spawn sub-agents to; `None` = nano-rlm's default (1).
58
+ Set 0 to disable recursion."""
50
59
  builtin_skills: list[BuiltinSkill] = Field(default_factory=list)
51
60
  """Built-in rlm skills to enable (RLM_SKILLS), e.g. `["edit"]`; empty enables none.
52
61
  The tool set is fixed (ipython); the base `skills` field takes SKILL.md paths."""
53
62
  compaction: CompactionConfig | None = None
54
63
  """Context compaction policy. Set an empty config to use automatic thresholds."""
64
+ max_concurrent_subagents: PositiveInt | None = None
65
+ """Sub-agents running at once per session tree; `None` = nano-rlm's default (4).
66
+ nano-rlm requires it to be at least `max_depth`."""
67
+ max_total_turns: PositiveInt | None = None
68
+ """Tree-total turn budget (one turn = one work-loop model call, any engine); every
69
+ engine stops before its next call once spent. `None` = uncapped."""
70
+ max_total_tokens: PositiveInt | None = None
71
+ """Tree-total budget of NEW tokens (completion + uncached prompt) across the session
72
+ tree; once spent every engine stops and no further sub-agents spawn. `None` = unbounded."""
73
+ max_tool_output_bytes: PositiveInt | None = None
74
+ """Byte budget for a single tool result entering the conversation (middle truncation);
75
+ overrides rlm's built-in 20KB default in either direction."""
76
+ append_to_system_prompt: str | None = None
77
+ """Appended to the root engine's system prompt, after the taskset's system prompt."""
78
+ subagent_append_to_system_prompt: str | None = None
79
+ """Append for sub-agent engines that can still delegate (depth >= 1, below
80
+ `max_depth`); unset falls back to `append_to_system_prompt`."""
81
+ leaf_append_to_system_prompt: str | None = None
82
+ """Append for depth-capped leaf engines; unset falls back to the sub-agent append."""
55
83
 
56
84
  @model_validator(mode="after")
57
85
  def reject_disabled_tools(self) -> "RLMHarnessConfig":
@@ -60,6 +88,15 @@ class RLMHarnessConfig(HarnessConfig):
60
88
  "the rlm harness has a fixed tool set (ipython) and does not support "
61
89
  "`disabled_tools`; use `builtin_skills` to enable built-in skills instead."
62
90
  )
91
+ if (
92
+ self.max_depth is not None
93
+ and self.max_concurrent_subagents is not None
94
+ and self.max_concurrent_subagents < self.max_depth
95
+ ):
96
+ raise ValueError(
97
+ "`max_concurrent_subagents` must be at least `max_depth` "
98
+ "(nano-rlm rejects the policy otherwise)."
99
+ )
63
100
  return self
64
101
 
65
102
 
@@ -109,6 +146,11 @@ class RLMHarness(ACPHarness[RLMHarnessConfig]):
109
146
  system_prompt: str | None,
110
147
  ) -> JsonObject:
111
148
  compaction = self.config.compaction
149
+ appends = [
150
+ text
151
+ for text in (system_prompt, self.config.append_to_system_prompt)
152
+ if text
153
+ ]
112
154
  payload = {
113
155
  "session_id": trace.id,
114
156
  "model": ctx.model,
@@ -116,16 +158,29 @@ class RLMHarness(ACPHarness[RLMHarnessConfig]):
116
158
  "base_url": endpoint,
117
159
  "api_key": secret,
118
160
  },
161
+ # None = passthrough: the key stays off the wire and nano-rlm's own
162
+ # default applies.
119
163
  "policy": {
120
- "max_depth": self.config.max_depth,
121
- "compaction": compaction is not None,
122
- "summarize_at_tokens": (
123
- compaction.summarize_at_tokens if compaction else None
124
- ),
125
- "max_concurrent_subagents": max(4, self.config.max_depth),
164
+ key: value
165
+ for key, value in {
166
+ "max_depth": self.config.max_depth,
167
+ "compaction": compaction is not None,
168
+ "summarize_at_tokens": (
169
+ compaction.summarize_at_tokens if compaction else None
170
+ ),
171
+ "max_concurrent_subagents": self.config.max_concurrent_subagents,
172
+ "max_total_turns": self.config.max_total_turns,
173
+ "max_total_tokens": self.config.max_total_tokens,
174
+ "max_tool_output_bytes": self.config.max_tool_output_bytes,
175
+ }.items()
176
+ if value is not None
126
177
  },
127
178
  "system_prompt_path": None,
128
- "append_to_system_prompt": system_prompt,
179
+ "append_to_system_prompt": "\n\n".join(appends) or None,
180
+ "subagent_append_to_system_prompt": (
181
+ self.config.subagent_append_to_system_prompt
182
+ ),
183
+ "leaf_append_to_system_prompt": self.config.leaf_append_to_system_prompt,
129
184
  "skills": list(self.config.builtin_skills),
130
185
  "kernel_env": runtime.env,
131
186
  "search_api_key": self.config.resolved_env.get("SERPER_API_KEY"),
@@ -145,7 +145,12 @@ class LeanTask(Task[LeanData, State, LeanTaskConfig]):
145
145
 
146
146
  class LeanTaskset(Taskset[LeanTask, LeanConfig]):
147
147
  def load(self) -> Iterator[LeanTask]:
148
- from datasets import load_dataset
148
+ try:
149
+ from datasets import load_dataset
150
+ except ModuleNotFoundError as e:
151
+ raise ModuleNotFoundError(
152
+ "the Lean taskset requires the `lean` extra; install `verifiers[lean]`"
153
+ ) from e
149
154
 
150
155
  config = self.config
151
156
  ds = config.dataset
File without changes