benchflow 0.7.1.dev1969__tar.gz → 0.7.2__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 (723) hide show
  1. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/CHANGELOG.md +119 -0
  2. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/PKG-INFO +15 -8
  3. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/README.md +14 -7
  4. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/pyproject.toml +1 -1
  5. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/_traj_upload_ui.py +29 -1
  6. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/main.py +32 -2
  7. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/traj.py +228 -16
  8. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/redact.py +138 -23
  9. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/traj_capture.py +24 -4
  10. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/traj_report.py +14 -1
  11. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/types.py +86 -18
  12. benchflow-0.7.2/src/benchflow/trajectories/viewer.py +872 -0
  13. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conftest.py +10 -0
  14. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_edge_case_hardening.py +60 -0
  15. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traj_report.py +83 -0
  16. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traj_upload_cli.py +358 -5
  17. benchflow-0.7.2/tests/test_viewer_confirm.py +279 -0
  18. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_redaction.py +142 -0
  19. benchflow-0.7.1.dev1969/src/benchflow/trajectories/viewer.py +0 -620
  20. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/.gitignore +0 -0
  21. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/LICENSE +0 -0
  22. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/__init__.py +0 -0
  23. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_dotenv.py +0 -0
  24. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_paths.py +0 -0
  25. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_run.py +0 -0
  26. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_types.py +0 -0
  27. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/__init__.py +0 -0
  28. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/benchmark_repos.py +0 -0
  29. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/build_context_stage.py +0 -0
  30. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/config.py +0 -0
  31. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/config_override.py +0 -0
  32. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/content_address.py +0 -0
  33. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/dataset_registry.py +0 -0
  34. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/env_registry.py +0 -0
  35. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/evaluation_results.py +0 -0
  36. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/hf_datasets.py +0 -0
  37. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/json_safe.py +0 -0
  38. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/learner_memory.py +0 -0
  39. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/live_activity.py +0 -0
  40. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/result_metadata.py +0 -0
  41. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/reward_events.py +0 -0
  42. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/scoring.py +0 -0
  43. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/source_provenance.py +0 -0
  44. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/task_authoring/__init__.py +0 -0
  45. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/task_authoring/_evidence_paths.py +0 -0
  46. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/task_authoring/acceptance_evidence.py +0 -0
  47. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/task_authoring/scaffolding.py +0 -0
  48. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/task_authoring/structural_checks.py +0 -0
  49. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/text.py +0 -0
  50. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/_utils/yaml_loader.py +0 -0
  51. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/__init__.py +0 -0
  52. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/client.py +0 -0
  53. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/container_transport.py +0 -0
  54. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/runtime.py +0 -0
  55. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/selection.py +0 -0
  56. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/session.py +0 -0
  57. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/transport.py +0 -0
  58. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/acp/types.py +0 -0
  59. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/__init__.py +0 -0
  60. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/_toolathlon.py +0 -0
  61. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/_toolathlon_container.py +0 -0
  62. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/_toolathlon_fake_mail.py +0 -0
  63. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/_toolathlon_poste_users.tsv +0 -0
  64. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/_toolathlon_services.py +0 -0
  65. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/harbor.py +0 -0
  66. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/inbound.py +0 -0
  67. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/inspect_ai.py +0 -0
  68. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/ors.py +0 -0
  69. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/resources/__init__.py +0 -0
  70. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/resources/mcp_atlas_bridge.py +0 -0
  71. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/resources/mcp_atlas_judge.py +0 -0
  72. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/adapters/source.py +0 -0
  73. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agent_router.py +0 -0
  74. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agent_router_guide.py +0 -0
  75. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agent_router_parity.py +0 -0
  76. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agent_router_scaffold.py +0 -0
  77. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/__init__.py +0 -0
  78. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/codex_config.py +0 -0
  79. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/credentials.py +0 -0
  80. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/deepagents_acp_shim.py +0 -0
  81. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/env.py +0 -0
  82. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/errors.py +0 -0
  83. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/harvey_lab_acp_shim.py +0 -0
  84. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/install.py +0 -0
  85. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/manifest.py +0 -0
  86. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/openclaw_acp_shim.py +0 -0
  87. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/pi_acp_launcher.py +0 -0
  88. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/protocol.py +0 -0
  89. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/providers.py +0 -0
  90. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/registry.py +0 -0
  91. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/agents/remote_manifests.py +0 -0
  92. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/branch.py +0 -0
  93. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/__init__.py +0 -0
  94. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/_failure_evidence.py +0 -0
  95. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/_hosted_env.py +0 -0
  96. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/_live_progress.py +0 -0
  97. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/_options.py +0 -0
  98. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/_shared.py +0 -0
  99. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/adopt.py +0 -0
  100. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/agent.py +0 -0
  101. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/continue_cmd.py +0 -0
  102. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/environment.py +0 -0
  103. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/eval_artifacts.py +0 -0
  104. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/eval_lift.py +0 -0
  105. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/hub.py +0 -0
  106. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/monitor.py +0 -0
  107. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/review.py +0 -0
  108. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/sandbox.py +0 -0
  109. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/skills.py +0 -0
  110. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/tasks.py +0 -0
  111. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/trace_import.py +0 -0
  112. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/cli/train.py +0 -0
  113. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/continue_run/__init__.py +0 -0
  114. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/continue_run/batch.py +0 -0
  115. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/continue_run/orchestrator.py +0 -0
  116. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/continue_run/replay_proxy.py +0 -0
  117. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/continue_run/run_folder.py +0 -0
  118. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/continue_run/sandbox_proxy.py +0 -0
  119. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/contracts/__init__.py +0 -0
  120. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/contracts/planes.py +0 -0
  121. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/contracts/user.py +0 -0
  122. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/demo_task/environment/Dockerfile +0 -0
  123. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/demo_task/instruction.md +0 -0
  124. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/demo_task/task.md +0 -0
  125. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/demo_task/task.toml +0 -0
  126. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/demo_task/tests/test.sh +0 -0
  127. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/diagnostics.py +0 -0
  128. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/__init__.py +0 -0
  129. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/_registry/env0@outage.toml +0 -0
  130. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/_registry/env0@prod.toml +0 -0
  131. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/manifest.py +0 -0
  132. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/manifest_env.py +0 -0
  133. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/protocol.py +0 -0
  134. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/environment/readiness.py +0 -0
  135. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/eval_artifacts.py +0 -0
  136. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/eval_lift.py +0 -0
  137. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/eval_plan.py +0 -0
  138. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/eval_sharding.py +0 -0
  139. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/eval_worker.py +0 -0
  140. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/evaluation.py +0 -0
  141. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/experimental/__init__.py +0 -0
  142. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/experimental/mcp/__init__.py +0 -0
  143. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/experimental/mcp/hooks.py +0 -0
  144. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/experimental/mcp/reviewer_server.py +0 -0
  145. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/hosted_env.py +0 -0
  146. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/hub/__init__.py +0 -0
  147. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/hub/harbor_registry.py +0 -0
  148. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/integrations/__init__.py +0 -0
  149. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/integrations/trl/__init__.py +0 -0
  150. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/integrations/trl/spec.py +0 -0
  151. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/learner_skills.py +0 -0
  152. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/learner_store.py +0 -0
  153. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/loop_strategies.py +0 -0
  154. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/loop_sweep.py +0 -0
  155. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/metrics.py +0 -0
  156. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/models.py +0 -0
  157. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/monitor.py +0 -0
  158. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/__init__.py +0 -0
  159. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/litellm_bedrock_patch.py +0 -0
  160. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/litellm_bedrock_preflight.py +0 -0
  161. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/litellm_config.py +0 -0
  162. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/litellm_logging.py +0 -0
  163. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/litellm_runtime.py +0 -0
  164. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/providers/runtime.py +0 -0
  165. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/__init__.py +0 -0
  166. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/_progress.py +0 -0
  167. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/azure_blob.py +0 -0
  168. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/broker.py +0 -0
  169. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/publish/huggingface.py +0 -0
  170. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/py.typed +0 -0
  171. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/review/__init__.py +0 -0
  172. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/review/config.py +0 -0
  173. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/review/default-rubric.json +0 -0
  174. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/review/prompts.py +0 -0
  175. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/review/runner.py +0 -0
  176. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/review/wrapper.py +0 -0
  177. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/README.md +0 -0
  178. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/__init__.py +0 -0
  179. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/builtins.py +0 -0
  180. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/events.py +0 -0
  181. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/file_readers.py +0 -0
  182. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/llm.py +0 -0
  183. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/memory_scorer.py +0 -0
  184. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/node.py +0 -0
  185. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/protocol.py +0 -0
  186. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/rubric.py +0 -0
  187. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/rubric_config.py +0 -0
  188. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rewards/validation.py +0 -0
  189. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/__init__.py +0 -0
  190. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_config.py +0 -0
  191. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_deadline.py +0 -0
  192. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_results.py +0 -0
  193. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_setup.py +0 -0
  194. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_skills.py +0 -0
  195. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_usage.py +0 -0
  196. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/_user_loop.py +0 -0
  197. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/session_factory_runtime.py +0 -0
  198. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout/task_runtime.py +0 -0
  199. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout_branch.py +0 -0
  200. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/rollout_planes.py +0 -0
  201. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/runtime.py +0 -0
  202. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/__init__.py +0 -0
  203. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_base.py +0 -0
  204. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_cache_reclaim.py +0 -0
  205. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_compose.py +0 -0
  206. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_compose_files/docker-compose-base.yaml +0 -0
  207. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_compose_files/docker-compose-build.yaml +0 -0
  208. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_compose_files/docker-compose-no-network.yaml +0 -0
  209. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_compose_files/docker-compose-prebuilt.yaml +0 -0
  210. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/_sdk_ops.py +0 -0
  211. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/agentcore.py +0 -0
  212. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/agentcore_builder.py +0 -0
  213. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/agentcore_image.py +0 -0
  214. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/agentcore_provisioning.py +0 -0
  215. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/agentcore_reaper.py +0 -0
  216. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/agentcore_sealed.py +0 -0
  217. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/apple_container.py +0 -0
  218. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/daytona.py +0 -0
  219. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/daytona_dind.py +0 -0
  220. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/daytona_pty.py +0 -0
  221. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/daytona_reaper.py +0 -0
  222. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/daytona_strategies.py +0 -0
  223. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/docker.py +0 -0
  224. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/lockdown.py +0 -0
  225. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/metadata.py +0 -0
  226. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/modal_impl.py +0 -0
  227. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/process/__init__.py +0 -0
  228. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/process/_base.py +0 -0
  229. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/process/agentcore.py +0 -0
  230. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/process/apple.py +0 -0
  231. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/process/daytona.py +0 -0
  232. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/process/docker.py +0 -0
  233. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/protocol.py +0 -0
  234. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/providers.py +0 -0
  235. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/services.py +0 -0
  236. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/setup.py +0 -0
  237. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/snapshot.py +0 -0
  238. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sandbox/user.py +0 -0
  239. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/scenes.py +0 -0
  240. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/sdk.py +0 -0
  241. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/self_gen.py +0 -0
  242. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/skill_eval/__init__.py +0 -0
  243. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/skill_eval/_core.py +0 -0
  244. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/skill_eval/gepa_export.py +0 -0
  245. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/skill_eval/schema.py +0 -0
  246. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/skill_policy.py +0 -0
  247. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/skills.py +0 -0
  248. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/__init__.py +0 -0
  249. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/_document_evidence.py +0 -0
  250. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/_document_normalize.py +0 -0
  251. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/_document_parse.py +0 -0
  252. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/_document_profiles.py +0 -0
  253. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/acceptance_live.py +0 -0
  254. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/acceptance_live_model.py +0 -0
  255. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/acceptance_live_report.py +0 -0
  256. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/acceptance_live_validation.py +0 -0
  257. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/config.py +0 -0
  258. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/discovery.py +0 -0
  259. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/document.py +0 -0
  260. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/env.py +0 -0
  261. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/export.py +0 -0
  262. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/imports.py +0 -0
  263. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/output_format.py +0 -0
  264. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/package.py +0 -0
  265. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/paths.py +0 -0
  266. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/prompts.py +0 -0
  267. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/runtime_capabilities.py +0 -0
  268. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/runtime_view.py +0 -0
  269. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/task.py +0 -0
  270. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier.py +0 -0
  271. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_core.py +0 -0
  272. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_document.py +0 -0
  273. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_errors.py +0 -0
  274. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_judge_inputs.py +0 -0
  275. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_ors_episode.py +0 -0
  276. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_reward_kit.py +0 -0
  277. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_scan.py +0 -0
  278. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/task/verifier_script_strategy.py +0 -0
  279. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/templates/__init__.py +0 -0
  280. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/templates/judge.py.tmpl +0 -0
  281. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/templates/test.sh.tmpl +0 -0
  282. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/traces/__init__.py +0 -0
  283. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/traces/huggingface.py +0 -0
  284. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/traces/local.py +0 -0
  285. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/traces/models.py +0 -0
  286. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/traces/parsers.py +0 -0
  287. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/traces/task_gen.py +0 -0
  288. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/training/__init__.py +0 -0
  289. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/training/backends/__init__.py +0 -0
  290. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/training/backends/prime_rl.py +0 -0
  291. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/training/run_manifest.py +0 -0
  292. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/__init__.py +0 -0
  293. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/_capture.py +0 -0
  294. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/_export_common.py +0 -0
  295. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/_llm_capture.py +0 -0
  296. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/call_purpose.py +0 -0
  297. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/export.py +0 -0
  298. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/export_adp.py +0 -0
  299. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/export_atif.py +0 -0
  300. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/export_prime_sft.py +0 -0
  301. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/export_trl_sft.py +0 -0
  302. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/metrics.py +0 -0
  303. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/results.py +0 -0
  304. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/sessions.py +0 -0
  305. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/tree.py +0 -0
  306. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/trajectories/trl_sft_tokenization.py +0 -0
  307. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/src/benchflow/usage_tracking.py +0 -0
  308. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/__init__.py +0 -0
  309. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/acceptance_live_harness.py +0 -0
  310. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/__init__.py +0 -0
  311. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_manifest_dirscan.py +0 -0
  312. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_manifest_loader.py +0 -0
  313. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_manifest_parity.py +0 -0
  314. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_manifest_wiring.py +0 -0
  315. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_namespace_shorthand.py +0 -0
  316. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_plugin_entry_points.py +0 -0
  317. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_protocol.py +0 -0
  318. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/agents/test_remote_manifest_autoload.py +0 -0
  319. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/README.md +0 -0
  320. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/environment/Dockerfile +0 -0
  321. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/environment/docker-compose.yaml +0 -0
  322. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/environment/skills/conformance-writer/SKILL.md +0 -0
  323. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/instruction.md +0 -0
  324. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/solution/solve.sh +0 -0
  325. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/task.md +0 -0
  326. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/task.toml +0 -0
  327. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/acp_smoke/tests/test.sh +0 -0
  328. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/conformance-results.json +0 -0
  329. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/proof_multi_agent.py +0 -0
  330. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/proof_snapshot.py +0 -0
  331. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/run_conformance.py +0 -0
  332. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/conformance/self_gen_smoke_skills/skill-creator/SKILL.md +0 -0
  333. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/continue_run/__init__.py +0 -0
  334. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/continue_run/_helpers.py +0 -0
  335. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/continue_run/test_batch.py +0 -0
  336. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/continue_run/test_orchestrator.py +0 -0
  337. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/continue_run/test_replay_proxy.py +0 -0
  338. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/continue_run/test_run_folder.py +0 -0
  339. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/__init__.py +0 -0
  340. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/test_chibench_manifest.py +0 -0
  341. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/test_clawsbench_manifest.py +0 -0
  342. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/test_manifest.py +0 -0
  343. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/test_manifest_env.py +0 -0
  344. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/test_protocol.py +0 -0
  345. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/environment/test_readiness.py +0 -0
  346. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/hello-world-task/environment/Dockerfile +0 -0
  347. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/hello-world-task/instruction.md +0 -0
  348. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/hello-world-task/solution/solve.sh +0 -0
  349. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/hello-world-task/task.md +0 -0
  350. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/hello-world-task/task.toml +0 -0
  351. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/hello-world-task/tests/test.sh +0 -0
  352. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/test_claude.sh +0 -0
  353. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/test_codex.sh +0 -0
  354. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/test_codex_custom_provider.sh +0 -0
  355. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/test_gemini.sh +0 -0
  356. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/test_openclaw.sh +0 -0
  357. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/traces/minimal-claude.jsonl +0 -0
  358. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/examples/traces/minimal-opentraces.jsonl +0 -0
  359. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/README.md +0 -0
  360. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/alpha-task/environment/Dockerfile +0 -0
  361. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/alpha-task/instruction.md +0 -0
  362. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/alpha-task/task.toml +0 -0
  363. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/alpha-task/tests/test.sh +0 -0
  364. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/beta-task/data/empty.bin +0 -0
  365. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/beta-task/data/unicode.txt +0 -0
  366. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/beta-task/instruction.md +0 -0
  367. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/beta-task/task.toml +0 -0
  368. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/digest/not-a-task/notes.txt +0 -0
  369. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/mock_acp_agent.py +0 -0
  370. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/mock_acp_agent_interleaved.py +0 -0
  371. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/mock_acp_agent_multi_turn.py +0 -0
  372. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/mock_openai_responses_server.py +0 -0
  373. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/environment/Dockerfile +0 -0
  374. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/environment/data/michigan_stations.txt +0 -0
  375. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/environment/skills/flood-detection/SKILL.md +0 -0
  376. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/environment/skills/nws-flood-thresholds/SKILL.md +0 -0
  377. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/environment/skills/usgs-data-download/SKILL.md +0 -0
  378. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/instruction.md +0 -0
  379. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/solution/solve.sh +0 -0
  380. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/task.toml +0 -0
  381. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/tests/test.sh +0 -0
  382. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/flood-risk-analysis/tests/test_outputs.py +0 -0
  383. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/Dockerfile +0 -0
  384. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/data/climate.csv +0 -0
  385. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/data/hydrology.csv +0 -0
  386. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/data/land_cover.csv +0 -0
  387. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/data/water_temperature.csv +0 -0
  388. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/skills/contribution-analysis/SKILL.md +0 -0
  389. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/skills/meteorology-driver-classification/SKILL.md +0 -0
  390. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/skills/pca-decomposition/SKILL.md +0 -0
  391. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/environment/skills/trend-analysis/SKILL.md +0 -0
  392. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/instruction.md +0 -0
  393. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/solution/solve.sh +0 -0
  394. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/task.toml +0 -0
  395. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/tests/test.sh +0 -0
  396. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/lake-warming-attribution/tests/test_outputs.py +0 -0
  397. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/manifest.json +0 -0
  398. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/Dockerfile +0 -0
  399. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/r2r_simulator.py +0 -0
  400. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/skills/finite-horizon-lqr/SKILL.md +0 -0
  401. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/skills/integral-action-design/SKILL.md +0 -0
  402. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/skills/mpc-horizon-tuning/SKILL.md +0 -0
  403. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/skills/state-space-linearization/SKILL.md +0 -0
  404. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/environment/system_config.json +0 -0
  405. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/instruction.md +0 -0
  406. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/solution/solve.sh +0 -0
  407. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/task.toml +0 -0
  408. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/tests/test.sh +0 -0
  409. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/r2r-mpc-control/tests/test_outputs.py +0 -0
  410. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/Dockerfile +0 -0
  411. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/generate_training_pcaps.py +0 -0
  412. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/local.rules +0 -0
  413. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/skills/pcap-triage-tshark/SKILL.md +0 -0
  414. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/skills/pcap-triage-tshark/scripts/summarize_http_requests.sh +0 -0
  415. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/skills/suricata-offline-evejson/SKILL.md +0 -0
  416. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/skills/suricata-offline-evejson/scripts/run_suricata_offline.sh +0 -0
  417. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/skills/suricata-rules-basics/SKILL.md +0 -0
  418. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/environment/suricata.yaml +0 -0
  419. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/instruction.md +0 -0
  420. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/solution/solve.sh +0 -0
  421. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/task.toml +0 -0
  422. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/tests/test.sh +0 -0
  423. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/suricata-custom-exfil/tests/test_outputs.py +0 -0
  424. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/environment/Dockerfile +0 -0
  425. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/environment/skills/syz-extract-constants/SKILL.md +0 -0
  426. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/environment/skills/syzkaller-build-loop/SKILL.md +0 -0
  427. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/environment/skills/syzlang-ioctl-basics/SKILL.md +0 -0
  428. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/instruction.md +0 -0
  429. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/solution/solve.sh +0 -0
  430. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/task.toml +0 -0
  431. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/tests/test.sh +0 -0
  432. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/fixtures/skillsbench_slice/syzkaller-ppdev-syzlang/tests/test_outputs.py +0 -0
  433. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/_consistency.py +0 -0
  434. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/agent_judge.py +0 -0
  435. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/check_adapter_evidence.py +0 -0
  436. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/check_hosted_env_evidence.py +0 -0
  437. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/check_results.py +0 -0
  438. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/check_skillsbench_harbor_parity.py +0 -0
  439. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/check_trace_to_task_evidence.py +0 -0
  440. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/claude-agent-acp.yaml +0 -0
  441. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/codex-acp.yaml +0 -0
  442. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/gemini.yaml +0 -0
  443. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/harvey-lab-harness.yaml +0 -0
  444. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/mimo.yaml +0 -0
  445. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/openclaw.yaml +0 -0
  446. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/opencode.yaml +0 -0
  447. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/openhands.yaml +0 -0
  448. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/configs/pi-acp.yaml +0 -0
  449. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/deepagents_harness.py +0 -0
  450. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/rubric_checks.py +0 -0
  451. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/run.sh +0 -0
  452. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/run_suite.py +0 -0
  453. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/scenarios.py +0 -0
  454. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/integration/suites/release.yaml +0 -0
  455. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acceptance_evidence.py +0 -0
  456. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acceptance_live.py +0 -0
  457. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acceptance_live_execution.py +0 -0
  458. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acp.py +0 -0
  459. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acp_capability_advertising.py +0 -0
  460. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acp_mcp_servers.py +0 -0
  461. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acp_model_config_dispatch.py +0 -0
  462. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acp_pinned_protocol_guard.py +0 -0
  463. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_acp_setup_failure_propagation.py +0 -0
  464. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_adapter_scripts.py +0 -0
  465. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_adapters.py +0 -0
  466. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_cli.py +0 -0
  467. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_env_resolution.py +0 -0
  468. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_gemini_defaults.py +0 -0
  469. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_idle_timeout_cli.py +0 -0
  470. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_model_decouple.py +0 -0
  471. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_registry.py +0 -0
  472. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_router.py +0 -0
  473. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_router_cli_e2e.py +0 -0
  474. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_router_scaffold.py +0 -0
  475. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_setup.py +0 -0
  476. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agent_spec.py +0 -0
  477. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agentcore_builder.py +0 -0
  478. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agentcore_parallel.py +0 -0
  479. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agentcore_reaper.py +0 -0
  480. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agentcore_sandbox.py +0 -0
  481. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_agentcore_transport.py +0 -0
  482. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_api_error_capture.py +0 -0
  483. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_apple_container_sandbox.py +0 -0
  484. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_bare_model_provider.py +0 -0
  485. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_base_install_imports.py +0 -0
  486. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_bedrock_thinking.py +0 -0
  487. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_benchflow_experiment_review_validator.py +0 -0
  488. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_benchmark_repos_resolve_repo_path.py +0 -0
  489. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_branch.py +0 -0
  490. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_build_context_stage.py +0 -0
  491. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_build_review_pack.py +0 -0
  492. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_capture_trajectory.py +0 -0
  493. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_check_skillsbench_harbor_parity.py +0 -0
  494. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_clawsbench_slice.py +0 -0
  495. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_adopt_aliases.py +0 -0
  496. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_arg_validation.py +0 -0
  497. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_daytona.py +0 -0
  498. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_docs_drift.py +0 -0
  499. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_hub_env.py +0 -0
  500. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_live_progress.py +0 -0
  501. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_cli_misc.py +0 -0
  502. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_codex_review.py +0 -0
  503. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_codex_self_write_auth.py +0 -0
  504. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_config_override.py +0 -0
  505. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_config_redaction.py +0 -0
  506. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_connect_as_env.py +0 -0
  507. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_console_error_truncation.py +0 -0
  508. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_console_progress.py +0 -0
  509. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_continuallearningbench_adapter.py +0 -0
  510. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_dataset_registry.py +0 -0
  511. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_daytona_command_polling.py +0 -0
  512. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_daytona_dind_compose_up.py +0 -0
  513. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_daytona_download.py +0 -0
  514. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_daytona_litellm_runtime.py +0 -0
  515. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_daytona_poll_deadline.py +0 -0
  516. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_daytona_reap.py +0 -0
  517. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_deepagents_agent.py +0 -0
  518. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_diagnostics.py +0 -0
  519. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_docker_prune_scoping.py +0 -0
  520. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_docker_uploads.py +0 -0
  521. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_docs_examples.py +0 -0
  522. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eng50_capabilities.py +0 -0
  523. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_env_registry.py +0 -0
  524. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_env_setup.py +0 -0
  525. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_environment_manifest_controls.py +0 -0
  526. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_artifact_cli.py +0 -0
  527. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_filters_applied.py +0 -0
  528. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_lift.py +0 -0
  529. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_sharding.py +0 -0
  530. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_single_task_summary.py +0 -0
  531. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_source_provenance.py +0 -0
  532. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_worker_retry.py +0 -0
  533. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_eval_zero_task_guard.py +0 -0
  534. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_evaluation_environment_manifest.py +0 -0
  535. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_exclude_tasks.py +0 -0
  536. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_filter_credentialed_cells.py +0 -0
  537. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_harvey_lab_shim.py +0 -0
  538. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_hilbench_adapter.py +0 -0
  539. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_hosted_env.py +0 -0
  540. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_hosted_env_rollout_contract.py +0 -0
  541. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_hub_harbor_registry.py +0 -0
  542. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_inbound_adapter_manifest.py +0 -0
  543. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_inbound_adapters.py +0 -0
  544. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_agent_judge.py +0 -0
  545. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_check_results.py +0 -0
  546. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_consistency.py +0 -0
  547. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_matrix.py +0 -0
  548. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_provider_selection.py +0 -0
  549. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_run_suite.py +0 -0
  550. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_integration_suite.py +0 -0
  551. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_internet_policy.py +0 -0
  552. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_job.py +0 -0
  553. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_job_sequential_shared.py +0 -0
  554. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_job_sequential_shared_resume.py +0 -0
  555. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_judge_robustness.py +0 -0
  556. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_judge_symlink_ingestion.py +0 -0
  557. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_learner_skills.py +0 -0
  558. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_learner_skills_traversal.py +0 -0
  559. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_learner_store.py +0 -0
  560. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_learner_store_persistence.py +0 -0
  561. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_config.py +0 -0
  562. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_hardening.py +0 -0
  563. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_logging.py +0 -0
  564. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_model_via_env_generic.py +0 -0
  565. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_reasoning_passthrough.py +0 -0
  566. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_runtime.py +0 -0
  567. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_litellm_smoke.py +0 -0
  568. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_live_llm_trajectory.py +0 -0
  569. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_llm_judge.py +0 -0
  570. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_llm_judge_event_tags.py +0 -0
  571. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_llm_judge_verifier.py +0 -0
  572. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_loop_strategies.py +0 -0
  573. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_loop_summary.py +0 -0
  574. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_loop_sweep.py +0 -0
  575. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_memory_scorer.py +0 -0
  576. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_metrics.py +0 -0
  577. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_mle_bench_adapter.py +0 -0
  578. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_mock_openai_responses_server.py +0 -0
  579. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_monitor_scaffold.py +0 -0
  580. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_native_acp_usage.py +0 -0
  581. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_no_cross_provider_fallback.py +0 -0
  582. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_notification_order_real.py +0 -0
  583. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_opencode_family_proxy_tracking.py +0 -0
  584. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_oracle.py +0 -0
  585. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_oracle_chokepoint.py +0 -0
  586. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_paths_safe.py +0 -0
  587. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_paths_symlink_helpers.py +0 -0
  588. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_pi_acp_launcher.py +0 -0
  589. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_pi_acp_proxy_routing.py +0 -0
  590. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_process.py +0 -0
  591. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_project_skills_layout.py +0 -0
  592. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_provider_auth_detection.py +0 -0
  593. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_providers.py +0 -0
  594. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_publish_azure_blob.py +0 -0
  595. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_reexport.py +0 -0
  596. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_registry_invariants.py +0 -0
  597. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_release_hardening_r5.py +0 -0
  598. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_release_version.py +0 -0
  599. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_release_workflow_wiring.py +0 -0
  600. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_resolve_env_helpers.py +0 -0
  601. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_review_boundaries.py +0 -0
  602. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_review_rubric.py +0 -0
  603. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_review_runtime.py +0 -0
  604. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_reward_lenient.py +0 -0
  605. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_reward_node.py +0 -0
  606. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_reward_range.py +0 -0
  607. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_reward_unified_contract.py +0 -0
  608. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rewards.py +0 -0
  609. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rewards_jsonl.py +0 -0
  610. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_architecture.py +0 -0
  611. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_branch.py +0 -0
  612. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_config_path_coercion.py +0 -0
  613. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_environment.py +0 -0
  614. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_hard_deadline.py +0 -0
  615. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_import_no_side_effects.py +0 -0
  616. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_on_ask_user_wiring.py +0 -0
  617. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_planes_contract.py +0 -0
  618. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_probe_sandbox_health.py +0 -0
  619. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_session_factory_dispatch.py +0 -0
  620. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_setup_commands.py +0 -0
  621. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rollout_upload.py +0 -0
  622. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rubric_checks.py +0 -0
  623. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_rubric_config.py +0 -0
  624. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_runtime.py +0 -0
  625. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_runtime_capabilities.py +0 -0
  626. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_runtime_config_wired.py +0 -0
  627. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_runtime_live_sandbox.py +0 -0
  628. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox.py +0 -0
  629. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_exec_secret_handling.py +0 -0
  630. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_hardening.py +0 -0
  631. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_isolation_copy_traversal.py +0 -0
  632. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_live_process.py +0 -0
  633. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_multi_service.py +0 -0
  634. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_prebuilt_validation.py +0 -0
  635. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_protocol.py +0 -0
  636. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_provider_registry_drift.py +0 -0
  637. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_setup.py +0 -0
  638. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_snapshot_contract.py +0 -0
  639. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_upload_symlink.py +0 -0
  640. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sandbox_verifier_workspace.py +0 -0
  641. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_scene.py +0 -0
  642. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_scene_outbox_trial.py +0 -0
  643. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_scene_parallel_group.py +0 -0
  644. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_scene_result_aggregation.py +0 -0
  645. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_scoring.py +0 -0
  646. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sdk_internals.py +0 -0
  647. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sdk_lockdown.py +0 -0
  648. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sdk_run_alias.py +0 -0
  649. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_sealed_channel_container.py +0 -0
  650. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_self_gen_cli.py +0 -0
  651. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_self_gen_export_error_channel.py +0 -0
  652. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_self_gen_export_failures.py +0 -0
  653. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_self_gen_orchestration.py +0 -0
  654. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_session_factory_runtime.py +0 -0
  655. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_session_request_permission_dispatch.py +0 -0
  656. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_eval.py +0 -0
  657. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_eval_dryrun.py +0 -0
  658. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_eval_integration.py +0 -0
  659. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_eval_sweep.py +0 -0
  660. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_eval_traversal.py +0 -0
  661. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_invocation_artifacts.py +0 -0
  662. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skill_policy.py +0 -0
  663. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skills.py +0 -0
  664. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skills_dir_agent_home_link.py +0 -0
  665. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skillsbench_conversion_conformance.py +0 -0
  666. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_skillsbench_harbor_run_suite.py +0 -0
  667. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_smoke.py +0 -0
  668. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_smoke_wiring.py +0 -0
  669. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_source_adapters.py +0 -0
  670. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_subscription_auth.py +0 -0
  671. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_check_eval_consistency.py +0 -0
  672. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_config.py +0 -0
  673. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_digest.py +0 -0
  674. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_document.py +0 -0
  675. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_download.py +0 -0
  676. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_export.py +0 -0
  677. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_output_format.py +0 -0
  678. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_package.py +0 -0
  679. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_task_runtime_primitive.py +0 -0
  680. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_tasks.py +0 -0
  681. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_token_usage_normalization.py +0 -0
  682. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trace_import_cli.py +0 -0
  683. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trace_task_gen_traversal.py +0 -0
  684. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trace_to_task_evidence.py +0 -0
  685. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traces_huggingface.py +0 -0
  686. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traces_parsers.py +0 -0
  687. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traces_task_gen.py +0 -0
  688. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_train_cli.py +0 -0
  689. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_train_mode_artifact_emission.py +0 -0
  690. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_train_trl_cli.py +0 -0
  691. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traj_staging_phases.py +0 -0
  692. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_traj_upload_skill.py +0 -0
  693. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trajectory_integration.py +0 -0
  694. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trajectory_streaming.py +0 -0
  695. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trajectory_upload_layout.py +0 -0
  696. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trajectory_upload_service.py +0 -0
  697. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trial_agent_timeout_verify.py +0 -0
  698. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trial_install_agent_timeout.py +0 -0
  699. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trial_litellm_runtime.py +0 -0
  700. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_trl_integration.py +0 -0
  701. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_usage_litellm.py +0 -0
  702. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_usage_required.py +0 -0
  703. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_usage_tracking.py +0 -0
  704. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_user.py +0 -0
  705. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_v06_guard_ports.py +0 -0
  706. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verifier_document.py +0 -0
  707. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verifier_multi_container.py +0 -0
  708. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verifier_output.py +0 -0
  709. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verifier_output_freshness.py +0 -0
  710. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verifier_strategies.py +0 -0
  711. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verifier_wedge_retry.py +0 -0
  712. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_verify.py +0 -0
  713. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_workflow_action_pinning.py +0 -0
  714. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/test_yaml_config.py +0 -0
  715. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/__init__.py +0 -0
  716. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_export.py +0 -0
  717. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_export_adp.py +0 -0
  718. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_export_atif.py +0 -0
  719. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_export_common.py +0 -0
  720. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_export_nan_handling.py +0 -0
  721. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_export_prime_sft.py +0 -0
  722. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_step_granularity.py +0 -0
  723. {benchflow-0.7.1.dev1969 → benchflow-0.7.2}/tests/trajectories/test_tree.py +0 -0
@@ -2,6 +2,125 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## 0.7.2 — 2026-08-16
6
+
7
+ ### Added
8
+ - **The upload preview itemizes what redaction masked, by kind.** The
9
+ redactor now categorizes every replacement by the rule that fired — API
10
+ keys, bearer tokens, private key blocks, passwords, URL credentials, and
11
+ credential-bearing field values — and the terminal trajectory report shows
12
+ a `Masked for you: 2 API keys, 1 bearer token — originals never leave this
13
+ machine` breakdown under the masked-count row, plus a reassurance that
14
+ redaction ran locally and the server independently rescans staged
15
+ artifacts (or `No secrets or personal identifiers detected — nothing
16
+ needed masking.` when nothing matched). `bench traj upload --dry-run`
17
+ prints the same breakdown as a plain `Masked for you:` line, and
18
+ `bench eval view --confirm` gains a display-only `--redaction-summary`
19
+ flag that renders it in the confirm bar next to the Approve button; the
20
+ `benchflow-traj-upload` skill stages a dry run first and passes the line
21
+ through. The total `redaction_replacements` count and the manifest
22
+ `trajectory_report` contract are unchanged (the server validates the
23
+ report with a closed schema and exact recompute equality, so per-category
24
+ counts stay display-only).
25
+ - **The trajectory viewer can collect the eval-prize confirmation in the
26
+ browser.** `bench eval view PATH --confirm` renders the normal page plus a
27
+ sticky site-styled bottom bar ("Submit this trajectory to the BenchFlow
28
+ eval prize?") with **Approve & submit** / **Not this one** buttons. A click
29
+ POSTs to `/decision`; the server prints a machine-readable
30
+ `DECISION: approved` or `DECISION: rejected` line to stdout, shuts down,
31
+ and the CLI exits `0` on approve and `3` on reject (non-1/2 so rejection
32
+ never collides with error or usage exits). Without the flag, behavior is
33
+ unchanged (no bar, no endpoint, Ctrl+C to stop). The
34
+ `benchflow-traj-upload` skill now prefers the button flow and falls back
35
+ to chat confirmation on CLIs older than 0.7.2.
36
+ - **Trajectory uploads are tagged with the session's repository by
37
+ default.** Unless `--source-id` is given, `bench traj upload` reads the
38
+ session's recorded working directory (Claude `cwd` events, Codex
39
+ `session_meta`), resolves its git `origin` remote, and stores
40
+ `repo/<owner>/<name>` as the manifest source id, printing
41
+ `Repo: owner/name (from session cwd /path; use --no-repo to omit)` (the
42
+ local path is terminal output only, never uploaded). `--no-repo` opts out
43
+ — the `benchflow-traj-upload` skill now surfaces the detected tag during
44
+ the confirm step so contributors can decline it for private repos — and
45
+ undetectable repos fall back silently to the path-derived source id.
46
+
47
+ ### Fixed
48
+ - **The repo tag derives only from the session's own recorded cwd.** The
49
+ initial repo-tagging implementation (#1015) fell back to the upload
50
+ invocation directory's git remote when the session cwd yielded nothing; a
51
+ collector-side audit showed this mis-attributes provenance — a session
52
+ recorded in a non-repo directory, uploaded from the benchflow checkout,
53
+ was tagged `repo/benchflow-ai/benchflow` (two community-dataset entries
54
+ carry the mis-tag). The fallback is removed: no session cwd, a missing
55
+ directory, or no GitHub remote now mean no repo tag, exactly like
56
+ `--no-repo`.
57
+ - **The trajectory viewer header no longer shows `?` badges on real Claude
58
+ Code sessions.** `bench eval view` on a `~/.claude` session JSONL rendered
59
+ `model: ?`, `session: ?...`, `claude code: ?`, and `total cost: $0.0000`
60
+ because the header only read a `type: system` event that real session
61
+ files don't contain. The header now derives its metadata from what the
62
+ file actually carries (first assistant event's `message.model`, per-event
63
+ `version` / `sessionId`, the filename stem as a session fallback) and
64
+ hides any badge whose value is unknown — including the cost badge when no
65
+ event carries cost data. Presentation only.
66
+ - **Upload progress no longer claims the broker is waking up.** A warm
67
+ retry printed `Uploading… the first request can take a minute while the
68
+ service wakes up` even when the service was already up. The line is now
69
+ `Uploading… this can take up to a minute; retries are safe.`
70
+ - **`bench traj setup --list` no longer wraps session paths mid-token.**
71
+ Each hit prints index/source/time, then the path on its own line, then
72
+ the snippet, via plain `print` so Rich does not split a long JSONL path
73
+ and break copy-paste.
74
+
75
+ ### Changed
76
+ - **Trajectory viewer tool calls are color-coded and backgrounds are light.**
77
+ Each tool kind now gets a muted GitHub-label-style accent on its name pill
78
+ and a left border strip on the card: shell/exec → amber, write/edit → blue,
79
+ read → teal, agent/task/skill → purple, web/search/fetch → cyan, everything
80
+ else → neutral gray. Tool arguments and tool outputs render on light
81
+ surfaces (`#f5f5f5` / white with dark ink) instead of near-black blocks;
82
+ the dark `#141414` terminal treatment is reserved for shell-command output
83
+ only, and the ink-black result card stays as the deliberate bento-ink
84
+ accent. Presentation only (CSS classes + a tool-name→accent mapping);
85
+ content strings and behavior are unchanged. Applies to all three viewer
86
+ templates, which share one stylesheet since #1019.
87
+ - **The contributor prompt now tells the agent to upgrade BenchFlow first.**
88
+ `CONTRIBUTOR_PROMPT` (kept in sync in `README.md`, `docs/traj-upload.md`,
89
+ and the `benchflow-traj-upload` skill evals) is a three-line block that
90
+ says to run `uv tool install --python 3.12 --upgrade --force benchflow`
91
+ before reading the skill, so agents that skim the skill or hit a stale copy
92
+ still install the latest CLI. The prompt also names OpenCode and Cursor
93
+ sessions and the re:Agent hackathon 72-hour window; README/docs render it
94
+ as a blockquote (soft-wraps on GitHub) behind an explicit "send this to
95
+ your coding agent" framing, and `bench traj setup` prints the same framing.
96
+ The skill's Discover step gains best-effort Cursor
97
+ (`~/.cursor/projects/*/agent-transcripts/`) and OpenCode
98
+ (`~/.local/share/opencode/opencode.db`, `opencode db path`) locations plus
99
+ a prefer-recent-matching-sessions note. Follow-up to the version
100
+ precondition from #1013/#1014.
101
+ - **Trajectory viewer restyled to match www.benchflow.ai.** All three
102
+ `bench eval view` pages (stream-json/JSONL, ACP events, multi-turn trial)
103
+ now share one inline stylesheet with the site's design language: light
104
+ monochrome palette (`#fafafa` page, white cards, `#0a0a0a` ink, dark
105
+ `#141414` code blocks), Satoshi/Google Sans Code font stacks with
106
+ system-safe fallbacks, mono pill badges, and a small BenchFlow wordmark
107
+ header with the inline SVG logo. Pages remain fully offline (no external
108
+ font or CDN requests) and content/structure semantics are unchanged;
109
+ follows the contributor paste-line flow from #1013.
110
+
111
+ ## 0.7.1 — 2026-08-16
112
+
113
+ ### Added
114
+ - **`bench traj setup` / `bench traj upload` print an upgrade hint when
115
+ outdated.** Both commands start with a lightweight PyPI latest-version
116
+ check (2 s timeout, completely silent on any network or parse failure) and
117
+ print a one-line `uv tool install --python 3.12 --upgrade --force
118
+ benchflow` hint when the installed version is older than the latest
119
+ release; dev/prereleases of a newer-or-equal base are not outdated.
120
+ `BENCHFLOW_SKIP_UPDATE_CHECK=1` disables the check. The
121
+ `benchflow-traj-upload` skill and docs now tell contributors to upgrade to
122
+ the latest BenchFlow (0.7.1+) before using the trajectory-upload flow.
123
+
5
124
  ### Changed
6
125
  - **Trajectory contribution is a copy-paste line, plus optional setup.**
7
126
  Contributors paste one line into their agent; the agent reads
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: benchflow
3
- Version: 0.7.1.dev1969
3
+ Version: 0.7.2
4
4
  Summary: Multi-turn agent benchmarking with ACP — run any agent, any model, any provider.
5
5
  Project-URL: Homepage, https://github.com/benchflow-ai/benchflow
6
6
  Project-URL: Repository, https://github.com/benchflow-ai/benchflow
@@ -89,17 +89,24 @@ BenchFlow is a universal environment framework: it runs AI agents against task e
89
89
 
90
90
  ## Quick start: 1. Submit a trajectory
91
91
 
92
- Proud of a Claude Code or Codex session? Copy this line into Claude Code,
93
- Codex, Cursor, or any coding agent. That is the $2,000 eval prize path. No
94
- BenchFlow account, API key, or Azure login.
92
+ **Send these to your coding agent.** Copy
93
+ the block below and paste it as a message to Claude Code, Codex, OpenCode, or
94
+ Cursor. That is the $2,000 eval prize path. No BenchFlow account, API key, or
95
+ Azure login.
95
96
 
96
- ```
97
- Submit my best local Claude Code or Codex session to the BenchFlow eval prize. Read https://raw.githubusercontent.com/benchflow-ai/benchflow/main/.agents/skills/benchflow-traj-upload/SKILL.md and follow it: find a session, open the viewer, upload only after I review it.
98
- ```
97
+ > Submit my relevant local Claude Code, Codex, OpenCode, or Cursor session from the re:Agent e2e agentic science / ai4bio hackathon (last 72 hours, on this laptop) to the BenchFlow eval prize.
98
+ >
99
+ > 1. First make sure the latest benchflow CLI is installed: uv tool install --python 3.12 --upgrade --force benchflow
100
+ >
101
+ > 2. Then read https://raw.githubusercontent.com/benchflow-ai/benchflow/main/.agents/skills/benchflow-traj-upload/SKILL.md and follow it: find a session, open the viewer, and upload only after I (the human) review it.
99
102
 
100
103
  The agent finds sessions on this machine, opens the viewer, and uploads after
101
104
  you like what you see.
102
105
 
106
+ The prompt has the agent install the latest BenchFlow first (`uv tool
107
+ install --python 3.12 --upgrade --force benchflow`). The `bench traj` commands
108
+ also print a one-line upgrade hint when a newer release is available.
109
+
103
110
  Prefer the terminal instead? The guided upload inspects before anything leaves
104
111
  your machine — it renders a redacted trajectory report (step counts, masked
105
112
  secrets, preview) and asks for confirmation:
@@ -124,7 +131,7 @@ bench traj setup
124
131
  ```
125
132
 
126
133
  `npx skills add` asks which agents to install for. `bench traj setup` copies
127
- the skill into this project and prints the same paste line. See the
134
+ the skill into this project and prints the same agent prompt. See the
128
135
  [upload skill](./.agents/skills/benchflow-traj-upload/SKILL.md).
129
136
 
130
137
  ## Quick start: 2. Run with a ChatGPT or Claude subscription
@@ -15,17 +15,24 @@ BenchFlow is a universal environment framework: it runs AI agents against task e
15
15
 
16
16
  ## Quick start: 1. Submit a trajectory
17
17
 
18
- Proud of a Claude Code or Codex session? Copy this line into Claude Code,
19
- Codex, Cursor, or any coding agent. That is the $2,000 eval prize path. No
20
- BenchFlow account, API key, or Azure login.
18
+ **Send these to your coding agent.** Copy
19
+ the block below and paste it as a message to Claude Code, Codex, OpenCode, or
20
+ Cursor. That is the $2,000 eval prize path. No BenchFlow account, API key, or
21
+ Azure login.
21
22
 
22
- ```
23
- Submit my best local Claude Code or Codex session to the BenchFlow eval prize. Read https://raw.githubusercontent.com/benchflow-ai/benchflow/main/.agents/skills/benchflow-traj-upload/SKILL.md and follow it: find a session, open the viewer, upload only after I review it.
24
- ```
23
+ > Submit my relevant local Claude Code, Codex, OpenCode, or Cursor session from the re:Agent e2e agentic science / ai4bio hackathon (last 72 hours, on this laptop) to the BenchFlow eval prize.
24
+ >
25
+ > 1. First make sure the latest benchflow CLI is installed: uv tool install --python 3.12 --upgrade --force benchflow
26
+ >
27
+ > 2. Then read https://raw.githubusercontent.com/benchflow-ai/benchflow/main/.agents/skills/benchflow-traj-upload/SKILL.md and follow it: find a session, open the viewer, and upload only after I (the human) review it.
25
28
 
26
29
  The agent finds sessions on this machine, opens the viewer, and uploads after
27
30
  you like what you see.
28
31
 
32
+ The prompt has the agent install the latest BenchFlow first (`uv tool
33
+ install --python 3.12 --upgrade --force benchflow`). The `bench traj` commands
34
+ also print a one-line upgrade hint when a newer release is available.
35
+
29
36
  Prefer the terminal instead? The guided upload inspects before anything leaves
30
37
  your machine — it renders a redacted trajectory report (step counts, masked
31
38
  secrets, preview) and asks for confirmation:
@@ -50,7 +57,7 @@ bench traj setup
50
57
  ```
51
58
 
52
59
  `npx skills add` asks which agents to install for. `bench traj setup` copies
53
- the skill into this project and prints the same paste line. See the
60
+ the skill into this project and prints the same agent prompt. See the
54
61
  [upload skill](./.agents/skills/benchflow-traj-upload/SKILL.md).
55
62
 
56
63
  ## Quick start: 2. Run with a ChatGPT or Claude subscription
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "benchflow"
3
- version = "0.7.1.dev1969"
3
+ version = "0.7.2"
4
4
  description = "Multi-turn agent benchmarking with ACP — run any agent, any model, any provider."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -20,10 +20,29 @@ from rich.progress import (
20
20
  from rich.table import Table
21
21
  from rich.text import Text
22
22
 
23
- from benchflow.publish.redact import REDACTED
23
+ from benchflow.publish.redact import REDACTED, format_redaction_breakdown
24
24
  from benchflow.publish.traj_capture import StagedFile
25
25
  from benchflow.publish.traj_report import PREVIEW_WORD_LIMIT, TrajectoryReport
26
26
 
27
+ # Redaction-transparency copy shown with the masked-value count. The wording is
28
+ # deliberately honest: redaction is a local structural pass (no agents, no
29
+ # token spend), and the server independently rescans staged artifacts.
30
+ NO_MASKING_NEEDED_COPY = (
31
+ "No secrets or personal identifiers detected — nothing needed masking."
32
+ )
33
+ REDACTION_REASSURANCE_COPY = (
34
+ "Redaction ran locally before anything was staged; "
35
+ "the server independently rescans and rejects any survivor."
36
+ )
37
+
38
+
39
+ def masked_for_you_line(report: TrajectoryReport) -> str:
40
+ """Itemized ``Masked for you`` copy for a report with masked values."""
41
+ breakdown = format_redaction_breakdown(dict(report.masked_categories))
42
+ if not breakdown: # category data unavailable — fall back to the total
43
+ breakdown = f"{report.masked_values} secret-like values"
44
+ return f"{breakdown} — originals never leave this machine"
45
+
27
46
 
28
47
  def render_trajectory_report(report: TrajectoryReport, *, console: Console) -> None:
29
48
  """Render upload facts and a bounded, already-redacted trajectory preview."""
@@ -43,8 +62,17 @@ def render_trajectory_report(report: TrajectoryReport, *, console: Console) -> N
43
62
  "API keys / secrets masked",
44
63
  Text(str(report.masked_values), style="bold green"),
45
64
  )
65
+ if report.masked_values:
66
+ facts.add_row(
67
+ "Masked for you",
68
+ Text(masked_for_you_line(report), style="green"),
69
+ )
70
+ else:
71
+ facts.add_row("Masked for you", Text(NO_MASKING_NEEDED_COPY, style="dim"))
46
72
  facts.add_row("Safe replacement", Text(REDACTED))
47
73
  console.print(Panel(facts, title="Trajectory report", border_style="cyan"))
74
+ if report.masked_values:
75
+ console.print(f"[dim]{REDACTION_REASSURANCE_COPY}[/dim]")
48
76
 
49
77
  if not report.preview:
50
78
  return
@@ -1228,11 +1228,41 @@ def eval_view(
1228
1228
  ),
1229
1229
  ],
1230
1230
  port: Annotated[int, typer.Option(help="Server port")] = 8888,
1231
+ confirm: Annotated[
1232
+ bool,
1233
+ typer.Option(
1234
+ "--confirm",
1235
+ help=(
1236
+ "Show an Approve & submit / Not this one bar on the page; "
1237
+ "print DECISION: approved|rejected and exit 0 on approve, "
1238
+ "3 on reject."
1239
+ ),
1240
+ ),
1241
+ ] = False,
1242
+ redaction_summary: Annotated[
1243
+ str | None,
1244
+ typer.Option(
1245
+ "--redaction-summary",
1246
+ help=(
1247
+ "Masked-secret breakdown shown in the --confirm bar, e.g. "
1248
+ "'2 API keys, 1 bearer token' (lift it from "
1249
+ "`bench traj upload PATH --dry-run`). Display-only; no effect "
1250
+ "without --confirm."
1251
+ ),
1252
+ ),
1253
+ ] = None,
1231
1254
  ) -> None:
1232
1255
  """View a trial or session trajectory in the browser."""
1233
- from benchflow.trajectories.viewer import serve
1256
+ from benchflow.trajectories import viewer
1234
1257
 
1235
- serve(str(rollout_dir), port)
1258
+ decision = viewer.serve(
1259
+ str(rollout_dir), port, confirm=confirm, redaction_summary=redaction_summary
1260
+ )
1261
+ # Exit-code contract for --confirm: 0 approved, 3 rejected. 3 is chosen
1262
+ # so a rejection never collides with the CLI's existing error exits
1263
+ # (1 = errors, 2 = Typer usage errors).
1264
+ if decision == "rejected":
1265
+ raise typer.Exit(3)
1236
1266
 
1237
1267
 
1238
1268
  # ── Command-group wiring ──────────────────────────────────────────────