coder-eval 0.8.7rc10__tar.gz → 0.8.8__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 (550) hide show
  1. coder_eval-0.8.8/.github/workflows/docs.yml +48 -0
  2. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/release.yml +1 -1
  3. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.gitignore +4 -0
  4. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/CHANGELOG.md +109 -0
  5. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/PKG-INFO +55 -31
  6. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/README.md +52 -28
  7. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/AB_EXPERIMENTS.md +7 -0
  8. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/BYOD.md +7 -0
  9. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/CODEX_AGENT_GUIDE.md +9 -2
  10. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/DOCKER_ISOLATION.md +7 -2
  11. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/TASK_DEFINITION_GUIDE.md +13 -2
  12. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/USER_GUIDE.md +9 -0
  13. coder_eval-0.8.8/docs/comparison.md +153 -0
  14. coder_eval-0.8.8/docs/index.md +100 -0
  15. coder_eval-0.8.8/docs/llms.txt +46 -0
  16. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/01-first-evaluation.md +12 -0
  17. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/02-ci-pipeline.md +7 -0
  18. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/03-evalboard-local.md +7 -0
  19. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/04-writing-a-task.md +7 -0
  20. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/05-comparing-models.md +7 -0
  21. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/06-use-docker-isolation.md +9 -2
  22. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/README.md +7 -0
  23. coder_eval-0.8.8/mkdocs.yml +94 -0
  24. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/pyproject.toml +5 -4
  25. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/__init__.py +1 -1
  26. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agent.py +0 -5
  27. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/antigravity_agent.py +0 -5
  28. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/claude_code_agent.py +0 -4
  29. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/codex_agent.py +42 -62
  30. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/noop_agent.py +0 -1
  31. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestrator.py +0 -9
  32. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/mock_agent.py +0 -2
  33. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/text_stub_agent.py +0 -1
  34. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_codex_agent.py +49 -107
  35. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_orchestrator.py +1 -4
  36. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_simulation_integration.py +0 -1
  37. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_user_simulator.py +0 -2
  38. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/uv.lock +1 -1
  39. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-code-review-full.md +0 -0
  40. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-code-review-wf.md +0 -0
  41. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-code-review.md +0 -0
  42. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-create-plan.md +0 -0
  43. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-implement-plan.md +0 -0
  44. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-review.md +0 -0
  45. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-run-analysis.md +0 -0
  46. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-task-create.md +0 -0
  47. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/harness-candidates.md +0 -0
  48. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/shared/axes.md +0 -0
  49. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/shared/multi-model-review.md +0 -0
  50. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/shared/review-rubric.md +0 -0
  51. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/shared/run-layout.md +0 -0
  52. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/workflows/cr-axis.js +0 -0
  53. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/workflows/cr-parent.js +0 -0
  54. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.env.example +0 -0
  55. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/CODEOWNERS +0 -0
  56. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  57. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  58. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/code_review.md +0 -0
  59. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/dependabot.yml +0 -0
  60. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/claude-pr-review.yml +0 -0
  61. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/codeql.yml +0 -0
  62. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/conventional-commits.yml +0 -0
  63. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/docker-publish.yml +0 -0
  64. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/pr-checks.yml +0 -0
  65. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/publish-testpypi.yml +0 -0
  66. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.pre-commit-config.yaml +0 -0
  67. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.python-version +0 -0
  68. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/CLAUDE.md +0 -0
  69. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/CODE_OF_CONDUCT.md +0 -0
  70. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/CONTRIBUTING.md +0 -0
  71. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/LICENSE +0 -0
  72. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/Makefile +0 -0
  73. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/NOTICE +0 -0
  74. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/SECURITY.md +0 -0
  75. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docker/Dockerfile +0 -0
  76. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docker/Dockerfile.runtime +0 -0
  77. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docker/coder_eval_entrypoint.sh +0 -0
  78. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docker/coder_eval_runtime_entrypoint.sh +0 -0
  79. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/IDEAS.md +0 -0
  80. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/assets/hero.gif +0 -0
  81. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/.gitignore +0 -0
  82. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/README.md +0 -0
  83. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/__tests__/search-box.test.tsx +0 -0
  84. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/col-help.tsx +0 -0
  85. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/collapsible-rail.tsx +0 -0
  86. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/harness-badge.tsx +0 -0
  87. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/scroll-table.tsx +0 -0
  88. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/search-box.tsx +0 -0
  89. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/unit-toggle.tsx +0 -0
  90. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/version-list.tsx +0 -0
  91. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/window-selector.tsx +0 -0
  92. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_overview/daily-chart.tsx +0 -0
  93. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_overview/tag-rail.tsx +0 -0
  94. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_overview/turn-budget-chart.tsx +0 -0
  95. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_overview/window-summary.tsx +0 -0
  96. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/api/download/route.ts +0 -0
  97. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/api/file/route.ts +0 -0
  98. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/api/refresh/__tests__/route.test.ts +0 -0
  99. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/api/refresh/route.ts +0 -0
  100. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/error.tsx +0 -0
  101. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/globals.css +0 -0
  102. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/icon.png +0 -0
  103. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/layout.tsx +0 -0
  104. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/page.tsx +0 -0
  105. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/path-to-ga/page.tsx +0 -0
  106. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/trends/__tests__/trends-view.test.tsx +0 -0
  107. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/trends/actions.ts +0 -0
  108. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/trends/page.tsx +0 -0
  109. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/trends/trends-view.tsx +0 -0
  110. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/watchlist/__tests__/watchlist-view.test.tsx +0 -0
  111. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/watchlist/page.tsx +0 -0
  112. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/watchlist/watchlist-view.tsx +0 -0
  113. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/next-env.d.ts +0 -0
  114. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/next.config.mjs +0 -0
  115. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/package.json +0 -0
  116. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/pnpm-lock.yaml +0 -0
  117. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/postcss.config.mjs +0 -0
  118. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/public/harness/antigravity.png +0 -0
  119. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/public/harness/claude-code.png +0 -0
  120. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/public/harness/codex.png +0 -0
  121. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/public/uipath.png +0 -0
  122. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/tailwind.config.ts +0 -0
  123. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/tsconfig.json +0 -0
  124. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/vitest.config.ts +0 -0
  125. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/vitest.setup.ts +0 -0
  126. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/default.yaml +0 -0
  127. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/early-stop-ab.yaml +0 -0
  128. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/model-comparison.yaml +0 -0
  129. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/permissions-smoke.yaml +0 -0
  130. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/plugin-comparison.yaml +0 -0
  131. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/prompt-mutations-example.yaml +0 -0
  132. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/smoke_variants.yaml +0 -0
  133. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/osv-scanner.toml +0 -0
  134. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/.gitattributes +0 -0
  135. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/__init__.py +0 -0
  136. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/_logging.py +0 -0
  137. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/registry.py +0 -0
  138. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/watchdog.py +0 -0
  139. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/analysis.py +0 -0
  140. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/__init__.py +0 -0
  141. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/aggregate_command.py +0 -0
  142. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/console.py +0 -0
  143. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/evaluate_command.py +0 -0
  144. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/plan_command.py +0 -0
  145. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/report_command.py +0 -0
  146. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/run_command.py +0 -0
  147. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/run_helpers.py +0 -0
  148. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/run_task_internal_command.py +0 -0
  149. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/utils.py +0 -0
  150. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/config.py +0 -0
  151. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/__init__.py +0 -0
  152. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/_classification_aggregate.py +0 -0
  153. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/agent_judge.py +0 -0
  154. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/base.py +0 -0
  155. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/classification_match.py +0 -0
  156. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/command_executed.py +0 -0
  157. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/commands_efficiency.py +0 -0
  158. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/file_check.py +0 -0
  159. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/file_contains.py +0 -0
  160. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/file_exists.py +0 -0
  161. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/file_matches_regex.py +0 -0
  162. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/json_check.py +0 -0
  163. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/llm_judge.py +0 -0
  164. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/reference_comparison.py +0 -0
  165. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/run_command.py +0 -0
  166. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/skill_triggered.py +0 -0
  167. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/uipath_eval.py +0 -0
  168. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/__init__.py +0 -0
  169. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/agent.py +0 -0
  170. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/budget.py +0 -0
  171. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/categories.py +0 -0
  172. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/categorization.py +0 -0
  173. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/executor.py +0 -0
  174. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/judge.py +0 -0
  175. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/retry.py +0 -0
  176. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/timeout.py +0 -0
  177. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/__init__.py +0 -0
  178. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/checker.py +0 -0
  179. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/judge_anthropic.py +0 -0
  180. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/judge_bedrock.py +0 -0
  181. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/judge_context.py +0 -0
  182. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/judge_models.py +0 -0
  183. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/judge_persistence.py +0 -0
  184. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/judge_usage.py +0 -0
  185. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/sub_agent.py +0 -0
  186. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/summaries.py +0 -0
  187. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/verdict_tool.py +0 -0
  188. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/formatting.py +0 -0
  189. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/isolation/__init__.py +0 -0
  190. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/isolation/docker_runner.py +0 -0
  191. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/logging_config.py +0 -0
  192. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/__init__.py +0 -0
  193. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/agent_config.py +0 -0
  194. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/container_paths.py +0 -0
  195. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/criteria.py +0 -0
  196. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/enums.py +0 -0
  197. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/experiment.py +0 -0
  198. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/judge.py +0 -0
  199. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/judge_defaults.py +0 -0
  200. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/limits.py +0 -0
  201. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/merge_strategy.py +0 -0
  202. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/mutations.py +0 -0
  203. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/results.py +0 -0
  204. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/routing.py +0 -0
  205. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/sandbox.py +0 -0
  206. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/tasks.py +0 -0
  207. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/telemetry.py +0 -0
  208. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/templates.py +0 -0
  209. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/__init__.py +0 -0
  210. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/batch.py +0 -0
  211. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/config.py +0 -0
  212. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/config_merge.py +0 -0
  213. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/early_stop.py +0 -0
  214. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/evaluation.py +0 -0
  215. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/experiment.py +0 -0
  216. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/overrides.py +0 -0
  217. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/task_loader.py +0 -0
  218. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/path_utils.py +0 -0
  219. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/plugins.py +0 -0
  220. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/pricing.py +0 -0
  221. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/py.typed +0 -0
  222. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/reports.py +0 -0
  223. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/reports_experiment.py +0 -0
  224. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/reports_html.py +0 -0
  225. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/reports_stats.py +0 -0
  226. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/resources/__init__.py +0 -0
  227. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/resources/default_ignore_patterns.yaml +0 -0
  228. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/resources/tags.yaml +0 -0
  229. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/sandbox.py +0 -0
  230. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/__init__.py +0 -0
  231. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/ast_similarity.py +0 -0
  232. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/complexity.py +0 -0
  233. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/quality.py +0 -0
  234. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/signature_similarity.py +0 -0
  235. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/similarity.py +0 -0
  236. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/token_similarity.py +0 -0
  237. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/simulation/__init__.py +0 -0
  238. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/simulation/termination.py +0 -0
  239. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/simulation/user_simulator.py +0 -0
  240. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/streaming/__init__.py +0 -0
  241. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/streaming/callbacks.py +0 -0
  242. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/streaming/collector.py +0 -0
  243. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/streaming/events.py +0 -0
  244. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/streaming/renderers.py +0 -0
  245. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/streaming/wire.py +0 -0
  246. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/telemetry.py +0 -0
  247. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/utils.py +0 -0
  248. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/README.md +0 -0
  249. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agentless_smoke_test.yaml +0 -0
  250. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/antigravity_hello_world.yaml +0 -0
  251. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/antigravity_hello_world_docker.yaml +0 -0
  252. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/claude_hello_world.yaml +0 -0
  253. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/claude_hello_world_docker.yaml +0 -0
  254. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/claude_parallel_single_gen.yaml +0 -0
  255. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/claude_subagent_test.yaml +0 -0
  256. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_disallowed_tools_test.yaml +0 -0
  257. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_hello_world.yaml +0 -0
  258. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_parallel_commands.yaml +0 -0
  259. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_parallel_single_gen.yaml +0 -0
  260. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_skills_test.yaml +0 -0
  261. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_string_utils.yaml +0 -0
  262. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_subagent_test.yaml +0 -0
  263. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/subagent_bash_long_input.yaml +0 -0
  264. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/subagent_merge_sort.yaml +0 -0
  265. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/byod_smoke_test.yaml +0 -0
  266. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dataset_example.yaml +0 -0
  267. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/datasets/sentiment.jsonl +0 -0
  268. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dockerfile_build_example/dockerfile_build_example.yaml +0 -0
  269. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dockerfile_build_example/environment/Dockerfile +0 -0
  270. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dockerfile_build_example/environment/Dockerfile.workdir +0 -0
  271. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dockerfile_build_example/environment/input.txt +0 -0
  272. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dockerfile_build_example/working_dir_auto_example.yaml +0 -0
  273. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dockerfile_build_example/working_dir_concrete_example.yaml +0 -0
  274. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/fibonacci_with_template.yaml +0 -0
  275. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/hello_date.yaml +0 -0
  276. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/inline_starter_example.yaml +0 -0
  277. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/internal/session_resumption.yaml +0 -0
  278. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/mock_path_dirs_smoke.yaml +0 -0
  279. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/mock_path_dirs_template_dir/mock-cli-bins/README.md +0 -0
  280. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/echo_args +0 -0
  281. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/fixtures/config.json +0 -0
  282. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/say_hello +0 -0
  283. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/mock_path_dirs_template_dir/task.yaml +0 -0
  284. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/python_cli_simulated_judged/echo_simulated_judged.yaml +0 -0
  285. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/3d-scan-calc/3d-scan-calc.yaml +0 -0
  286. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/3d-scan-calc/environment/Dockerfile +0 -0
  287. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/3d-scan-calc/environment/material_density_table.md +0 -0
  288. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/3d-scan-calc/environment/scan_data.stl +0 -0
  289. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/3d-scan-calc/verifier/test.sh +0 -0
  290. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/3d-scan-calc/verifier/test_outputs.py +0 -0
  291. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/README.md +0 -0
  292. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/court-form-filling/court-form-filling.yaml +0 -0
  293. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/court-form-filling/environment/Dockerfile +0 -0
  294. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/court-form-filling/environment/sc100-blank.pdf +0 -0
  295. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/court-form-filling/verifier/test.sh +0 -0
  296. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/court-form-filling/verifier/test_outputs.py +0 -0
  297. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/dialogue-parser/dialogue-parser.yaml +0 -0
  298. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/dialogue-parser/environment/Dockerfile +0 -0
  299. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/dialogue-parser/environment/script.txt +0 -0
  300. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/dialogue-parser/verifier/test.sh +0 -0
  301. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/dialogue-parser/verifier/test_outputs.py +0 -0
  302. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/sentiment_classification.yaml +0 -0
  303. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_agent_judge.yaml +0 -0
  304. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_budget_exceeded.yaml +0 -0
  305. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_cost_budget_exceeded.yaml +0 -0
  306. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_llm_judge.yaml +0 -0
  307. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_negative_path.yaml +0 -0
  308. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_task_timeout.yaml +0 -0
  309. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_variants.yaml +0 -0
  310. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/test_sandbox.yaml +0 -0
  311. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/token_check.yaml +0 -0
  312. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/templates/byod_smoke_test/Dockerfile +0 -0
  313. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/templates/fibonacci-starter/README.md +0 -0
  314. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/templates/fibonacci-starter/src/main.py +0 -0
  315. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/templates/fibonacci-starter/tests/test_main.py +0 -0
  316. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/__init__.py +0 -0
  317. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/__init__.py +0 -0
  318. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/__init__.py +0 -0
  319. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/_scrub.py +0 -0
  320. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/claude_fixtures.py +0 -0
  321. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/codex_fixtures.py +0 -0
  322. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_a_single_text_turn.json +0 -0
  323. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_b_tool_use_result.json +0 -0
  324. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_c_multi_emission_delta.json +0 -0
  325. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_d_subagent_terminal.json +0 -0
  326. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_e_model_usage_and_backfill.json +0 -0
  327. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_f_orphaned_tool.json +0 -0
  328. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_g_crash_format_placeholder.json +0 -0
  329. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_h1_timeout_process_error.json +0 -0
  330. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_h2_process_error_crash.json +0 -0
  331. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_i_in_loop_deadline_break.json +0 -0
  332. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_a_agent_message_only.json +0 -0
  333. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_b_command_execution.json +0 -0
  334. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_c_reasoning_placeholder.json +0 -0
  335. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_d_cross_flush_is_error.json +0 -0
  336. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_e_orphan_tool.json +0 -0
  337. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_f_collab_fallback.json +0 -0
  338. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_g_items_rebuild.json +0 -0
  339. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_h_no_turn_completed_crash.json +0 -0
  340. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/__init__.py +0 -0
  341. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/_snapshot.py +0 -0
  342. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/experiment_2variant.md +0 -0
  343. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/experiment_3variant.md +0 -0
  344. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/experiment_replicates.md +0 -0
  345. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/run_full.md +0 -0
  346. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/run_minimal.md +0 -0
  347. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_path_helpers.py +0 -0
  348. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/conftest.py +0 -0
  349. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/__init__.py +0 -0
  350. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/byoa_demo_plugin/byoa_demo.py +0 -0
  351. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/byoa_demo_plugin/pyproject.toml +0 -0
  352. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/tasks/test_task_multiple_criteria.yaml +0 -0
  353. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/tasks/test_task_pass.yaml +0 -0
  354. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/__init__.py +0 -0
  355. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/__init__.py +0 -0
  356. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/base.py +0 -0
  357. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce014_merge_strategy_declared.py +0 -0
  358. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce015_create_subprocess_limit.py +0 -0
  359. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce016_no_computed_tokenusage_kwargs.py +0 -0
  360. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce017_models_lazy_agent_imports.py +0 -0
  361. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce018_no_final_status_name_denylist.py +0 -0
  362. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce019_telemetry_non_fatal.py +0 -0
  363. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce020_no_sdk_typed_base_agent_fields.py +0 -0
  364. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce021_guarded_evaluationresult_parse.py +0 -0
  365. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce022_dialog_loop_statement_cap.py +0 -0
  366. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce023_no_proxy_shim_import.py +0 -0
  367. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce024_discriminated_unions.py +0 -0
  368. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce025_live_verdict_consistency.py +0 -0
  369. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_agent_timing_access.py +0 -0
  370. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_blocking_io_in_async.py +0 -0
  371. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_cli_imports_in_core.py +0 -0
  372. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_silent_except.py +0 -0
  373. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_submodule_model_imports.py +0 -0
  374. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_top_level_run_limits_access.py +0 -0
  375. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_transcript_regex_in_eval.py +0 -0
  376. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_type_name_string_dispatch.py +0 -0
  377. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/open_explicit_encoding.py +0 -0
  378. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/read_text_explicit_encoding.py +0 -0
  379. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/register_criterion_required.py +0 -0
  380. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/subprocess_run_explicit_encoding.py +0 -0
  381. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/yaml_models_forbid_extras.py +0 -0
  382. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/runner.py +0 -0
  383. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/violation.py +0 -0
  384. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent.py +0 -0
  385. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_config_no_timing_fields.py +0 -0
  386. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_config_optional_type.py +0 -0
  387. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_config_registry_dispatch.py +0 -0
  388. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_config_sdk_decoupling.py +0 -0
  389. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_golden_master.py +0 -0
  390. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_judge_criterion.py +0 -0
  391. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_telemetry.py +0 -0
  392. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_telemetry_advanced.py +0 -0
  393. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_timeout.py +0 -0
  394. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agentless.py +0 -0
  395. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_aggregate.py +0 -0
  396. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_antigravity_agent.py +0 -0
  397. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_byoa_plugin.py +0 -0
  398. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_byoa_plugin_live.py +0 -0
  399. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_byod_feature.py +0 -0
  400. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_checker_logging.py +0 -0
  401. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_classification_match.py +0 -0
  402. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_claude_settings_enforcement_live.py +0 -0
  403. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cleanup_preservation_guard.py +0 -0
  404. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cli_backend_flag.py +0 -0
  405. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cli_empty_glob.py +0 -0
  406. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cli_sdk_options.py +0 -0
  407. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cli_set_overrides.py +0 -0
  408. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cli_telemetry.py +0 -0
  409. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cli_type_flag.py +0 -0
  410. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_code_review_bugs.py +0 -0
  411. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_codex_agent_live.py +0 -0
  412. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_codex_agent_unit.py +0 -0
  413. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_codex_token_mapping.py +0 -0
  414. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_command_executed.py +0 -0
  415. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_command_statistics.py +0 -0
  416. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_command_telemetry_result_data.py +0 -0
  417. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_commands_efficiency.py +0 -0
  418. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_config_lineage.py +0 -0
  419. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_config_merge_engine.py +0 -0
  420. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_config_precedence.py +0 -0
  421. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_continuous_scoring.py +0 -0
  422. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_criterion_result_round_trip.py +0 -0
  423. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_custom_lint.py +0 -0
  424. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_dataset_expansion.py +0 -0
  425. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_debug_logging.py +0 -0
  426. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_docker_build_failure.py +0 -0
  427. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_docker_runner_container_death.py +0 -0
  428. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_docker_runner_mounts.py +0 -0
  429. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_docker_runner_stream_limit.py +0 -0
  430. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_docker_wildcard_env.py +0 -0
  431. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_docker_workdir_live.py +0 -0
  432. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_driver_resolver.py +0 -0
  433. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_early_stop.py +0 -0
  434. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_error_handling.py +0 -0
  435. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_evaluate_command.py +0 -0
  436. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_evaluator.py +0 -0
  437. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_event_collector.py +0 -0
  438. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_experiment_cli.py +0 -0
  439. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_experiment_loader.py +0 -0
  440. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_experiment_models.py +0 -0
  441. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_experiment_reports.py +0 -0
  442. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_experiment_resolver.py +0 -0
  443. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_experiment_runner.py +0 -0
  444. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_file_check.py +0 -0
  445. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_file_contains_scoring.py +0 -0
  446. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_formatting.py +0 -0
  447. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_git_clone_failure.py +0 -0
  448. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_heartbeat_watchdog.py +0 -0
  449. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_ignore_patterns_negation.py +0 -0
  450. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_image_from_dockerfiles.py +0 -0
  451. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_integration.py +0 -0
  452. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_json_check.py +0 -0
  453. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_judge_anthropic.py +0 -0
  454. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_judge_bedrock.py +0 -0
  455. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_judge_burn_in_live.py +0 -0
  456. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_judge_context_builder.py +0 -0
  457. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_judge_models.py +0 -0
  458. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_judge_persistence.py +0 -0
  459. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_lint_no_top_level_run_limits.py +0 -0
  460. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_lint_runner.py +0 -0
  461. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_llm_judge_criterion.py +0 -0
  462. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_log_tail_buffer.py +0 -0
  463. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_logging.py +0 -0
  464. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_logging_isolation.py +0 -0
  465. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_merge_characterization.py +0 -0
  466. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_merge_strategy_annotations.py +0 -0
  467. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_merge_unification.py +0 -0
  468. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_models.py +0 -0
  469. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_mutations.py +0 -0
  470. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_new_criteria.py +0 -0
  471. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_node_env_config.py +0 -0
  472. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_optional_dependencies.py +0 -0
  473. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_orchestrator_error_log_tail.py +0 -0
  474. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_orchestrator_telemetry.py +0 -0
  475. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_overrides_engine.py +0 -0
  476. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_parallel.py +0 -0
  477. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_path_utils.py +0 -0
  478. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_plan_command.py +0 -0
  479. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_plugin_processing.py +0 -0
  480. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_plugins.py +0 -0
  481. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_post_run.py +0 -0
  482. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_pr_review_workflow.py +0 -0
  483. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_pre_run.py +0 -0
  484. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_preservation_mode.py +0 -0
  485. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_pricing_registry.py +0 -0
  486. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reference_comparison_scoring.py +0 -0
  487. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reference_evaluator.py +0 -0
  488. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reference_missing_file.py +0 -0
  489. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reference_models.py +0 -0
  490. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reference_orchestrator.py +0 -0
  491. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_registry.py +0 -0
  492. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_replicate_stats.py +0 -0
  493. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_report_command.py +0 -0
  494. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reports.py +0 -0
  495. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reports_experiment.py +0 -0
  496. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reports_html.py +0 -0
  497. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reports_stats.py +0 -0
  498. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_resolve_task_files.py +0 -0
  499. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_resume.py +0 -0
  500. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_retry_logic_comprehensive.py +0 -0
  501. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_routing.py +0 -0
  502. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_run_command_stdout.py +0 -0
  503. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_run_limits_models.py +0 -0
  504. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_run_limits_orchestrator.py +0 -0
  505. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_run_limits_resolver.py +0 -0
  506. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_runtime_tool_versions.py +0 -0
  507. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sandbox.py +0 -0
  508. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sandbox_layer_builder.py +0 -0
  509. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sandbox_optional.py +0 -0
  510. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sandbox_security.py +0 -0
  511. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sandbox_symlink_preservation.py +0 -0
  512. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sandbox_templates.py +0 -0
  513. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_scorers.py +0 -0
  514. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_scoring_quality.py +0 -0
  515. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sdk_option_classification.py +0 -0
  516. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_simulation_config.py +0 -0
  517. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_simulation_termination.py +0 -0
  518. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_simulation_trials.py +0 -0
  519. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_skill_triggered.py +0 -0
  520. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_agent_integration.py +0 -0
  521. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_batch.py +0 -0
  522. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_callbacks.py +0 -0
  523. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_cli.py +0 -0
  524. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_events.py +0 -0
  525. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_orchestrator.py +0 -0
  526. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_renderers.py +0 -0
  527. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_wire.py +0 -0
  528. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sub_agent_runner.py +0 -0
  529. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_success_criterion_union.py +0 -0
  530. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_suite_rollup.py +0 -0
  531. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_summaries.py +0 -0
  532. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_tags.py +0 -0
  533. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_task_definition_unknown_fields.py +0 -0
  534. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_teardown_interrupt.py +0 -0
  535. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_telemetry.py +0 -0
  536. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_template_env_expansion.py +0 -0
  537. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_threshold_enforcement.py +0 -0
  538. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_timeout_batch.py +0 -0
  539. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_timeout_categorization.py +0 -0
  540. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_timeout_exceptions.py +0 -0
  541. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_timeout_models.py +0 -0
  542. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_timeout_orchestrator.py +0 -0
  543. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_token_usage.py +0 -0
  544. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_uipath_eval.py +0 -0
  545. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_utils.py +0 -0
  546. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_utterance_extraction.py +0 -0
  547. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_variant_prompt_file.py +0 -0
  548. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_verdict_tool.py +0 -0
  549. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_watchdog.py +0 -0
  550. {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_yaml_migration.py +0 -0
@@ -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]
@@ -2,6 +2,115 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v0.8.8 (2026-07-22)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **codex**: Create CODEX_HOME before pinning it in the app-server env
10
+ ([#39](https://github.com/UiPath/coder_eval/pull/39),
11
+ [`8d98b91`](https://github.com/UiPath/coder_eval/commit/8d98b912ae4767904c7d1c395913c3d0aaec6c66))
12
+
13
+ ### Documentation
14
+
15
+ - Add Website badge and point PyPI Homepage at coder-eval.com
16
+ ([#41](https://github.com/UiPath/coder_eval/pull/41),
17
+ [`0551534`](https://github.com/UiPath/coder_eval/commit/055153409d86b8d537bba73ef7ed58dfd17fee26))
18
+
19
+
20
+ ## v0.8.7 (2026-07-22)
21
+
22
+ ### Bug Fixes
23
+
24
+ - Detect Windows skill paths in telemetry ([#24](https://github.com/UiPath/coder_eval/pull/24),
25
+ [`c57a6b0`](https://github.com/UiPath/coder_eval/commit/c57a6b0408ef116177b15bc9b09a768096aaa33f))
26
+
27
+ - **agents**: Run codex + antigravity harnesses on the tempdir/host path
28
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
29
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
30
+
31
+ - **antigravity**: Pin google-antigravity 0.1.7 to load on glibc 2.35
32
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
33
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
34
+
35
+ - **codex**: Always run full-access; drop the in-process OS sandbox
36
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
37
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
38
+
39
+ - **codex**: Cover zsh login shells (macOS default) in the mock-PATH home shim
40
+ ([#26](https://github.com/UiPath/coder_eval/pull/26),
41
+ [`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
42
+
43
+ - **codex**: Keep mock CLIs shadowed in bash login shells
44
+ ([#26](https://github.com/UiPath/coder_eval/pull/26),
45
+ [`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
46
+
47
+ - **codex**: Make login-shell temp-home lifecycle exception-safe incl. kill_sync
48
+ ([#26](https://github.com/UiPath/coder_eval/pull/26),
49
+ [`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
50
+
51
+ - **codex**: Restore mock-CLI PATH prepend in login shells via per-task HOME profile
52
+ ([#26](https://github.com/UiPath/coder_eval/pull/26),
53
+ [`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
54
+
55
+ - **codex**: Restore original HOME inside generated login-shell profile
56
+ ([#26](https://github.com/UiPath/coder_eval/pull/26),
57
+ [`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
58
+
59
+ - **codex**: Use full-access sandbox on coder_eval-managed tempdir path
60
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
61
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
62
+
63
+ - **deps**: Bump pyasn1 to 0.6.4 for GHSA-8ppf-4f7h-5ppj / GHSA-hm4w-wwcw-mr6r
64
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
65
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
66
+
67
+ ### Chores
68
+
69
+ - **deps**: Bump pyasn1 0.6.3 -> 0.6.4 (GHSA-8ppf-4f7h-5ppj, GHSA-hm4w-wwcw-mr6r)
70
+ ([#32](https://github.com/UiPath/coder_eval/pull/32),
71
+ [`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
72
+
73
+ - **deps**: Upgrade agent SDKs to latest (claude 0.2.124, codex 0.144.4)
74
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
75
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
76
+
77
+ ### Continuous Integration
78
+
79
+ - **release**: Publish a prerelease from a non-main branch
80
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
81
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
82
+
83
+ ### Documentation
84
+
85
+ - Add MkDocs docs site, comparison page, and SEO metadata
86
+ ([#32](https://github.com/UiPath/coder_eval/pull/32),
87
+ [`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
88
+
89
+ - Address PR review — Coder Eval naming, cleaner table, gh-deploy workflow
90
+ ([#32](https://github.com/UiPath/coder_eval/pull/32),
91
+ [`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
92
+
93
+ - Address review — git identity for gh-pages, single strict deploy, table glyphs, uv tool install in
94
+ Tutorial 01 ([#32](https://github.com/UiPath/coder_eval/pull/32),
95
+ [`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
96
+
97
+ ### Refactoring
98
+
99
+ - **codex**: Drop dead sandbox branch + honest full-access messaging
100
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
101
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
102
+
103
+ ### Testing
104
+
105
+ - Accept sandbox_managed kwarg in agent test doubles
106
+ ([#33](https://github.com/UiPath/coder_eval/pull/33),
107
+ [`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
108
+
109
+ - **codex**: Pin start-to-CodexConfig env composition and tidy test imports
110
+ ([#26](https://github.com/UiPath/coder_eval/pull/26),
111
+ [`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
112
+
113
+
5
114
  ## v0.8.6 (2026-07-20)
6
115
 
7
116
  ### Features
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: coder-eval
3
- Version: 0.8.7rc10
3
+ Version: 0.8.8
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
 
@@ -1,25 +1,34 @@
1
- # coder_eval — evaluate AI coding agents & their skills
1
+ # Coder Eval — evaluate & benchmark AI coding agents and Claude Code skills
2
2
 
3
3
  [![PyPI](https://img.shields.io/pypi/v/coder-eval.svg)](https://pypi.org/project/coder-eval/)
4
+ [![Website](https://img.shields.io/badge/website-coder--eval.com-1f6feb.svg)](https://coder-eval.com)
5
+ [![Docs](https://img.shields.io/badge/docs-uipath.github.io%2Fcoder__eval-1f6feb.svg)](https://uipath.github.io/coder_eval/)
4
6
  [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)
5
7
  [![Python 3.13+](https://img.shields.io/badge/python-3.13%2B-blue.svg)](https://www.python.org/downloads/)
6
8
  [![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)
7
9
  [![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)
8
10
 
9
- A framework for evaluating AI coding agents **and their skills** — built for CLI
11
+ **Coder Eval** (`pip install coder-eval` / `uv tool install coder-eval`) is an open-source framework for
12
+ **evaluating and benchmarking AI coding agents and their skills** — built for CLI
10
13
  and skill builders — with sandboxing, reproducibility, and data-driven analysis.
11
- Not an "agentic coding" benchmark: it measures how effective your CLI and skills
12
- are when used by coding agents.
14
+ It runs a real agent (**Claude Code**, **Codex**, or **Google Antigravity /
15
+ Gemini**) in a sandbox against declarative YAML tasks, then scores the files and
16
+ commands it actually produced. Not an "agentic coding" benchmark: it measures how
17
+ effective your CLI and skills are when used by coding agents.
18
+
19
+ Reach for it when you want to **test whether a Claude Code skill triggers**,
20
+ **A/B-test Claude Code vs. Codex vs. Gemini** (or model vs. model, prompt vs.
21
+ prompt), or **gate CI on coding-agent quality**. Unlike fixed datasets (SWE-bench,
22
+ SkillsBench) that rank models on a shared leaderboard, Coder Eval evaluates the
23
+ tasks, skills, and workflows *you* ship — with weighted 0.0–1.0 criteria, a
24
+ `skill_triggered` activation check, an A/B experiment layer, and per-tool cost
25
+ telemetry. See [How it compares](https://uipath.github.io/coder_eval/comparison/).
26
+ 📚 **Full docs:** **[uipath.github.io/coder_eval](https://uipath.github.io/coder_eval/)**.
13
27
 
14
28
  <p align="center">
15
- <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%">
29
+ <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%">
16
30
  </p>
17
31
 
18
- > **The Coding Agents Gym.** A sandboxed, reproducible framework to evaluate,
19
- > benchmark, and A/B-test AI coding agents — Claude Code, Codex, and Google
20
- > Antigravity (Gemini) today, any agent via a plugin SPI — with declarative
21
- > YAML tasks and weighted scoring.
22
-
23
32
  - **Declarative YAML tasks** with pinned dependencies and clear success criteria
24
33
  - **Sandboxed execution** in isolated environments with resource limits
25
34
  - **Weighted, continuous scoring** (0.0–1.0) with fractional credit and thresholds
@@ -30,14 +39,14 @@ are when used by coding agents.
30
39
 
31
40
  ## What you can do with it
32
41
 
33
- - **Benchmark coding agents** — score an agent across a suite of tasks with weighted, pass/fail thresholds
42
+ - **Benchmark coding agents** — score an agent across a suite of tasks with weighted scoring and pass/fail thresholds
34
43
  - **Compare models & configs** — A/B-test Claude vs. Codex vs. Gemini, model vs. model, tool-on vs. tool-off, prompt vs. prompt
35
44
  - **Evaluate skills** — verify an agent actually engages a target skill (`skill_triggered`) and score skill-driven suites (SkillsBench-style)
36
45
  - **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
37
46
  - **Gate CI on agent quality** — run the suite in GitHub Actions and fail the build on regressions
38
47
  - **Bring your own dataset** — fan one task out over many rows for larger benchmark suites
39
48
 
40
- > **Keeping skills fresh?** Run coder_eval as a scheduled GitHub Actions job so your
49
+ > **Keeping skills fresh?** Run Coder Eval as a scheduled GitHub Actions job so your
41
50
  > skills are continuously re-evaluated against the latest model — a skill that quietly
42
51
  > stops triggering surfaces as a failing criterion before your users hit it. See
43
52
  > **[Tutorial 02 — Running coder_eval in CI](docs/tutorials/02-ci-pipeline.md)**.
@@ -53,7 +62,9 @@ git clone https://github.com/UiPath/coder_eval.git
53
62
  cd coder_eval
54
63
 
55
64
  uv sync --extra dev # install core + dev tools
56
- cp .env.example .env # then set ANTHROPIC_API_KEY
65
+ cp .env.example .env # then set ANTHROPIC_API_KEY — or skip that: an
66
+ # existing Claude Code login (`claude login`) is
67
+ # picked up automatically
57
68
 
58
69
  uv run coder-eval plan tasks/hello_date.yaml # validate (no tokens spent)
59
70
  uv run coder-eval run tasks/hello_date.yaml # run your first evaluation
@@ -67,11 +78,23 @@ The optional `[uipath]` extra (`uv sync --extra dev --extra uipath`) adds the in
67
78
  required). Without it the framework runs end-to-end; uipath-dependent features fail
68
79
  at dispatch with a clear hint.
69
80
 
70
- > **Using coder_eval in CI or another project?** Install the published package:
71
- > `pip install coder-eval` (or `uv add coder-eval`; extras install the same way —
72
- > `pip install "coder-eval[codex,antigravity]"`). In a real CI gate, pin to a
73
- > specific released version so a harness upgrade can't silently move your results.
74
- > See [Tutorial 02 — Running coder_eval in CI](docs/tutorials/02-ci-pipeline.md) for the full setup.
81
+ **Using Coder Eval in CI or another project?** Install the published package
82
+ instead of cloning:
83
+
84
+ ```bash
85
+ uv tool install coder-eval # puts the `coder-eval` CLI on your PATH,
86
+ # in its own isolated environment
87
+
88
+ uv tool install "coder-eval[codex,antigravity]" # same, with agent extras
89
+ coder-eval --version # verify the install
90
+ ```
91
+
92
+ To add it as a project dependency instead: `uv add coder-eval` or
93
+ `pip install coder-eval`. In a real CI gate, pin to a specific released version
94
+ so a harness upgrade can't silently move your results. (The example `tasks/`
95
+ live in this repo — clone it or point the CLI at your own task files.) See
96
+ [Tutorial 02 — Running coder_eval in CI](docs/tutorials/02-ci-pipeline.md) for
97
+ the full setup.
75
98
 
76
99
  ## Telemetry
77
100
 
@@ -99,17 +122,18 @@ at dispatch with a clear hint.
99
122
 
100
123
  ## How it compares
101
124
 
102
- - **vs. SWE-bench and fixed benchmarks** — SWE-bench is a fixed dataset of GitHub
103
- issues; coder_eval is a *framework* for authoring your own tasks in declarative
104
- YAML, so you evaluate the skills and workflows you care about (and can still wrap
105
- a fixed dataset via [Bring Your Own Dataset](docs/BYOD.md)).
106
- - **vs. LLM-output eval harnesses (e.g. OpenAI Evals)** — those grade a model's text;
107
- coder_eval runs a full **agent** in a **sandbox** with real tool use and multi-turn
108
- dialog, then scores the files and commands it actually produced (continuous
109
- 0.0–1.0) — not just a judge over a string.
125
+ - **vs. fixed benchmarks (SWE-bench, SkillsBench)** — they score a canonical dataset;
126
+ Coder Eval scores *your* tasks with continuous 0.0–1.0 weighted criteria (and can
127
+ still wrap a fixed dataset via [Bring Your Own Dataset](docs/BYOD.md)).
128
+ - **vs. large-scale / RL harnesses (Harbor)** — Harbor targets scale and RL rollouts;
129
+ Coder Eval targets weighted, skill-aware suites gated in CI.
130
+ - **vs. model-output eval tools (OpenAI Evals)** — they grade model text; Coder Eval
131
+ runs a full agent in a sandbox and scores the files and commands it produced.
110
132
  - **vs. hand-rolled scripts** — reproducible sandboxes, weighted criteria,
111
133
  cost/token telemetry, A/B experiments, and CI-ready pass/fail gates out of the box.
112
134
 
135
+ See the full [comparison — with sources](https://uipath.github.io/coder_eval/comparison/).
136
+
113
137
  ## Task Definition
114
138
 
115
139
  A task is a YAML file: a prompt, the agent config, a sandbox, and success criteria.
@@ -159,12 +183,12 @@ extension points (new criteria, new agents).
159
183
 
160
184
  ## Known limits & non-goals
161
185
 
162
- - **Not a fixed benchmark or leaderboard** — coder_eval scores *your* tasks and ships
186
+ - **Not a fixed benchmark or leaderboard** — Coder Eval scores *your* tasks and ships
163
187
  example tasks, not a canonical scored dataset.
164
188
  - **Tasks execute real code** — run untrusted tasks only under the container driver
165
189
  (see [Docker Isolation](docs/DOCKER_ISOLATION.md)); the `tempdir` driver is not a
166
190
  security boundary.
167
- - **Bring your own model credentials** — Anthropic, Bedrock, or Gemini keys; coder_eval
191
+ - **Bring your own model credentials** — Anthropic, Bedrock, or Gemini keys; Coder Eval
168
192
  does not proxy or supply model access.
169
193
  - **Python 3.13+ only.**
170
194
 
@@ -1,3 +1,10 @@
1
+ ---
2
+ description: >-
3
+ A/B-test AI coding agents with coder_eval's experiment layer — Claude Code vs.
4
+ Codex vs. Gemini, model vs. model, skill on vs. off, prompt vs. prompt — on
5
+ identical tasks.
6
+ ---
7
+
1
8
  # A/B Experiment Guide
2
9
 
3
10
  How to run the same tasks across multiple configuration variants ("arms") and
@@ -1,3 +1,10 @@
1
+ ---
2
+ description: >-
3
+ Use a custom Docker image with coder_eval — extend the base coder-eval-agent
4
+ image with your own dependencies and tools, then point task configuration at
5
+ it.
6
+ ---
7
+
1
8
  # Bring Your Own Docker (BYOD)
2
9
 
3
10
  The BYOD feature allows customers to use custom Docker images that extend the base `coder-eval-agent` image, enabling them to add custom dependencies and tools while maintaining the latest coder-eval codebase.
@@ -1,8 +1,15 @@
1
- # Codex Agent Implementation
1
+ ---
2
+ description: >-
3
+ Run OpenAI Codex as the agent under evaluation in coder_eval — installation,
4
+ authentication, task configuration, and how Codex telemetry maps to sandboxed,
5
+ weighted scoring.
6
+ ---
7
+
8
+ # Running OpenAI Codex in coder_eval
2
9
 
3
10
  ## Overview
4
11
 
5
- A new `CodexAgent` has been added to coder_eval that integrates OpenAI's Codex SDK. The implementation mirrors the structure of `ClaudeCodeAgent` and provides seamless integration with the evaluation framework.
12
+ coder_eval can run OpenAI's Codex as the agent under evaluation, via the official Codex SDK. The `CodexAgent` mirrors the structure of `ClaudeCodeAgent` and plugs into the same sandbox, scoring, and telemetry pipeline — set `agent.type: codex` in a task and the rest of the framework works unchanged.
6
13
 
7
14
  ## Setup
8
15
 
@@ -1,9 +1,14 @@
1
+ ---
2
+ description: >-
3
+ Run each coder_eval task in its own fresh Docker container — strong host
4
+ isolation, a pinned reproducible agent runtime, and custom images for
5
+ task-specific dependencies.
6
+ ---
7
+
1
8
  # Docker Isolation
2
9
 
3
10
  Run each evaluation task inside its own fresh container. Strong host isolation and a pinned, reproducible agent runtime.
4
11
 
5
- > Supersedes the agent-side FS perimeter flag from #199 (reverted in 9fe4320). The container boundary subsumes what that flag tried to do at the agent level.
6
-
7
12
  ## When to use
8
13
 
9
14
  Set `sandbox.driver: docker` on a task (or pass `--driver docker` on the CLI —
@@ -1,3 +1,10 @@
1
+ ---
2
+ description: >-
3
+ Full schema reference for coder_eval task YAML — agent config, sandboxes, run
4
+ limits, dataset fan-out, and all 14 success criterion types with weighted
5
+ 0.0–1.0 scoring.
6
+ ---
7
+
1
8
  # Task Definition Guide
2
9
 
3
10
  Complete reference for defining evaluation tasks in coder_eval.
@@ -123,11 +130,15 @@ an error.
123
130
  - `plan` — Agent proposes changes, waits for approval
124
131
  - `bypassPermissions` — No permission checks (use with caution)
125
132
 
133
+ > **Codex note:** `permission_mode` confines the **`claude-code`** agent only. The **`codex`** agent always runs full-access regardless of the mode — its in-process OS sandbox is redundant given coder_eval's docker/tempdir isolation and unusable on our CI hosts (and on Windows). Run adversarial or untrusted Codex evals under the **docker driver**, which is the OS-level write boundary; the tempdir/host driver is a working directory, not a confinement boundary.
134
+
126
135
  **Agent Types:**
127
136
  - `claude-code` (default) — Claude Code SDK agent. Supports `sdk_options`, `claude_settings`, and all permission modes.
128
137
  - `codex` — OpenAI Codex agent (requires `[codex]` extra; set `CODEX_API_KEY` and optional `CODEX_BASE_URL` environment variables).
129
138
  - `none` — No-op agent: no coding agent runs and no model API call is made. See [No-op / System Tasks](#no-op--system-tasks-type-none) below.
130
139
 
140
+ <a id="no-op--system-tasks-type-none"></a>
141
+
131
142
  ### No-op / System Tasks (`type: none`)
132
143
 
133
144
  Set `agent: {type: none}` to run a task with **no coding agent** — "coder-eval
@@ -159,7 +170,7 @@ Contract (enforced at load): a `type: none` task must declare no `initial_prompt
159
170
  every criterion must be agent-independent — criteria that inspect the agent
160
171
  trajectory (`command_executed`, `skill_triggered`, `reference_comparison`,
161
172
  `commands_efficiency`) are rejected. A worked example lives at
162
- [`tasks/agentless_smoke_test.yaml`](../tasks/agentless_smoke_test.yaml).
173
+ [`tasks/agentless_smoke_test.yaml`](https://github.com/UiPath/coder_eval/blob/main/tasks/agentless_smoke_test.yaml).
163
174
 
164
175
  ### `max_turns`, `task_timeout`, `turn_timeout` location
165
176
 
@@ -590,7 +601,7 @@ Checks whether the agent executed specific tools/commands during evaluation. Ins
590
601
 
591
602
  Evaluates a UiPath agent against a named evaluation set. **Fractional scoring:** metrics passed / total metrics.
592
603
 
593
- > The `uipath` CLI must be available **inside the sandbox** (typically declared in the task's own Python deps). This is independent of the host's optional `coder-eval[uipath]` extra — see the install matrix in [README.md](../README.md#installation).
604
+ > The `uipath` CLI must be available **inside the sandbox** (typically declared in the task's own Python deps). This is independent of the host's optional `coder-eval[uipath]` extra — see the install matrix in [README.md](https://github.com/UiPath/coder_eval/blob/main/README.md#quick-start).
594
605
 
595
606
  ```yaml
596
607
  - type: "uipath_eval"
@@ -1,3 +1,10 @@
1
+ ---
2
+ description: >-
3
+ Complete coder_eval reference — every CLI command and flag, configuration
4
+ layers and -D overrides, environment variables, run outputs, and reports for
5
+ evaluating AI coding agents.
6
+ ---
7
+
1
8
  # coder_eval User Guide
2
9
 
3
10
  The full command, configuration, and output reference. For a gentle introduction
@@ -81,6 +88,8 @@ in `.claude/commands/`, available when using Claude Code in this repository:
81
88
  | `/coder-eval-run-analysis <path>` | Analyze evaluation runs and suggest improvements to tasks, config, and prompts. Works at task, variant, or run scope. |
82
89
  | `/coder-eval-task-create` | Create evaluation task YAML files from a natural language description. |
83
90
 
91
+ <a id="api-routing--benchmarking"></a>
92
+
84
93
  ## API Routing & Benchmarking
85
94
 
86
95
  `coder-eval` supports two API routing modes, selected via `--backend` or the