verifiers 0.3.2.dev97__tar.gz → 0.3.2.dev99__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 (215) hide show
  1. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/PKG-INFO +1 -1
  2. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/test_e2e.py +4 -0
  3. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/test_trace.py +35 -0
  4. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/pi/harness.py +1 -1
  5. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/rlm/harness.py +11 -0
  6. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/trace.py +2 -1
  7. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/.gitignore +0 -0
  8. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/LICENSE +0 -0
  9. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/README.md +0 -0
  10. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/pyproject.toml +0 -0
  11. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/conftest.py +0 -0
  12. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/fixtures/counter_tool_v1.py +0 -0
  13. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/fixtures/duet_v1.py +0 -0
  14. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
  15. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
  16. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/fixtures/echo_tool_v1.py +0 -0
  17. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
  18. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/fixtures/echo_v1.py +0 -0
  19. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/fixtures/pyproject.toml +0 -0
  20. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
  21. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/test_color_codeword_tasks.py +0 -0
  22. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/test_configs.py +0 -0
  23. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/test_envs.py +0 -0
  24. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/test_graph.py +0 -0
  25. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/test_judges.py +0 -0
  26. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/test_platform_run.py +0 -0
  27. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/test_scoring.py +0 -0
  28. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/tests/v1/test_taskset.py +0 -0
  29. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/__init__.py +0 -0
  30. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/cli/commands/init.py +0 -0
  31. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/__init__.py +0 -0
  32. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/acp/__init__.py +0 -0
  33. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/acp/runner.py +0 -0
  34. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/agent.py +0 -0
  35. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/__init__.py +0 -0
  36. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/dashboard/__init__.py +0 -0
  37. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/dashboard/base.py +0 -0
  38. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/dashboard/eval.py +0 -0
  39. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/dashboard/replay.py +0 -0
  40. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/dashboard/validate.py +0 -0
  41. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/debug.py +0 -0
  42. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/eval/__init__.py +0 -0
  43. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/eval/main.py +0 -0
  44. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/eval/resume.py +0 -0
  45. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/eval/runner.py +0 -0
  46. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/gepa.py +0 -0
  47. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/init.py +0 -0
  48. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/output.py +0 -0
  49. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/replay.py +0 -0
  50. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/resolve.py +0 -0
  51. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/resume.py +0 -0
  52. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/cli/validate.py +0 -0
  53. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/clients/__init__.py +0 -0
  54. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/clients/base.py +0 -0
  55. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/clients/client.py +0 -0
  56. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/clients/eval.py +0 -0
  57. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/clients/train.py +0 -0
  58. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/__init__.py +0 -0
  59. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/agent.py +0 -0
  60. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/cli/__init__.py +0 -0
  61. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/cli/debug.py +0 -0
  62. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/cli/env.py +0 -0
  63. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/cli/eval.py +0 -0
  64. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/cli/init.py +0 -0
  65. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/cli/replay.py +0 -0
  66. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/cli/validate.py +0 -0
  67. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/client.py +0 -0
  68. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/env.py +0 -0
  69. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/harness.py +0 -0
  70. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/judge.py +0 -0
  71. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/retries.py +0 -0
  72. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/runtime.py +0 -0
  73. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/serve.py +0 -0
  74. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/task.py +0 -0
  75. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/configs/taskset.py +0 -0
  76. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/dialects/__init__.py +0 -0
  77. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/dialects/anthropic.py +0 -0
  78. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/dialects/base.py +0 -0
  79. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/dialects/chat.py +0 -0
  80. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/dialects/responses.py +0 -0
  81. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/env.py +0 -0
  82. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/envs/__init__.py +0 -0
  83. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
  84. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/envs/agentic_judge/env.py +0 -0
  85. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
  86. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/envs/best_of_n/env.py +0 -0
  87. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/envs/isolated_verifier/__init__.py +0 -0
  88. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/envs/isolated_verifier/env.py +0 -0
  89. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
  90. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/envs/single_agent/__init__.py +0 -0
  91. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/envs/single_agent/env.py +0 -0
  92. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/envs/user_sim/__init__.py +0 -0
  93. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/envs/user_sim/env.py +0 -0
  94. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/episode.py +0 -0
  95. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/errors.py +0 -0
  96. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/gepa/__init__.py +0 -0
  97. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/gepa/adapter.py +0 -0
  98. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/gepa/config.py +0 -0
  99. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/gepa/dataset.py +0 -0
  100. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/gepa/reflection.py +0 -0
  101. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/gepa/runner.py +0 -0
  102. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/graph.py +0 -0
  103. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harness.py +0 -0
  104. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/__init__.py +0 -0
  105. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/bash/__init__.py +0 -0
  106. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/bash/harness.py +0 -0
  107. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
  108. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
  109. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/browser_use/program.py +0 -0
  110. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
  111. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
  112. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/codex/__init__.py +0 -0
  113. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/codex/harness.py +0 -0
  114. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
  115. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
  116. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
  117. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
  118. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
  119. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
  120. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
  121. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
  122. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/node.py +0 -0
  123. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/null/__init__.py +0 -0
  124. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/null/harness.py +0 -0
  125. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
  126. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
  127. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/pi/__init__.py +0 -0
  128. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
  129. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
  130. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
  131. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
  132. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
  133. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
  134. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/utils/__init__.py +0 -0
  135. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/utils/compaction.py +0 -0
  136. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/utils/core.py +0 -0
  137. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/utils/install.py +0 -0
  138. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/utils/launch.py +0 -0
  139. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/harnesses/utils/mcp.py +0 -0
  140. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/interception/__init__.py +0 -0
  141. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/interception/base.py +0 -0
  142. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/interception/pool.py +0 -0
  143. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/interception/server.py +0 -0
  144. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/interception/tool.py +0 -0
  145. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/interception/tunnel/__init__.py +0 -0
  146. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/interception/tunnel/base.py +0 -0
  147. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/interception/tunnel/custom.py +0 -0
  148. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/interception/tunnel/prime.py +0 -0
  149. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/judge.py +0 -0
  150. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/judges/__init__.py +0 -0
  151. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/judges/reference.py +0 -0
  152. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/judges/reference.txt +0 -0
  153. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/judges/rubric.py +0 -0
  154. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/judges/rubric.txt +0 -0
  155. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/mcp/__init__.py +0 -0
  156. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/mcp/launch.py +0 -0
  157. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/mcp/server.py +0 -0
  158. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/mcp/toolset.py +0 -0
  159. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/rollout.py +0 -0
  160. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/runtimes/__init__.py +0 -0
  161. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/runtimes/base.py +0 -0
  162. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/runtimes/docker/__init__.py +0 -0
  163. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/runtimes/docker/egress.py +0 -0
  164. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/runtimes/limiters.py +0 -0
  165. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/runtimes/modal.py +0 -0
  166. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/runtimes/prime.py +0 -0
  167. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/runtimes/subprocess.py +0 -0
  168. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/semantic.py +0 -0
  169. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/serve/__init__.py +0 -0
  170. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/serve/client.py +0 -0
  171. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/serve/encoding.py +0 -0
  172. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/serve/pool.py +0 -0
  173. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/serve/server.py +0 -0
  174. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/serve/types.py +0 -0
  175. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/session.py +0 -0
  176. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/state.py +0 -0
  177. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/task.py +0 -0
  178. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/taskset.py +0 -0
  179. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/__init__.py +0 -0
  180. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
  181. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/harbor/env.py +0 -0
  182. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
  183. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/harbor/toolset.py +0 -0
  184. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/lean/__init__.py +0 -0
  185. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/lean/scoring.py +0 -0
  186. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/lean/taskset.py +0 -0
  187. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
  188. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
  189. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
  190. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
  191. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
  192. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
  193. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
  194. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
  195. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
  196. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/types.py +0 -0
  197. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/__init__.py +0 -0
  198. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/aio.py +0 -0
  199. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/artifacts.py +0 -0
  200. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/compile.py +0 -0
  201. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/decorators.py +0 -0
  202. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/format.py +0 -0
  203. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/generic.py +0 -0
  204. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/git.py +0 -0
  205. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/image.py +0 -0
  206. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/interrupt.py +0 -0
  207. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/loaders.py +0 -0
  208. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/logging.py +0 -0
  209. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/memory.py +0 -0
  210. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/paths.py +0 -0
  211. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/platform.py +0 -0
  212. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/prime.py +0 -0
  213. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/retries.py +0 -0
  214. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/verifiers/v1/utils/score.py +0 -0
  215. {verifiers-0.3.2.dev97 → verifiers-0.3.2.dev99}/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.dev97
3
+ Version: 0.3.2.dev99
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
@@ -352,6 +352,10 @@ async def test_acp_resume_with_tool(run_v1, harness, harness_runtime, tmp_path):
352
352
  # populates trace.tools; the ACP transcript is the source of truth for use.
353
353
  assert "tool" in segments[1]["roles"]
354
354
  assert segments[1]["tool_outputs"]
355
+ if harness.id == "pi":
356
+ recall = next(tool for tool in trace.tools if tool.name == "resume_recall")
357
+ assert recall.parameters["properties"]["codeword"]["type"] == "string"
358
+ assert "codeword" in recall.parameters["required"]
355
359
  if harness.id == "rlm":
356
360
  assert "turns_since_last_compaction" in trace.metrics
357
361
  assert all(call.acp is not None for call in trace.calls)
@@ -33,6 +33,41 @@ class MyState(vf.State):
33
33
  score: int = 0
34
34
 
35
35
 
36
+ @pytest.mark.parametrize(
37
+ "reason,condition",
38
+ [
39
+ ("max_total_tokens", "max_total_tokens"),
40
+ ("max_total_turns", "max_turns"),
41
+ ("token_budget", "max_output_tokens"),
42
+ ("compaction_failed", "compaction_failed"),
43
+ ("done", "agent_completed"),
44
+ (None, "agent_completed"),
45
+ ],
46
+ )
47
+ def test_rlm_stop_reason_survives_completion_and_serialization(reason, condition):
48
+ trace = vf.Trace(
49
+ agent=vf.AgentInfo(config=vf.AgentConfig()),
50
+ task=vf.TraceTask(type="Task", data=vf.TaskData(idx=0, prompt="q")),
51
+ )
52
+ harness = RLMHarness(RLMHarnessConfig(id="rlm"))
53
+ metadata = {
54
+ RLM_SESSION_METADATA_KEY: {
55
+ "session_id": trace.id,
56
+ "metrics": {"turns": 1},
57
+ "last_stop_reason": reason,
58
+ }
59
+ }
60
+ harness.acp_turn_result(
61
+ trace, vf.ACPTurn(reply="partial", response_metadata=metadata)
62
+ )
63
+ trace.stop("agent_completed")
64
+ harness.acp_close_result(trace, metadata)
65
+
66
+ restored = vf.WireTrace.model_validate_json(trace.model_dump_json())
67
+ assert restored.stop_condition == condition
68
+ assert restored.is_truncated is (condition != "agent_completed")
69
+
70
+
36
71
  class FailingSegmentRollout:
37
72
  ok = Rollout.ok
38
73
  closed = Rollout.closed
@@ -137,7 +137,7 @@ class PiHarness(ACPHarness[PiHarnessConfig]):
137
137
  extension_path = f"{agent_dir}/mcp.js"
138
138
  mcp = {
139
139
  "mcpServers": {
140
- name: {"url": url, "lifecycle": "eager"}
140
+ name: {"url": url, "lifecycle": "eager", "directTools": True}
141
141
  for name, url in mcp_urls.items()
142
142
  }
143
143
  }
@@ -41,6 +41,15 @@ class _SessionSnapshot(BaseModel):
41
41
 
42
42
  session_id: str = Field(pattern=r"^[A-Za-z0-9._:-]{1,128}$")
43
43
  metrics: dict[str, int | float]
44
+ last_stop_reason: str | None = None
45
+
46
+
47
+ _TRUNCATION_STOPS = {
48
+ "max_total_tokens": "max_total_tokens",
49
+ "max_total_turns": "max_turns",
50
+ "token_budget": "max_output_tokens",
51
+ "compaction_failed": "compaction_failed",
52
+ }
44
53
 
45
54
 
46
55
  class CompactionConfig(BaseConfig):
@@ -251,6 +260,8 @@ class RLMHarness(ACPHarness[RLMHarnessConfig]):
251
260
  if snapshot.session_id != trace.id:
252
261
  raise ValueError("RLM session snapshot does not match the rollout")
253
262
  trace.record_metrics(snapshot.metrics)
263
+ if condition := _TRUNCATION_STOPS.get(snapshot.last_stop_reason or ""):
264
+ trace.stop(condition)
254
265
 
255
266
  def acp_turn_result(self, trace: Trace, result: ACPTurn) -> None:
256
267
  self._consume_snapshot(trace, result.response_metadata)
@@ -621,12 +621,13 @@ class Trace(BaseModel, Generic[DataT, StateT, AgentConfigT]):
621
621
 
622
622
  @property
623
623
  def is_truncated(self) -> bool:
624
- """True for framework limits or a length-finished final response."""
624
+ """True for framework limits, failed compaction, or a length-finished response."""
625
625
  if self.stop_condition in (
626
626
  "max_turns",
627
627
  "max_input_tokens",
628
628
  "max_output_tokens",
629
629
  "max_total_tokens",
630
+ "compaction_failed",
630
631
  ):
631
632
  return True
632
633
  last = next((c for c in reversed(self.calls) if c.error is None), None)
File without changes