coder-eval 0.8.7rc11__tar.gz → 0.8.9__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 (560) hide show
  1. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-code-review.md +3 -3
  2. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/shared/multi-model-review.md +1 -1
  3. coder_eval-0.8.9/.github/ISSUE_TEMPLATE/adopter.yml +84 -0
  4. coder_eval-0.8.9/.github/workflows/docs.yml +48 -0
  5. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/release.yml +1 -1
  6. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.gitignore +4 -0
  7. coder_eval-0.8.9/ADOPTERS.md +13 -0
  8. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/CHANGELOG.md +206 -0
  9. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/CLAUDE.md +2 -2
  10. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/PKG-INFO +55 -31
  11. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/README.md +52 -28
  12. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/AB_EXPERIMENTS.md +9 -2
  13. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/BYOD.md +7 -0
  14. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/CODEX_AGENT_GUIDE.md +9 -2
  15. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/DOCKER_ISOLATION.md +7 -2
  16. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/TASK_DEFINITION_GUIDE.md +37 -7
  17. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/USER_GUIDE.md +9 -0
  18. coder_eval-0.8.9/docs/comparison.md +153 -0
  19. coder_eval-0.8.9/docs/index.md +100 -0
  20. coder_eval-0.8.9/docs/llms.txt +46 -0
  21. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/01-first-evaluation.md +12 -0
  22. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/02-ci-pipeline.md +7 -0
  23. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/03-evalboard-local.md +7 -0
  24. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/04-writing-a-task.md +7 -0
  25. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/05-comparing-models.md +7 -0
  26. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/06-use-docker-isolation.md +9 -2
  27. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/README.md +7 -0
  28. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/harness-badge.tsx +16 -3
  29. coder_eval-0.8.9/evalboard/app/_components/harness-selector.tsx +49 -0
  30. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_overview/tag-rail.tsx +15 -1
  31. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/page.tsx +30 -8
  32. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/path-to-ga/page.tsx +22 -7
  33. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/trends/__tests__/trends-view.test.tsx +11 -0
  34. coder_eval-0.8.9/evalboard/app/trends/actions.ts +18 -0
  35. coder_eval-0.8.9/evalboard/app/trends/page.tsx +163 -0
  36. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/trends/trends-view.tsx +30 -11
  37. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/watchlist/__tests__/watchlist-view.test.tsx +27 -10
  38. coder_eval-0.8.9/evalboard/app/watchlist/page.tsx +87 -0
  39. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/watchlist/watchlist-view.tsx +23 -6
  40. coder_eval-0.8.9/mkdocs.yml +94 -0
  41. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/pyproject.toml +5 -4
  42. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/__init__.py +1 -1
  43. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/codex_agent.py +27 -19
  44. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/evaluate_command.py +14 -5
  45. coder_eval-0.8.9/src/coder_eval/criteria/skill_triggered.py +222 -0
  46. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/checker.py +9 -2
  47. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/formatting.py +6 -3
  48. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/criteria.py +39 -5
  49. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/results.py +38 -10
  50. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/sandbox.py +3 -2
  51. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/early_stop.py +70 -29
  52. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/reports.py +5 -1
  53. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/reports_experiment.py +51 -82
  54. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/reports_html.py +67 -33
  55. coder_eval-0.8.9/src/coder_eval/reports_stats.py +498 -0
  56. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/experiment_2variant.md +9 -4
  57. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/experiment_replicates.md +3 -1
  58. coder_eval-0.8.9/tests/fixtures/tasks/test_task_informational_criterion.yaml +17 -0
  59. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent.py +12 -0
  60. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_codex_agent.py +18 -0
  61. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_early_stop.py +217 -42
  62. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_evaluate_command.py +21 -0
  63. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_evaluator.py +2 -0
  64. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_experiment_reports.py +372 -9
  65. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_replicate_stats.py +64 -42
  66. coder_eval-0.8.9/tests/test_reports_stats_nonfinite.py +73 -0
  67. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_skill_triggered.py +209 -0
  68. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_suite_rollup.py +23 -0
  69. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_threshold_enforcement.py +102 -0
  70. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/uv.lock +1 -1
  71. coder_eval-0.8.7rc11/evalboard/app/trends/actions.ts +0 -10
  72. coder_eval-0.8.7rc11/evalboard/app/trends/page.tsx +0 -88
  73. coder_eval-0.8.7rc11/evalboard/app/watchlist/page.tsx +0 -12
  74. coder_eval-0.8.7rc11/src/coder_eval/criteria/skill_triggered.py +0 -177
  75. coder_eval-0.8.7rc11/src/coder_eval/reports_stats.py +0 -250
  76. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-code-review-full.md +0 -0
  77. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-code-review-wf.md +0 -0
  78. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-create-plan.md +0 -0
  79. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-implement-plan.md +0 -0
  80. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-review.md +0 -0
  81. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-run-analysis.md +0 -0
  82. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-task-create.md +0 -0
  83. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/harness-candidates.md +0 -0
  84. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/shared/axes.md +0 -0
  85. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/shared/review-rubric.md +0 -0
  86. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/shared/run-layout.md +0 -0
  87. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/workflows/cr-axis.js +0 -0
  88. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/workflows/cr-parent.js +0 -0
  89. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.env.example +0 -0
  90. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/CODEOWNERS +0 -0
  91. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  92. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  93. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/code_review.md +0 -0
  94. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/dependabot.yml +0 -0
  95. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/claude-pr-review.yml +0 -0
  96. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/codeql.yml +0 -0
  97. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/conventional-commits.yml +0 -0
  98. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/docker-publish.yml +0 -0
  99. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/pr-checks.yml +0 -0
  100. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/publish-testpypi.yml +0 -0
  101. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.pre-commit-config.yaml +0 -0
  102. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.python-version +0 -0
  103. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/CODE_OF_CONDUCT.md +0 -0
  104. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/CONTRIBUTING.md +0 -0
  105. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/LICENSE +0 -0
  106. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/Makefile +0 -0
  107. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/NOTICE +0 -0
  108. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/SECURITY.md +0 -0
  109. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docker/Dockerfile +0 -0
  110. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docker/Dockerfile.runtime +0 -0
  111. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docker/coder_eval_entrypoint.sh +0 -0
  112. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docker/coder_eval_runtime_entrypoint.sh +0 -0
  113. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/IDEAS.md +0 -0
  114. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/assets/hero.gif +0 -0
  115. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/.gitignore +0 -0
  116. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/README.md +0 -0
  117. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/__tests__/search-box.test.tsx +0 -0
  118. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/col-help.tsx +0 -0
  119. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/collapsible-rail.tsx +0 -0
  120. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/scroll-table.tsx +0 -0
  121. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/search-box.tsx +0 -0
  122. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/unit-toggle.tsx +0 -0
  123. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/version-list.tsx +0 -0
  124. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/window-selector.tsx +0 -0
  125. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_overview/daily-chart.tsx +0 -0
  126. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_overview/turn-budget-chart.tsx +0 -0
  127. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_overview/window-summary.tsx +0 -0
  128. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/api/download/route.ts +0 -0
  129. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/api/file/route.ts +0 -0
  130. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/api/refresh/__tests__/route.test.ts +0 -0
  131. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/api/refresh/route.ts +0 -0
  132. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/error.tsx +0 -0
  133. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/globals.css +0 -0
  134. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/icon.png +0 -0
  135. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/layout.tsx +0 -0
  136. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/next-env.d.ts +0 -0
  137. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/next.config.mjs +0 -0
  138. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/package.json +0 -0
  139. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/pnpm-lock.yaml +0 -0
  140. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/postcss.config.mjs +0 -0
  141. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/public/harness/antigravity.png +0 -0
  142. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/public/harness/claude-code.png +0 -0
  143. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/public/harness/codex.png +0 -0
  144. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/public/uipath.png +0 -0
  145. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/tailwind.config.ts +0 -0
  146. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/tsconfig.json +0 -0
  147. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/vitest.config.ts +0 -0
  148. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/vitest.setup.ts +0 -0
  149. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/default.yaml +0 -0
  150. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/early-stop-ab.yaml +0 -0
  151. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/model-comparison.yaml +0 -0
  152. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/permissions-smoke.yaml +0 -0
  153. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/plugin-comparison.yaml +0 -0
  154. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/prompt-mutations-example.yaml +0 -0
  155. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/smoke_variants.yaml +0 -0
  156. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/osv-scanner.toml +0 -0
  157. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/.gitattributes +0 -0
  158. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agent.py +0 -0
  159. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/__init__.py +0 -0
  160. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/_logging.py +0 -0
  161. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/antigravity_agent.py +0 -0
  162. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/claude_code_agent.py +0 -0
  163. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/noop_agent.py +0 -0
  164. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/registry.py +0 -0
  165. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/watchdog.py +0 -0
  166. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/analysis.py +0 -0
  167. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/__init__.py +0 -0
  168. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/aggregate_command.py +0 -0
  169. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/console.py +0 -0
  170. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/plan_command.py +0 -0
  171. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/report_command.py +0 -0
  172. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/run_command.py +0 -0
  173. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/run_helpers.py +0 -0
  174. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/run_task_internal_command.py +0 -0
  175. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/utils.py +0 -0
  176. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/config.py +0 -0
  177. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/__init__.py +0 -0
  178. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/_classification_aggregate.py +0 -0
  179. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/agent_judge.py +0 -0
  180. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/base.py +0 -0
  181. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/classification_match.py +0 -0
  182. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/command_executed.py +0 -0
  183. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/commands_efficiency.py +0 -0
  184. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/file_check.py +0 -0
  185. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/file_contains.py +0 -0
  186. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/file_exists.py +0 -0
  187. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/file_matches_regex.py +0 -0
  188. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/json_check.py +0 -0
  189. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/llm_judge.py +0 -0
  190. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/reference_comparison.py +0 -0
  191. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/run_command.py +0 -0
  192. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/uipath_eval.py +0 -0
  193. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/__init__.py +0 -0
  194. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/agent.py +0 -0
  195. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/budget.py +0 -0
  196. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/categories.py +0 -0
  197. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/categorization.py +0 -0
  198. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/executor.py +0 -0
  199. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/judge.py +0 -0
  200. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/retry.py +0 -0
  201. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/timeout.py +0 -0
  202. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/__init__.py +0 -0
  203. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/judge_anthropic.py +0 -0
  204. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/judge_bedrock.py +0 -0
  205. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/judge_context.py +0 -0
  206. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/judge_models.py +0 -0
  207. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/judge_persistence.py +0 -0
  208. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/judge_usage.py +0 -0
  209. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/sub_agent.py +0 -0
  210. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/summaries.py +0 -0
  211. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/verdict_tool.py +0 -0
  212. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/isolation/__init__.py +0 -0
  213. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/isolation/docker_runner.py +0 -0
  214. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/logging_config.py +0 -0
  215. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/__init__.py +0 -0
  216. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/agent_config.py +0 -0
  217. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/container_paths.py +0 -0
  218. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/enums.py +0 -0
  219. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/experiment.py +0 -0
  220. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/judge.py +0 -0
  221. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/judge_defaults.py +0 -0
  222. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/limits.py +0 -0
  223. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/merge_strategy.py +0 -0
  224. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/mutations.py +0 -0
  225. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/routing.py +0 -0
  226. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/tasks.py +0 -0
  227. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/telemetry.py +0 -0
  228. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/templates.py +0 -0
  229. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/__init__.py +0 -0
  230. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/batch.py +0 -0
  231. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/config.py +0 -0
  232. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/config_merge.py +0 -0
  233. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/evaluation.py +0 -0
  234. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/experiment.py +0 -0
  235. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/overrides.py +0 -0
  236. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/task_loader.py +0 -0
  237. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestrator.py +0 -0
  238. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/path_utils.py +0 -0
  239. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/plugins.py +0 -0
  240. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/pricing.py +0 -0
  241. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/py.typed +0 -0
  242. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/resources/__init__.py +0 -0
  243. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/resources/default_ignore_patterns.yaml +0 -0
  244. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/resources/tags.yaml +0 -0
  245. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/sandbox.py +0 -0
  246. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/__init__.py +0 -0
  247. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/ast_similarity.py +0 -0
  248. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/complexity.py +0 -0
  249. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/quality.py +0 -0
  250. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/signature_similarity.py +0 -0
  251. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/similarity.py +0 -0
  252. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/token_similarity.py +0 -0
  253. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/simulation/__init__.py +0 -0
  254. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/simulation/termination.py +0 -0
  255. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/simulation/user_simulator.py +0 -0
  256. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/streaming/__init__.py +0 -0
  257. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/streaming/callbacks.py +0 -0
  258. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/streaming/collector.py +0 -0
  259. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/streaming/events.py +0 -0
  260. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/streaming/renderers.py +0 -0
  261. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/streaming/wire.py +0 -0
  262. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/telemetry.py +0 -0
  263. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/utils.py +0 -0
  264. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/README.md +0 -0
  265. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agentless_smoke_test.yaml +0 -0
  266. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/antigravity_hello_world.yaml +0 -0
  267. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/antigravity_hello_world_docker.yaml +0 -0
  268. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/claude_hello_world.yaml +0 -0
  269. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/claude_hello_world_docker.yaml +0 -0
  270. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/claude_parallel_single_gen.yaml +0 -0
  271. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/claude_subagent_test.yaml +0 -0
  272. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_disallowed_tools_test.yaml +0 -0
  273. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_hello_world.yaml +0 -0
  274. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_parallel_commands.yaml +0 -0
  275. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_parallel_single_gen.yaml +0 -0
  276. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_skills_test.yaml +0 -0
  277. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_string_utils.yaml +0 -0
  278. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_subagent_test.yaml +0 -0
  279. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/subagent_bash_long_input.yaml +0 -0
  280. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/subagent_merge_sort.yaml +0 -0
  281. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/byod_smoke_test.yaml +0 -0
  282. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dataset_example.yaml +0 -0
  283. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/datasets/sentiment.jsonl +0 -0
  284. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dockerfile_build_example/dockerfile_build_example.yaml +0 -0
  285. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dockerfile_build_example/environment/Dockerfile +0 -0
  286. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dockerfile_build_example/environment/Dockerfile.workdir +0 -0
  287. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dockerfile_build_example/environment/input.txt +0 -0
  288. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dockerfile_build_example/working_dir_auto_example.yaml +0 -0
  289. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dockerfile_build_example/working_dir_concrete_example.yaml +0 -0
  290. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/fibonacci_with_template.yaml +0 -0
  291. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/hello_date.yaml +0 -0
  292. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/inline_starter_example.yaml +0 -0
  293. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/internal/session_resumption.yaml +0 -0
  294. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/mock_path_dirs_smoke.yaml +0 -0
  295. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/mock_path_dirs_template_dir/mock-cli-bins/README.md +0 -0
  296. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/echo_args +0 -0
  297. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/fixtures/config.json +0 -0
  298. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/say_hello +0 -0
  299. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/mock_path_dirs_template_dir/task.yaml +0 -0
  300. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/python_cli_simulated_judged/echo_simulated_judged.yaml +0 -0
  301. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/3d-scan-calc/3d-scan-calc.yaml +0 -0
  302. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/3d-scan-calc/environment/Dockerfile +0 -0
  303. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/3d-scan-calc/environment/material_density_table.md +0 -0
  304. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/3d-scan-calc/environment/scan_data.stl +0 -0
  305. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/3d-scan-calc/verifier/test.sh +0 -0
  306. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/3d-scan-calc/verifier/test_outputs.py +0 -0
  307. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/README.md +0 -0
  308. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/court-form-filling/court-form-filling.yaml +0 -0
  309. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/court-form-filling/environment/Dockerfile +0 -0
  310. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/court-form-filling/environment/sc100-blank.pdf +0 -0
  311. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/court-form-filling/verifier/test.sh +0 -0
  312. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/court-form-filling/verifier/test_outputs.py +0 -0
  313. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/dialogue-parser/dialogue-parser.yaml +0 -0
  314. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/dialogue-parser/environment/Dockerfile +0 -0
  315. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/dialogue-parser/environment/script.txt +0 -0
  316. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/dialogue-parser/verifier/test.sh +0 -0
  317. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/dialogue-parser/verifier/test_outputs.py +0 -0
  318. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/sentiment_classification.yaml +0 -0
  319. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_agent_judge.yaml +0 -0
  320. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_budget_exceeded.yaml +0 -0
  321. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_cost_budget_exceeded.yaml +0 -0
  322. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_llm_judge.yaml +0 -0
  323. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_negative_path.yaml +0 -0
  324. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_task_timeout.yaml +0 -0
  325. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_variants.yaml +0 -0
  326. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/test_sandbox.yaml +0 -0
  327. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/token_check.yaml +0 -0
  328. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/templates/byod_smoke_test/Dockerfile +0 -0
  329. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/templates/fibonacci-starter/README.md +0 -0
  330. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/templates/fibonacci-starter/src/main.py +0 -0
  331. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/templates/fibonacci-starter/tests/test_main.py +0 -0
  332. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/__init__.py +0 -0
  333. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/__init__.py +0 -0
  334. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/__init__.py +0 -0
  335. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/_scrub.py +0 -0
  336. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/claude_fixtures.py +0 -0
  337. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/codex_fixtures.py +0 -0
  338. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_a_single_text_turn.json +0 -0
  339. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_b_tool_use_result.json +0 -0
  340. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_c_multi_emission_delta.json +0 -0
  341. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_d_subagent_terminal.json +0 -0
  342. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_e_model_usage_and_backfill.json +0 -0
  343. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_f_orphaned_tool.json +0 -0
  344. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_g_crash_format_placeholder.json +0 -0
  345. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_h1_timeout_process_error.json +0 -0
  346. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_h2_process_error_crash.json +0 -0
  347. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_i_in_loop_deadline_break.json +0 -0
  348. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_a_agent_message_only.json +0 -0
  349. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_b_command_execution.json +0 -0
  350. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_c_reasoning_placeholder.json +0 -0
  351. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_d_cross_flush_is_error.json +0 -0
  352. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_e_orphan_tool.json +0 -0
  353. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_f_collab_fallback.json +0 -0
  354. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_g_items_rebuild.json +0 -0
  355. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_h_no_turn_completed_crash.json +0 -0
  356. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/__init__.py +0 -0
  357. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/_snapshot.py +0 -0
  358. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/experiment_3variant.md +0 -0
  359. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/run_full.md +0 -0
  360. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/run_minimal.md +0 -0
  361. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_path_helpers.py +0 -0
  362. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/conftest.py +0 -0
  363. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/__init__.py +0 -0
  364. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/byoa_demo_plugin/byoa_demo.py +0 -0
  365. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/byoa_demo_plugin/pyproject.toml +0 -0
  366. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/mock_agent.py +0 -0
  367. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/tasks/test_task_multiple_criteria.yaml +0 -0
  368. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/tasks/test_task_pass.yaml +0 -0
  369. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/text_stub_agent.py +0 -0
  370. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/__init__.py +0 -0
  371. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/__init__.py +0 -0
  372. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/base.py +0 -0
  373. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce014_merge_strategy_declared.py +0 -0
  374. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce015_create_subprocess_limit.py +0 -0
  375. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce016_no_computed_tokenusage_kwargs.py +0 -0
  376. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce017_models_lazy_agent_imports.py +0 -0
  377. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce018_no_final_status_name_denylist.py +0 -0
  378. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce019_telemetry_non_fatal.py +0 -0
  379. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce020_no_sdk_typed_base_agent_fields.py +0 -0
  380. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce021_guarded_evaluationresult_parse.py +0 -0
  381. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce022_dialog_loop_statement_cap.py +0 -0
  382. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce023_no_proxy_shim_import.py +0 -0
  383. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce024_discriminated_unions.py +0 -0
  384. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce025_live_verdict_consistency.py +0 -0
  385. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_agent_timing_access.py +0 -0
  386. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_blocking_io_in_async.py +0 -0
  387. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_cli_imports_in_core.py +0 -0
  388. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_silent_except.py +0 -0
  389. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_submodule_model_imports.py +0 -0
  390. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_top_level_run_limits_access.py +0 -0
  391. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_transcript_regex_in_eval.py +0 -0
  392. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_type_name_string_dispatch.py +0 -0
  393. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/open_explicit_encoding.py +0 -0
  394. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/read_text_explicit_encoding.py +0 -0
  395. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/register_criterion_required.py +0 -0
  396. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/subprocess_run_explicit_encoding.py +0 -0
  397. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/yaml_models_forbid_extras.py +0 -0
  398. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/runner.py +0 -0
  399. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/violation.py +0 -0
  400. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_config_no_timing_fields.py +0 -0
  401. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_config_optional_type.py +0 -0
  402. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_config_registry_dispatch.py +0 -0
  403. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_config_sdk_decoupling.py +0 -0
  404. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_golden_master.py +0 -0
  405. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_judge_criterion.py +0 -0
  406. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_telemetry.py +0 -0
  407. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_telemetry_advanced.py +0 -0
  408. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_timeout.py +0 -0
  409. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agentless.py +0 -0
  410. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_aggregate.py +0 -0
  411. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_antigravity_agent.py +0 -0
  412. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_byoa_plugin.py +0 -0
  413. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_byoa_plugin_live.py +0 -0
  414. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_byod_feature.py +0 -0
  415. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_checker_logging.py +0 -0
  416. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_classification_match.py +0 -0
  417. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_claude_settings_enforcement_live.py +0 -0
  418. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cleanup_preservation_guard.py +0 -0
  419. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cli_backend_flag.py +0 -0
  420. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cli_empty_glob.py +0 -0
  421. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cli_sdk_options.py +0 -0
  422. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cli_set_overrides.py +0 -0
  423. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cli_telemetry.py +0 -0
  424. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cli_type_flag.py +0 -0
  425. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_code_review_bugs.py +0 -0
  426. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_codex_agent_live.py +0 -0
  427. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_codex_agent_unit.py +0 -0
  428. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_codex_token_mapping.py +0 -0
  429. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_command_executed.py +0 -0
  430. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_command_statistics.py +0 -0
  431. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_command_telemetry_result_data.py +0 -0
  432. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_commands_efficiency.py +0 -0
  433. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_config_lineage.py +0 -0
  434. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_config_merge_engine.py +0 -0
  435. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_config_precedence.py +0 -0
  436. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_continuous_scoring.py +0 -0
  437. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_criterion_result_round_trip.py +0 -0
  438. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_custom_lint.py +0 -0
  439. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_dataset_expansion.py +0 -0
  440. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_debug_logging.py +0 -0
  441. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_docker_build_failure.py +0 -0
  442. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_docker_runner_container_death.py +0 -0
  443. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_docker_runner_mounts.py +0 -0
  444. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_docker_runner_stream_limit.py +0 -0
  445. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_docker_wildcard_env.py +0 -0
  446. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_docker_workdir_live.py +0 -0
  447. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_driver_resolver.py +0 -0
  448. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_error_handling.py +0 -0
  449. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_event_collector.py +0 -0
  450. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_experiment_cli.py +0 -0
  451. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_experiment_loader.py +0 -0
  452. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_experiment_models.py +0 -0
  453. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_experiment_resolver.py +0 -0
  454. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_experiment_runner.py +0 -0
  455. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_file_check.py +0 -0
  456. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_file_contains_scoring.py +0 -0
  457. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_formatting.py +0 -0
  458. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_git_clone_failure.py +0 -0
  459. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_heartbeat_watchdog.py +0 -0
  460. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_ignore_patterns_negation.py +0 -0
  461. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_image_from_dockerfiles.py +0 -0
  462. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_integration.py +0 -0
  463. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_json_check.py +0 -0
  464. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_judge_anthropic.py +0 -0
  465. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_judge_bedrock.py +0 -0
  466. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_judge_burn_in_live.py +0 -0
  467. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_judge_context_builder.py +0 -0
  468. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_judge_models.py +0 -0
  469. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_judge_persistence.py +0 -0
  470. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_lint_no_top_level_run_limits.py +0 -0
  471. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_lint_runner.py +0 -0
  472. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_llm_judge_criterion.py +0 -0
  473. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_log_tail_buffer.py +0 -0
  474. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_logging.py +0 -0
  475. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_logging_isolation.py +0 -0
  476. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_merge_characterization.py +0 -0
  477. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_merge_strategy_annotations.py +0 -0
  478. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_merge_unification.py +0 -0
  479. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_models.py +0 -0
  480. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_mutations.py +0 -0
  481. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_new_criteria.py +0 -0
  482. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_node_env_config.py +0 -0
  483. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_optional_dependencies.py +0 -0
  484. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_orchestrator.py +0 -0
  485. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_orchestrator_error_log_tail.py +0 -0
  486. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_orchestrator_telemetry.py +0 -0
  487. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_overrides_engine.py +0 -0
  488. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_parallel.py +0 -0
  489. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_path_utils.py +0 -0
  490. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_plan_command.py +0 -0
  491. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_plugin_processing.py +0 -0
  492. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_plugins.py +0 -0
  493. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_post_run.py +0 -0
  494. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_pr_review_workflow.py +0 -0
  495. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_pre_run.py +0 -0
  496. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_preservation_mode.py +0 -0
  497. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_pricing_registry.py +0 -0
  498. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reference_comparison_scoring.py +0 -0
  499. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reference_evaluator.py +0 -0
  500. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reference_missing_file.py +0 -0
  501. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reference_models.py +0 -0
  502. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reference_orchestrator.py +0 -0
  503. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_registry.py +0 -0
  504. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_report_command.py +0 -0
  505. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reports.py +0 -0
  506. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reports_experiment.py +0 -0
  507. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reports_html.py +0 -0
  508. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reports_stats.py +0 -0
  509. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_resolve_task_files.py +0 -0
  510. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_resume.py +0 -0
  511. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_retry_logic_comprehensive.py +0 -0
  512. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_routing.py +0 -0
  513. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_run_command_stdout.py +0 -0
  514. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_run_limits_models.py +0 -0
  515. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_run_limits_orchestrator.py +0 -0
  516. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_run_limits_resolver.py +0 -0
  517. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_runtime_tool_versions.py +0 -0
  518. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sandbox.py +0 -0
  519. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sandbox_layer_builder.py +0 -0
  520. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sandbox_optional.py +0 -0
  521. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sandbox_security.py +0 -0
  522. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sandbox_symlink_preservation.py +0 -0
  523. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sandbox_templates.py +0 -0
  524. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_scorers.py +0 -0
  525. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_scoring_quality.py +0 -0
  526. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sdk_option_classification.py +0 -0
  527. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_simulation_config.py +0 -0
  528. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_simulation_integration.py +0 -0
  529. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_simulation_termination.py +0 -0
  530. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_simulation_trials.py +0 -0
  531. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_agent_integration.py +0 -0
  532. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_batch.py +0 -0
  533. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_callbacks.py +0 -0
  534. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_cli.py +0 -0
  535. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_events.py +0 -0
  536. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_orchestrator.py +0 -0
  537. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_renderers.py +0 -0
  538. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_wire.py +0 -0
  539. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sub_agent_runner.py +0 -0
  540. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_success_criterion_union.py +0 -0
  541. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_summaries.py +0 -0
  542. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_tags.py +0 -0
  543. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_task_definition_unknown_fields.py +0 -0
  544. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_teardown_interrupt.py +0 -0
  545. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_telemetry.py +0 -0
  546. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_template_env_expansion.py +0 -0
  547. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_timeout_batch.py +0 -0
  548. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_timeout_categorization.py +0 -0
  549. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_timeout_exceptions.py +0 -0
  550. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_timeout_models.py +0 -0
  551. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_timeout_orchestrator.py +0 -0
  552. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_token_usage.py +0 -0
  553. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_uipath_eval.py +0 -0
  554. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_user_simulator.py +0 -0
  555. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_utils.py +0 -0
  556. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_utterance_extraction.py +0 -0
  557. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_variant_prompt_file.py +0 -0
  558. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_verdict_tool.py +0 -0
  559. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_watchdog.py +0 -0
  560. {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_yaml_migration.py +0 -0
@@ -12,7 +12,7 @@ description: Run a multi-model code review on uncommitted changes or a described
12
12
 
13
13
  Run a thorough code review using multiple AI models in parallel, then fix all high-confidence medium-severity and above findings.
14
14
 
15
- **Cost note**: This command runs `make verify` + a multi-model review (`gemini-3` + `codex` via MCP, plus an Opus sub-agent) + automatic fixes. Expensive in time and tokens. Use this for changes you're about to ship; for broad codebase audits use `/coder-eval-code-review-full`; for quick local checks, run targeted tools (`ruff`, `pyright`, `pytest`) directly.
15
+ **Cost note**: This command runs `make verify` + a multi-model review (`gemini-3` + `gpt-5` via MCP, plus an Opus sub-agent) + automatic fixes. Expensive in time and tokens. Use this for changes you're about to ship; for broad codebase audits use `/coder-eval-code-review-full`; for quick local checks, run targeted tools (`ruff`, `pyright`, `pytest`) directly.
16
16
 
17
17
  Input: $ARGUMENTS
18
18
 
@@ -65,7 +65,7 @@ If it fails, report what's failing and stop — code review on broken code is pr
65
65
 
66
66
  Launch two reviews **in parallel**:
67
67
 
68
- **Review A — Multi-model (via `mcp__multi__codereview`)**: run it per the shared procedure in `.claude/shared/multi-model-review.md` — `models: ["gemini-3", "codex"]`, `relevant_files` = absolute paths of all changed files, `content` = a review request citing the Severity Standard, Review Principles, and Checklist. **Heed the multi-step protocol described there** (the step-1 response is usually an `in_progress` checklist, not findings — you must make the `step_number: 2` follow-up call with the same `thread_id`). Falls back to two Opus sub-agents if the tool is unavailable.
68
+ **Review A — Multi-model (via `mcp__multi__codereview`)**: run it per the shared procedure in `.claude/shared/multi-model-review.md` — `models: ["gemini-3", "gpt-5"]`, `relevant_files` = absolute paths of all changed files, `content` = a review request citing the Severity Standard, Review Principles, and Checklist. **Heed the multi-step protocol described there** (the step-1 response is usually an `in_progress` checklist, not findings — you must make the `step_number: 2` follow-up call with the same `thread_id`). Falls back to two Opus sub-agents if the tool is unavailable.
69
69
 
70
70
  **Review B — Opus sub-agent**: Use the `Agent` tool with `model: "opus"`. Give it the list of changed files and the following specialized tasks to run in parallel internally:
71
71
 
@@ -120,7 +120,7 @@ across sessions and provides forensic context if a fix later proves wrong:
120
120
  - Git SHA: <`git rev-parse HEAD`>
121
121
  - Branch: <`git rev-parse --abbrev-ref HEAD`>
122
122
  - Scope: <uncommitted | described "<input>" | last commit>
123
- - Reviewers: <e.g. gemini-3, codex, opus-fallback-1, opus-fallback-2 — list actual reviewers used>
123
+ - Reviewers: <e.g. gemini-3, gpt-5, opus-fallback-1, opus-fallback-2 — list actual reviewers used>
124
124
 
125
125
  ### Scope
126
126
  - Files reviewed: (list)
@@ -14,7 +14,7 @@ If `mcp__multi__codereview` is available (check the deferred-tools list; if list
14
14
  but not loaded, load it with `ToolSearch` → `select:mcp__multi__codereview`), call
15
15
  it with:
16
16
 
17
- - `models`: the strongest available (e.g. `["gemini-3", "codex"]`)
17
+ - `models`: the strongest available (e.g. `["gemini-3", "gpt-5"]` — as of July 2026 these resolve to `gemini-3.1-pro-preview` and `gpt-5.6-sol`; check `mcp__multi__models` if unsure)
18
18
  - `relevant_files`: absolute paths of every changed / in-scope file
19
19
  - `content`: the review request, citing the consumer's rubric (the shared **Review Criteria**, the **Severity Standard**, etc.)
20
20
  - `base_path`: project root
@@ -0,0 +1,84 @@
1
+ name: Adopter — we're using coder_eval
2
+ description: Tell us your team uses coder_eval so we can add you to ADOPTERS.md
3
+ title: "[adopter] <organization>"
4
+ labels: ["adopter"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for using coder_eval! Adopter entries help other teams see the project is
10
+ real and in production, and they tell us which use cases to keep supporting.
11
+
12
+ Everything below is optional except the organization and how you use it. We only
13
+ publish what you explicitly allow here.
14
+ - type: input
15
+ id: organization
16
+ attributes:
17
+ label: Organization
18
+ description: The name you'd like listed.
19
+ placeholder: Acme Corp
20
+ validations:
21
+ required: true
22
+ - type: input
23
+ id: website
24
+ attributes:
25
+ label: Website
26
+ placeholder: https://example.com
27
+ validations:
28
+ required: false
29
+ - type: textarea
30
+ id: usage
31
+ attributes:
32
+ label: How do you use coder_eval?
33
+ description: |
34
+ A sentence or two. What do you evaluate — Claude Code skills, agent A/B tests,
35
+ CI quality gates, your own repos — and roughly at what scale?
36
+ placeholder: |
37
+ We gate CI on a suite of ~40 YAML tasks that check our internal Claude Code
38
+ skills still trigger, and A/B Claude Code against Codex each release.
39
+ validations:
40
+ required: true
41
+ - type: dropdown
42
+ id: listing
43
+ attributes:
44
+ label: How may we list you?
45
+ description: |
46
+ Pick the most you're comfortable with. **Logo use needs someone who can approve
47
+ trademark use for your organization** — if that isn't you, choose a name-only or
48
+ private option and we'll follow up.
49
+ options:
50
+ - Name only, in ADOPTERS.md
51
+ - Name in ADOPTERS.md and on the project website
52
+ - Name and logo in ADOPTERS.md and on the project website
53
+ - Please don't list us publicly — this is just for the maintainers
54
+ default: 0
55
+ validations:
56
+ required: true
57
+ - type: checkboxes
58
+ id: logo-permission
59
+ attributes:
60
+ label: Trademark permission
61
+ description: Only required if you selected a logo option above.
62
+ options:
63
+ - label: >-
64
+ I am authorized to grant this permission on behalf of my organization, and I
65
+ grant the coder_eval maintainers a non-exclusive, revocable license to display
66
+ our name and logo as an adopter in ADOPTERS.md and on the project website. We
67
+ can withdraw it at any time by commenting on this issue.
68
+ required: false
69
+ - type: input
70
+ id: contact
71
+ attributes:
72
+ label: Contact
73
+ description: GitHub handle or email, so we can reach you before publishing anything.
74
+ validations:
75
+ required: false
76
+ - type: checkboxes
77
+ id: case-study
78
+ attributes:
79
+ label: Anything else?
80
+ options:
81
+ - label: We'd be open to a short case study or a talk about our setup.
82
+ required: false
83
+ - label: We'd like to hear about breaking changes before they ship.
84
+ required: false
@@ -0,0 +1,48 @@
1
+ name: Docs
2
+
3
+ # Build the MkDocs Material site and publish it to the `gh-pages` branch via
4
+ # `mkdocs gh-deploy` — the same mechanism UiPath/uipath-python uses. This workflow
5
+ # only pushes a branch (needs `contents: write`); it never calls the Pages API, so
6
+ # it succeeds even before Pages is switched on.
7
+ #
8
+ # One-time setup (org owner): the UiPath org blocks Pages *creation*, so enable
9
+ # Pages for this repo once — Settings → Pages → Build and deployment →
10
+ # Source: "Deploy from a branch" → branch `gh-pages` / `/ (root)`. That's the same
11
+ # (legacy, branch-based) configuration uipath-python already runs on.
12
+ on:
13
+ push:
14
+ branches: [main]
15
+ paths:
16
+ - "docs/**"
17
+ - "mkdocs.yml"
18
+ - ".github/workflows/docs.yml"
19
+ workflow_dispatch:
20
+
21
+ permissions:
22
+ contents: write
23
+
24
+ concurrency:
25
+ group: docs-gh-pages
26
+ cancel-in-progress: true
27
+
28
+ jobs:
29
+ publish:
30
+ runs-on: ubuntu-latest
31
+ steps:
32
+ - uses: actions/checkout@v4
33
+ - uses: actions/setup-python@v5
34
+ with:
35
+ python-version: "3.13"
36
+ - name: Install social-card system libraries
37
+ run: |
38
+ sudo apt-get update
39
+ sudo apt-get install -y --no-install-recommends \
40
+ libcairo2 libfreetype6 libjpeg-turbo8 libpng16-16 pngquant
41
+ - name: Install MkDocs Material
42
+ run: pip install "mkdocs-material[imaging]>=9.5,<10"
43
+ - name: Configure git identity for gh-pages commits
44
+ run: |
45
+ git config user.name "coder-eval"
46
+ git config user.email "coder-eval@uipath.com"
47
+ - name: Build strictly and publish to gh-pages
48
+ run: mkdocs gh-deploy --force --strict
@@ -25,7 +25,7 @@ on:
25
25
  workflow_dispatch:
26
26
  inputs:
27
27
  bump:
28
- description: 'Version bump to release'
28
+ description: 'Version bump to release (ignored on non-main / prerelease dispatch, which always stamps a next-patch rc)'
29
29
  type: choice
30
30
  default: patch
31
31
  options:
@@ -1,3 +1,7 @@
1
+ # MkDocs build output
2
+ site/
3
+ .cache/
4
+
1
5
  # Python-generated files
2
6
  __pycache__/
3
7
  *.py[oc]
@@ -0,0 +1,13 @@
1
+ # Adopters
2
+
3
+ Teams and organizations using `coder_eval` in their development or CI workflows.
4
+
5
+ Using it? [Open an adopter issue](https://github.com/UiPath/coder_eval/issues/new?template=adopter.yml)
6
+ and we'll add you here. Name-only listings are welcome — a logo is never required.
7
+
8
+ Every entry below is published with the organization's permission, and any of them can be
9
+ removed on request by opening an issue.
10
+
11
+ | Organization | How they use it |
12
+ |---|---|
13
+ | [UiPath](https://www.uipath.com) | Nightly evaluation of internal Claude Code skills and agent A/B experiments; maintains `coder_eval`. |
@@ -2,6 +2,212 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v0.8.9 (2026-07-23)
6
+
7
+ ### Bug Fixes
8
+
9
+ - Code review fixes for welch-t-test-exact ([#38](https://github.com/UiPath/coder_eval/pull/38),
10
+ [`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
11
+
12
+ - Render weight:0 criteria as informational on every display surface
13
+ ([#34](https://github.com/UiPath/coder_eval/pull/34),
14
+ [`9a34e90`](https://github.com/UiPath/coder_eval/commit/9a34e90bba2854316149cad61613a75dd3bd91e4))
15
+
16
+ - Weight:0 un-gates criteria (informational criteria)
17
+ ([#34](https://github.com/UiPath/coder_eval/pull/34),
18
+ [`9a34e90`](https://github.com/UiPath/coder_eval/commit/9a34e90bba2854316149cad61613a75dd3bd91e4))
19
+
20
+ - Weight:0 un-gates criteria and renders as informational
21
+ ([#34](https://github.com/UiPath/coder_eval/pull/34),
22
+ [`9a34e90`](https://github.com/UiPath/coder_eval/commit/9a34e90bba2854316149cad61613a75dd3bd91e4))
23
+
24
+ - **early-stop**: Decide skill activation on the tool call, not its result
25
+ ([#43](https://github.com/UiPath/coder_eval/pull/43),
26
+ [`d34aa97`](https://github.com/UiPath/coder_eval/commit/d34aa97416ae3af09d09cdf78cb6607b4e2e6f7c))
27
+
28
+ - **early-stop**: Latch skill activation on any engagement, not first
29
+ ([#43](https://github.com/UiPath/coder_eval/pull/43),
30
+ [`d34aa97`](https://github.com/UiPath/coder_eval/commit/d34aa97416ae3af09d09cdf78cb6607b4e2e6f7c))
31
+
32
+ - **evalboard**: Match watchlist skeleton header to avoid layout shift
33
+ ([#45](https://github.com/UiPath/coder_eval/pull/45),
34
+ [`acc1c86`](https://github.com/UiPath/coder_eval/commit/acc1c86bc97b80383ce1ef402356853447088e4a))
35
+
36
+ - **reports**: 1/2 — exact Student-t p-values in welch_t_test
37
+ ([#38](https://github.com/UiPath/coder_eval/pull/38),
38
+ [`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
39
+
40
+ - **reports**: Exact Student-t p-values and a paired comparison section
41
+ ([#38](https://github.com/UiPath/coder_eval/pull/38),
42
+ [`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
43
+
44
+ - **reports**: Fail loud on t* overflow; surface excluded paired tasks
45
+ ([#38](https://github.com/UiPath/coder_eval/pull/38),
46
+ [`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
47
+
48
+ - **reports**: One source of truth for variant series and paired stats
49
+ ([#38](https://github.com/UiPath/coder_eval/pull/38),
50
+ [`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
51
+
52
+ - **reports**: Validate confidence and n_resamples in bootstrap_mean_ci
53
+ ([#38](https://github.com/UiPath/coder_eval/pull/38),
54
+ [`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
55
+
56
+ ### Chores
57
+
58
+ - **harness**: Defer two guards from the welch-t-test-exact run
59
+ ([#38](https://github.com/UiPath/coder_eval/pull/38),
60
+ [`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
61
+
62
+ ### Documentation
63
+
64
+ - Add adopter issue template and ADOPTERS.md ([#40](https://github.com/UiPath/coder_eval/pull/40),
65
+ [`bfbed4e`](https://github.com/UiPath/coder_eval/commit/bfbed4e4a2ca857167fac2cb15462b7159e97684))
66
+
67
+ - Switch multi-model review from codex to gpt-5 alias
68
+ ([#36](https://github.com/UiPath/coder_eval/pull/36),
69
+ [`0a3f2a7`](https://github.com/UiPath/coder_eval/commit/0a3f2a71a0a1e1e56f42a668fff57bac06eb99ec))
70
+
71
+ ### Features
72
+
73
+ - **evalboard**: Make all pages harness-aware and stream tables
74
+ ([#45](https://github.com/UiPath/coder_eval/pull/45),
75
+ [`acc1c86`](https://github.com/UiPath/coder_eval/commit/acc1c86bc97b80383ce1ef402356853447088e4a))
76
+
77
+ - **evalboard**: Make analytics surfaces harness-aware and stream tables
78
+ ([#45](https://github.com/UiPath/coder_eval/pull/45),
79
+ [`acc1c86`](https://github.com/UiPath/coder_eval/commit/acc1c86bc97b80383ce1ef402356853447088e4a))
80
+
81
+ - **evalboard**: Scope task trends to one harness
82
+ ([#45](https://github.com/UiPath/coder_eval/pull/45),
83
+ [`acc1c86`](https://github.com/UiPath/coder_eval/commit/acc1c86bc97b80383ce1ef402356853447088e4a))
84
+
85
+ - **reports**: 2/2 — add a Paired Comparison section to experiment reports
86
+ ([#38](https://github.com/UiPath/coder_eval/pull/38),
87
+ [`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
88
+
89
+ ### Refactoring
90
+
91
+ - **evalboard**: Address review nits on harness plumbing
92
+ ([#45](https://github.com/UiPath/coder_eval/pull/45),
93
+ [`acc1c86`](https://github.com/UiPath/coder_eval/commit/acc1c86bc97b80383ce1ef402356853447088e4a))
94
+
95
+ ### Testing
96
+
97
+ - **early-stop**: Cover second-review items (two-AgentStart, golden corpus, parity)
98
+ ([#43](https://github.com/UiPath/coder_eval/pull/43),
99
+ [`d34aa97`](https://github.com/UiPath/coder_eval/commit/d34aa97416ae3af09d09cdf78cb6607b4e2e6f7c))
100
+
101
+
102
+ ## v0.8.8 (2026-07-22)
103
+
104
+ ### Bug Fixes
105
+
106
+ - **codex**: Create CODEX_HOME before pinning it in the app-server env
107
+ ([#39](https://github.com/UiPath/coder_eval/pull/39),
108
+ [`8d98b91`](https://github.com/UiPath/coder_eval/commit/8d98b912ae4767904c7d1c395913c3d0aaec6c66))
109
+
110
+ ### Documentation
111
+
112
+ - Add Website badge and point PyPI Homepage at coder-eval.com
113
+ ([#41](https://github.com/UiPath/coder_eval/pull/41),
114
+ [`0551534`](https://github.com/UiPath/coder_eval/commit/055153409d86b8d537bba73ef7ed58dfd17fee26))
115
+
116
+
117
+ ## v0.8.7 (2026-07-22)
118
+
119
+ ### Bug Fixes
120
+
121
+ - Detect Windows skill paths in telemetry ([#24](https://github.com/UiPath/coder_eval/pull/24),
122
+ [`c57a6b0`](https://github.com/UiPath/coder_eval/commit/c57a6b0408ef116177b15bc9b09a768096aaa33f))
123
+
124
+ - **agents**: Run codex + antigravity harnesses on the tempdir/host path
125
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
126
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
127
+
128
+ - **antigravity**: Pin google-antigravity 0.1.7 to load on glibc 2.35
129
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
130
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
131
+
132
+ - **codex**: Always run full-access; drop the in-process OS sandbox
133
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
134
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
135
+
136
+ - **codex**: Cover zsh login shells (macOS default) in the mock-PATH home shim
137
+ ([#26](https://github.com/UiPath/coder_eval/pull/26),
138
+ [`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
139
+
140
+ - **codex**: Keep mock CLIs shadowed in bash login shells
141
+ ([#26](https://github.com/UiPath/coder_eval/pull/26),
142
+ [`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
143
+
144
+ - **codex**: Make login-shell temp-home lifecycle exception-safe incl. kill_sync
145
+ ([#26](https://github.com/UiPath/coder_eval/pull/26),
146
+ [`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
147
+
148
+ - **codex**: Restore mock-CLI PATH prepend in login shells via per-task HOME profile
149
+ ([#26](https://github.com/UiPath/coder_eval/pull/26),
150
+ [`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
151
+
152
+ - **codex**: Restore original HOME inside generated login-shell profile
153
+ ([#26](https://github.com/UiPath/coder_eval/pull/26),
154
+ [`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
155
+
156
+ - **codex**: Use full-access sandbox on coder_eval-managed tempdir path
157
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
158
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
159
+
160
+ - **deps**: Bump pyasn1 to 0.6.4 for GHSA-8ppf-4f7h-5ppj / GHSA-hm4w-wwcw-mr6r
161
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
162
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
163
+
164
+ ### Chores
165
+
166
+ - **deps**: Bump pyasn1 0.6.3 -> 0.6.4 (GHSA-8ppf-4f7h-5ppj, GHSA-hm4w-wwcw-mr6r)
167
+ ([#32](https://github.com/UiPath/coder_eval/pull/32),
168
+ [`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
169
+
170
+ - **deps**: Upgrade agent SDKs to latest (claude 0.2.124, codex 0.144.4)
171
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
172
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
173
+
174
+ ### Continuous Integration
175
+
176
+ - **release**: Publish a prerelease from a non-main branch
177
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
178
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
179
+
180
+ ### Documentation
181
+
182
+ - Add MkDocs docs site, comparison page, and SEO metadata
183
+ ([#32](https://github.com/UiPath/coder_eval/pull/32),
184
+ [`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
185
+
186
+ - Address PR review — Coder Eval naming, cleaner table, gh-deploy workflow
187
+ ([#32](https://github.com/UiPath/coder_eval/pull/32),
188
+ [`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
189
+
190
+ - Address review — git identity for gh-pages, single strict deploy, table glyphs, uv tool install in
191
+ Tutorial 01 ([#32](https://github.com/UiPath/coder_eval/pull/32),
192
+ [`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
193
+
194
+ ### Refactoring
195
+
196
+ - **codex**: Drop dead sandbox branch + honest full-access messaging
197
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
198
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
199
+
200
+ ### Testing
201
+
202
+ - Accept sandbox_managed kwarg in agent test doubles
203
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
204
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
205
+
206
+ - **codex**: Pin start-to-CodexConfig env composition and tidy test imports
207
+ ([#26](https://github.com/UiPath/coder_eval/pull/26),
208
+ [`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
209
+
210
+
5
211
  ## v0.8.6 (2026-07-20)
6
212
 
7
213
  ### Features
@@ -35,7 +35,7 @@ coder_eval/
35
35
  │ ├── criteria.py # 14 success criterion types + base + union
36
36
  │ ├── experiment.py # ExperimentDefinition, ExperimentVariant, ResolvedTask, result models
37
37
  │ ├── judge_defaults.py # DEFAULT_JUDGE_MODEL constant (cycle-free leaf)
38
- │ ├── mutations.py # PromptMutation variants (prefix/suffix/replace/template/rephrase)
38
+ │ ├── mutations.py # PromptMutation variants (prefix/suffix/replace/template)
39
39
  │ ├── results.py # CriterionResult (+ ClassificationCriterionResult), TurnRecord, EvaluationResult, EarlyStopInfo/EarlyStopReason, CriterionAggregate, ThresholdCheck, SuiteRollup
40
40
  │ ├── routing.py # ApiRoute (DirectRoute/BedrockRoute)
41
41
  │ ├── sandbox.py # SandboxConfig, ResourceLimits
@@ -294,7 +294,7 @@ Tasks are YAML files. See [docs/TASK_DEFINITION_GUIDE.md](docs/TASK_DEFINITION_G
294
294
 
295
295
  **Runtime (always)**: pydantic, pydantic-settings, pyyaml, typer, rich, python-dotenv, anthropic, claude-agent-sdk, anyio, radon, tqdm, jmespath, jsonschema
296
296
 
297
- **Runtime (optional, `[uipath]` extra)**: uipath — the in-host `uipath` SDK (handy for local sandbox parity with tasks that invoke `uv run uipath eval ...`). Base installs without this extra still run end-to-end; UiPath-dependent paths fail at dispatch with a clear `pip install 'coder-eval[uipath]'` hint. The LLM judge and the `rephrase` mutation no longer use the LLM Gateway client — they route through the run's backend (Bedrock / Anthropic), so `uipath-llmgw-client` is no longer a dependency.
297
+ **Runtime (optional, `[uipath]` extra)**: uipath — the in-host `uipath` SDK (handy for local sandbox parity with tasks that invoke `uv run uipath eval ...`). Base installs without this extra still run end-to-end; UiPath-dependent paths fail at dispatch with a clear `pip install 'coder-eval[uipath]'` hint. The LLM judge no longer uses the LLM Gateway client — it routes through the run's backend (Bedrock / Anthropic), so `uipath-llmgw-client` is no longer a dependency.
298
298
 
299
299
  **Dev**: pytest, pytest-asyncio, pytest-mock, pytest-cov, ruff, pyright, pip-audit, bandit, pre-commit, mcp
300
300
 
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: coder-eval
3
- Version: 0.8.7rc11
3
+ Version: 0.8.9
4
4
  Summary: Evaluate, benchmark, and A/B-test AI coding agents (Claude Code, Codex, Gemini/Antigravity) with sandboxed, reproducible YAML task suites.
5
- Project-URL: Homepage, https://github.com/UiPath/coder_eval
5
+ Project-URL: Homepage, https://coder-eval.com
6
6
  Project-URL: Repository, https://github.com/UiPath/coder_eval
7
7
  Project-URL: Documentation, https://github.com/UiPath/coder_eval/tree/main/docs
8
8
  Project-URL: Issues, https://github.com/UiPath/coder_eval/issues
@@ -11,7 +11,7 @@ Author-email: UiPath <coder-eval@uipath.com>
11
11
  License-Expression: Apache-2.0
12
12
  License-File: LICENSE
13
13
  License-File: NOTICE
14
- Keywords: agent,agent-evaluation,agent-skills,ai,anthropic,antigravity,benchmark,claude,claude-code,claude-skills,code-generation,codex,coding-agent,eval,evals,evaluation,gemini,llm,llm-evaluation,sandbox,skills-evaluation,skillsbench,swe-bench
14
+ Keywords: agent,agent-evaluation,agent-skills,agent-testing,ai,ai-evaluation,anthropic,antigravity,benchmark,claude,claude-code,claude-code-skills,claude-skills,code-generation,codex,coding-agent,eval,evals,evaluation,gemini,llm,llm-eval,llm-evaluation,llmops,sandbox,skills-evaluation,skillsbench,swe-bench
15
15
  Classifier: Development Status :: 4 - Beta
16
16
  Classifier: Environment :: Console
17
17
  Classifier: Intended Audience :: Developers
@@ -60,28 +60,37 @@ Provides-Extra: uipath
60
60
  Requires-Dist: uipath>=2.10.31; extra == 'uipath'
61
61
  Description-Content-Type: text/markdown
62
62
 
63
- # coder_eval — evaluate AI coding agents & their skills
63
+ # Coder Eval — evaluate & benchmark AI coding agents and Claude Code skills
64
64
 
65
65
  [![PyPI](https://img.shields.io/pypi/v/coder-eval.svg)](https://pypi.org/project/coder-eval/)
66
+ [![Website](https://img.shields.io/badge/website-coder--eval.com-1f6feb.svg)](https://coder-eval.com)
67
+ [![Docs](https://img.shields.io/badge/docs-uipath.github.io%2Fcoder__eval-1f6feb.svg)](https://uipath.github.io/coder_eval/)
66
68
  [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)
67
69
  [![Python 3.13+](https://img.shields.io/badge/python-3.13%2B-blue.svg)](https://www.python.org/downloads/)
68
70
  [![CI](https://github.com/UiPath/coder_eval/actions/workflows/pr-checks.yml/badge.svg)](https://github.com/UiPath/coder_eval/actions/workflows/pr-checks.yml)
69
71
  [![Code style: Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
70
72
 
71
- A framework for evaluating AI coding agents **and their skills** — built for CLI
73
+ **Coder Eval** (`pip install coder-eval` / `uv tool install coder-eval`) is an open-source framework for
74
+ **evaluating and benchmarking AI coding agents and their skills** — built for CLI
72
75
  and skill builders — with sandboxing, reproducibility, and data-driven analysis.
73
- Not an "agentic coding" benchmark: it measures how effective your CLI and skills
74
- are when used by coding agents.
76
+ It runs a real agent (**Claude Code**, **Codex**, or **Google Antigravity /
77
+ Gemini**) in a sandbox against declarative YAML tasks, then scores the files and
78
+ commands it actually produced. Not an "agentic coding" benchmark: it measures how
79
+ effective your CLI and skills are when used by coding agents.
80
+
81
+ Reach for it when you want to **test whether a Claude Code skill triggers**,
82
+ **A/B-test Claude Code vs. Codex vs. Gemini** (or model vs. model, prompt vs.
83
+ prompt), or **gate CI on coding-agent quality**. Unlike fixed datasets (SWE-bench,
84
+ SkillsBench) that rank models on a shared leaderboard, Coder Eval evaluates the
85
+ tasks, skills, and workflows *you* ship — with weighted 0.0–1.0 criteria, a
86
+ `skill_triggered` activation check, an A/B experiment layer, and per-tool cost
87
+ telemetry. See [How it compares](https://uipath.github.io/coder_eval/comparison/).
88
+ 📚 **Full docs:** **[uipath.github.io/coder_eval](https://uipath.github.io/coder_eval/)**.
75
89
 
76
90
  <p align="center">
77
- <img src="docs/assets/hero.gif" alt="coder_eval running the hello_date task: a sandboxed agent writes and runs a script from a YAML task, then the scored result is browsed in evalboard" width="100%">
91
+ <img src="docs/assets/hero.gif" alt="Coder Eval running the hello_date task: a sandboxed agent writes and runs a script from a YAML task, then the scored result is browsed in evalboard" width="100%">
78
92
  </p>
79
93
 
80
- > **The Coding Agents Gym.** A sandboxed, reproducible framework to evaluate,
81
- > benchmark, and A/B-test AI coding agents — Claude Code, Codex, and Google
82
- > Antigravity (Gemini) today, any agent via a plugin SPI — with declarative
83
- > YAML tasks and weighted scoring.
84
-
85
94
  - **Declarative YAML tasks** with pinned dependencies and clear success criteria
86
95
  - **Sandboxed execution** in isolated environments with resource limits
87
96
  - **Weighted, continuous scoring** (0.0–1.0) with fractional credit and thresholds
@@ -92,14 +101,14 @@ are when used by coding agents.
92
101
 
93
102
  ## What you can do with it
94
103
 
95
- - **Benchmark coding agents** — score an agent across a suite of tasks with weighted, pass/fail thresholds
104
+ - **Benchmark coding agents** — score an agent across a suite of tasks with weighted scoring and pass/fail thresholds
96
105
  - **Compare models & configs** — A/B-test Claude vs. Codex vs. Gemini, model vs. model, tool-on vs. tool-off, prompt vs. prompt
97
106
  - **Evaluate skills** — verify an agent actually engages a target skill (`skill_triggered`) and score skill-driven suites (SkillsBench-style)
98
107
  - **Keep skills up to date in CI** — re-validate your skills on every change or on a schedule; catch silent regressions when models, prompts, or the skills themselves drift
99
108
  - **Gate CI on agent quality** — run the suite in GitHub Actions and fail the build on regressions
100
109
  - **Bring your own dataset** — fan one task out over many rows for larger benchmark suites
101
110
 
102
- > **Keeping skills fresh?** Run coder_eval as a scheduled GitHub Actions job so your
111
+ > **Keeping skills fresh?** Run Coder Eval as a scheduled GitHub Actions job so your
103
112
  > skills are continuously re-evaluated against the latest model — a skill that quietly
104
113
  > stops triggering surfaces as a failing criterion before your users hit it. See
105
114
  > **[Tutorial 02 — Running coder_eval in CI](docs/tutorials/02-ci-pipeline.md)**.
@@ -115,7 +124,9 @@ git clone https://github.com/UiPath/coder_eval.git
115
124
  cd coder_eval
116
125
 
117
126
  uv sync --extra dev # install core + dev tools
118
- cp .env.example .env # then set ANTHROPIC_API_KEY
127
+ cp .env.example .env # then set ANTHROPIC_API_KEY — or skip that: an
128
+ # existing Claude Code login (`claude login`) is
129
+ # picked up automatically
119
130
 
120
131
  uv run coder-eval plan tasks/hello_date.yaml # validate (no tokens spent)
121
132
  uv run coder-eval run tasks/hello_date.yaml # run your first evaluation
@@ -129,11 +140,23 @@ The optional `[uipath]` extra (`uv sync --extra dev --extra uipath`) adds the in
129
140
  required). Without it the framework runs end-to-end; uipath-dependent features fail
130
141
  at dispatch with a clear hint.
131
142
 
132
- > **Using coder_eval in CI or another project?** Install the published package:
133
- > `pip install coder-eval` (or `uv add coder-eval`; extras install the same way —
134
- > `pip install "coder-eval[codex,antigravity]"`). In a real CI gate, pin to a
135
- > specific released version so a harness upgrade can't silently move your results.
136
- > See [Tutorial 02 — Running coder_eval in CI](docs/tutorials/02-ci-pipeline.md) for the full setup.
143
+ **Using Coder Eval in CI or another project?** Install the published package
144
+ instead of cloning:
145
+
146
+ ```bash
147
+ uv tool install coder-eval # puts the `coder-eval` CLI on your PATH,
148
+ # in its own isolated environment
149
+
150
+ uv tool install "coder-eval[codex,antigravity]" # same, with agent extras
151
+ coder-eval --version # verify the install
152
+ ```
153
+
154
+ To add it as a project dependency instead: `uv add coder-eval` or
155
+ `pip install coder-eval`. In a real CI gate, pin to a specific released version
156
+ so a harness upgrade can't silently move your results. (The example `tasks/`
157
+ live in this repo — clone it or point the CLI at your own task files.) See
158
+ [Tutorial 02 — Running coder_eval in CI](docs/tutorials/02-ci-pipeline.md) for
159
+ the full setup.
137
160
 
138
161
  ## Telemetry
139
162
 
@@ -161,17 +184,18 @@ at dispatch with a clear hint.
161
184
 
162
185
  ## How it compares
163
186
 
164
- - **vs. SWE-bench and fixed benchmarks** — SWE-bench is a fixed dataset of GitHub
165
- issues; coder_eval is a *framework* for authoring your own tasks in declarative
166
- YAML, so you evaluate the skills and workflows you care about (and can still wrap
167
- a fixed dataset via [Bring Your Own Dataset](docs/BYOD.md)).
168
- - **vs. LLM-output eval harnesses (e.g. OpenAI Evals)** — those grade a model's text;
169
- coder_eval runs a full **agent** in a **sandbox** with real tool use and multi-turn
170
- dialog, then scores the files and commands it actually produced (continuous
171
- 0.0–1.0) — not just a judge over a string.
187
+ - **vs. fixed benchmarks (SWE-bench, SkillsBench)** — they score a canonical dataset;
188
+ Coder Eval scores *your* tasks with continuous 0.0–1.0 weighted criteria (and can
189
+ still wrap a fixed dataset via [Bring Your Own Dataset](docs/BYOD.md)).
190
+ - **vs. large-scale / RL harnesses (Harbor)** — Harbor targets scale and RL rollouts;
191
+ Coder Eval targets weighted, skill-aware suites gated in CI.
192
+ - **vs. model-output eval tools (OpenAI Evals)** — they grade model text; Coder Eval
193
+ runs a full agent in a sandbox and scores the files and commands it produced.
172
194
  - **vs. hand-rolled scripts** — reproducible sandboxes, weighted criteria,
173
195
  cost/token telemetry, A/B experiments, and CI-ready pass/fail gates out of the box.
174
196
 
197
+ See the full [comparison — with sources](https://uipath.github.io/coder_eval/comparison/).
198
+
175
199
  ## Task Definition
176
200
 
177
201
  A task is a YAML file: a prompt, the agent config, a sandbox, and success criteria.
@@ -221,12 +245,12 @@ extension points (new criteria, new agents).
221
245
 
222
246
  ## Known limits & non-goals
223
247
 
224
- - **Not a fixed benchmark or leaderboard** — coder_eval scores *your* tasks and ships
248
+ - **Not a fixed benchmark or leaderboard** — Coder Eval scores *your* tasks and ships
225
249
  example tasks, not a canonical scored dataset.
226
250
  - **Tasks execute real code** — run untrusted tasks only under the container driver
227
251
  (see [Docker Isolation](docs/DOCKER_ISOLATION.md)); the `tempdir` driver is not a
228
252
  security boundary.
229
- - **Bring your own model credentials** — Anthropic, Bedrock, or Gemini keys; coder_eval
253
+ - **Bring your own model credentials** — Anthropic, Bedrock, or Gemini keys; Coder Eval
230
254
  does not proxy or supply model access.
231
255
  - **Python 3.13+ only.**
232
256