coder-eval 0.11.5__tar.gz → 0.11.7__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 (669) hide show
  1. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/pages-stub/index.html +6 -5
  2. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/pr-checks.yml +79 -9
  3. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/verify-published-action.yml +10 -11
  4. {coder_eval-0.11.5 → coder_eval-0.11.7}/CHANGELOG.md +175 -0
  5. {coder_eval-0.11.5 → coder_eval-0.11.7}/CLAUDE.md +1 -1
  6. {coder_eval-0.11.5 → coder_eval-0.11.7}/PKG-INFO +117 -66
  7. {coder_eval-0.11.5 → coder_eval-0.11.7}/README.md +113 -62
  8. coder_eval-0.11.7/action.yml +268 -0
  9. coder_eval-0.11.7/docs/CI_GATE.md +241 -0
  10. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/agents/ANTIGRAVITY.md +1 -1
  11. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/comparison.md +8 -6
  12. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/index.md +23 -19
  13. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/llms.txt +19 -18
  14. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/01-first-evaluation.md +5 -2
  15. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/02-ci-pipeline.md +5 -4
  16. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/README.md +68 -9
  17. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/__tests__/harness-selector.test.tsx +51 -0
  18. coder_eval-0.11.7/evalboard/app/_components/__tests__/skeleton.test.tsx +97 -0
  19. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/harness-selector.tsx +13 -6
  20. coder_eval-0.11.7/evalboard/app/_components/skeleton.tsx +171 -0
  21. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/api/download/route.ts +23 -12
  22. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/api/refresh/__tests__/route.test.ts +29 -0
  23. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/api/refresh/route.ts +7 -2
  24. coder_eval-0.11.7/evalboard/app/globals.css +109 -0
  25. coder_eval-0.11.7/evalboard/app/loading.tsx +40 -0
  26. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/trends/__tests__/trends-view.test.tsx +5 -3
  27. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/trends/trends-view.tsx +6 -6
  28. {coder_eval-0.11.5 → coder_eval-0.11.7}/mkdocs.yml +5 -4
  29. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/.claude-plugin/plugin.json +1 -1
  30. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/skills/ci/SKILL.md +48 -50
  31. {coder_eval-0.11.5 → coder_eval-0.11.7}/pyproject.toml +9 -7
  32. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/__init__.py +1 -1
  33. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/run_helpers.py +21 -8
  34. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/pricing.py +27 -17
  35. coder_eval-0.11.7/tests/lint/agent_roster_parity.py +117 -0
  36. coder_eval-0.11.7/tests/test_action_inputs.py +499 -0
  37. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_antigravity_agent.py +2 -0
  38. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_claude_settings_enforcement_live.py +39 -17
  39. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cost_accounting_paths.py +3 -3
  40. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_custom_lint.py +73 -35
  41. coder_eval-0.11.7/tests/test_run_helpers.py +79 -0
  42. {coder_eval-0.11.5 → coder_eval-0.11.7}/uv.lock +8 -8
  43. coder_eval-0.11.5/action.yml +0 -217
  44. coder_eval-0.11.5/docs/CI_GATE.md +0 -180
  45. coder_eval-0.11.5/evalboard/app/globals.css +0 -42
  46. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/commands/coder-eval-code-review-full.md +0 -0
  47. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/commands/coder-eval-code-review-wf.md +0 -0
  48. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/commands/coder-eval-code-review.md +0 -0
  49. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/commands/coder-eval-create-plan.md +0 -0
  50. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/commands/coder-eval-implement-plan.md +0 -0
  51. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/commands/coder-eval-review.md +0 -0
  52. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/harness-candidates.md +0 -0
  53. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/shared/axes.md +0 -0
  54. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/shared/multi-model-review.md +0 -0
  55. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/shared/review-rubric.md +0 -0
  56. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/shared/run-layout.md +0 -0
  57. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/workflows/cr-axis.js +0 -0
  58. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/workflows/cr-parent.js +0 -0
  59. {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude-plugin/marketplace.json +0 -0
  60. {coder_eval-0.11.5 → coder_eval-0.11.7}/.env.example +0 -0
  61. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/CODEOWNERS +0 -0
  62. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/ISSUE_TEMPLATE/adopter.yml +0 -0
  63. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  64. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  65. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/actionlint.yaml +0 -0
  66. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/code_review.md +0 -0
  67. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/dependabot.yml +0 -0
  68. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/scripts/release_notes.py +0 -0
  69. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/claude-pr-review.yml +0 -0
  70. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/codeql.yml +0 -0
  71. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/conventional-commits.yml +0 -0
  72. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/docker-publish.yml +0 -0
  73. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/docs.yml +0 -0
  74. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/publish-testpypi.yml +0 -0
  75. {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/release.yml +0 -0
  76. {coder_eval-0.11.5 → coder_eval-0.11.7}/.gitignore +0 -0
  77. {coder_eval-0.11.5 → coder_eval-0.11.7}/.pre-commit-config.yaml +0 -0
  78. {coder_eval-0.11.5 → coder_eval-0.11.7}/.python-version +0 -0
  79. {coder_eval-0.11.5 → coder_eval-0.11.7}/ADOPTERS.md +0 -0
  80. {coder_eval-0.11.5 → coder_eval-0.11.7}/CODE_OF_CONDUCT.md +0 -0
  81. {coder_eval-0.11.5 → coder_eval-0.11.7}/CONTRIBUTING.md +0 -0
  82. {coder_eval-0.11.5 → coder_eval-0.11.7}/LICENSE +0 -0
  83. {coder_eval-0.11.5 → coder_eval-0.11.7}/Makefile +0 -0
  84. {coder_eval-0.11.5 → coder_eval-0.11.7}/NOTICE +0 -0
  85. {coder_eval-0.11.5 → coder_eval-0.11.7}/SECURITY.md +0 -0
  86. {coder_eval-0.11.5 → coder_eval-0.11.7}/comparison.md +0 -0
  87. {coder_eval-0.11.5 → coder_eval-0.11.7}/docker/Dockerfile +0 -0
  88. {coder_eval-0.11.5 → coder_eval-0.11.7}/docker/Dockerfile.runtime +0 -0
  89. {coder_eval-0.11.5 → coder_eval-0.11.7}/docker/coder_eval_entrypoint.sh +0 -0
  90. {coder_eval-0.11.5 → coder_eval-0.11.7}/docker/coder_eval_runtime_entrypoint.sh +0 -0
  91. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/AB_EXPERIMENTS.md +0 -0
  92. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/DATASETS.md +0 -0
  93. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/DIALOG_MODE.md +0 -0
  94. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/DOCKER_ISOLATION.md +0 -0
  95. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/EXTENDING.md +0 -0
  96. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/PLUGIN.md +0 -0
  97. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/REPORT_SCHEMA.md +0 -0
  98. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/TASK_DEFINITION_GUIDE.md +0 -0
  99. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/USER_GUIDE.md +0 -0
  100. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/agents/CLAUDE_CODE.md +0 -0
  101. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/agents/CODEX.md +0 -0
  102. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/agents/HARNESS_PARITY.md +0 -0
  103. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/agents/OPENCODE.md +0 -0
  104. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/assets/hero.gif +0 -0
  105. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/03-evalboard-local.md +0 -0
  106. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/04-writing-a-task.md +0 -0
  107. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/05-comparing-models.md +0 -0
  108. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/06-use-docker-isolation.md +0 -0
  109. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/07-plugin-in-claude-code.md +0 -0
  110. {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/README.md +0 -0
  111. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/.gitignore +0 -0
  112. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/__tests__/harness-badge.test.tsx +0 -0
  113. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/__tests__/search-box.test.tsx +0 -0
  114. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/col-help.tsx +0 -0
  115. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/collapsible-rail.tsx +0 -0
  116. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/harness-badge.tsx +0 -0
  117. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/scroll-table.tsx +0 -0
  118. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/search-box.tsx +0 -0
  119. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/unit-toggle.tsx +0 -0
  120. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/version-list.tsx +0 -0
  121. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_lib/__tests__/source-param.test.ts +0 -0
  122. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_lib/source-param.ts +0 -0
  123. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/__tests__/efficiency-charts.test.tsx +0 -0
  124. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/__tests__/harness-legend.test.tsx +0 -0
  125. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/__tests__/harness-series.test.ts +0 -0
  126. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/daily-chart.tsx +0 -0
  127. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/efficiency-charts.tsx +0 -0
  128. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/harness-legend.tsx +0 -0
  129. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/harness-series.ts +0 -0
  130. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/tag-rail.tsx +0 -0
  131. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/turn-budget-chart.tsx +0 -0
  132. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/wall-clock-chart.tsx +0 -0
  133. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/window-summary.tsx +0 -0
  134. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/api/file/route.ts +0 -0
  135. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/error.tsx +0 -0
  136. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/icon.png +0 -0
  137. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/layout.tsx +0 -0
  138. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/page.tsx +0 -0
  139. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/path-to-ga/__tests__/task-table.test.tsx +0 -0
  140. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/path-to-ga/page.tsx +0 -0
  141. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/path-to-ga/task-table.tsx +0 -0
  142. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/scribe/page.tsx +0 -0
  143. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/scribe/run-table.tsx +0 -0
  144. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/trends/actions.ts +0 -0
  145. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/trends/page.tsx +0 -0
  146. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/watchlist/__tests__/watchlist-view.test.tsx +0 -0
  147. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/watchlist/page.tsx +0 -0
  148. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/watchlist/watchlist-view.tsx +0 -0
  149. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/next-env.d.ts +0 -0
  150. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/next.config.mjs +0 -0
  151. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/package.json +0 -0
  152. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/pnpm-lock.yaml +0 -0
  153. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/postcss.config.mjs +0 -0
  154. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/public/harness/antigravity.png +0 -0
  155. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/public/harness/claude-code.png +0 -0
  156. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/public/harness/codex.png +0 -0
  157. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/public/uipath.png +0 -0
  158. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/tailwind.config.ts +0 -0
  159. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/tsconfig.json +0 -0
  160. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/vitest.config.ts +0 -0
  161. {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/vitest.setup.ts +0 -0
  162. {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/default.yaml +0 -0
  163. {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/early-stop-ab.yaml +0 -0
  164. {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/model-comparison.yaml +0 -0
  165. {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/permissions-smoke.yaml +0 -0
  166. {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/plugin-comparison.yaml +0 -0
  167. {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/prompt-mutations-example.yaml +0 -0
  168. {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/smoke_variants.yaml +0 -0
  169. {coder_eval-0.11.5 → coder_eval-0.11.7}/litellm/README.md +0 -0
  170. {coder_eval-0.11.5 → coder_eval-0.11.7}/litellm/cost_logger.py +0 -0
  171. {coder_eval-0.11.5 → coder_eval-0.11.7}/litellm/litellm-config.yaml +0 -0
  172. {coder_eval-0.11.5 → coder_eval-0.11.7}/litellm/start-litellm.sh +0 -0
  173. {coder_eval-0.11.5 → coder_eval-0.11.7}/osv-scanner.toml +0 -0
  174. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/README.md +0 -0
  175. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/cli-setup.md +0 -0
  176. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/criteria.md +0 -0
  177. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/repo-layout.md +0 -0
  178. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/run-layout.md +0 -0
  179. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/task-rubric.md +0 -0
  180. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/templates/activation-rows.jsonl +0 -0
  181. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/templates/activation.yaml +0 -0
  182. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/skills/analyze/SKILL.md +0 -0
  183. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/skills/check-skill/SKILL.md +0 -0
  184. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/skills/init/SKILL.md +0 -0
  185. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/skills/lint-tasks/SKILL.md +0 -0
  186. {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/skills/task/SKILL.md +0 -0
  187. {coder_eval-0.11.5 → coder_eval-0.11.7}/scripts/check_commit_msg.sh +0 -0
  188. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/.gitattributes +0 -0
  189. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agent.py +0 -0
  190. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/__init__.py +0 -0
  191. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/_logging.py +0 -0
  192. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/antigravity_agent.py +0 -0
  193. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/claude_code_agent.py +0 -0
  194. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/codex_agent.py +0 -0
  195. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/noop_agent.py +0 -0
  196. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/opencode_agent.py +0 -0
  197. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/registry.py +0 -0
  198. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/watchdog.py +0 -0
  199. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/analysis.py +0 -0
  200. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/__init__.py +0 -0
  201. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/aggregate_command.py +0 -0
  202. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/console.py +0 -0
  203. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/evaluate_command.py +0 -0
  204. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/plan_command.py +0 -0
  205. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/report_command.py +0 -0
  206. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/run_command.py +0 -0
  207. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/run_task_internal_command.py +0 -0
  208. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/utils.py +0 -0
  209. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/config.py +0 -0
  210. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/__init__.py +0 -0
  211. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/_classification_aggregate.py +0 -0
  212. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/agent_judge.py +0 -0
  213. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/base.py +0 -0
  214. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/classification_match.py +0 -0
  215. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/cli_called.py +0 -0
  216. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/command_executed.py +0 -0
  217. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/commands_efficiency.py +0 -0
  218. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/file_check.py +0 -0
  219. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/file_contains.py +0 -0
  220. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/file_exists.py +0 -0
  221. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/file_matches_regex.py +0 -0
  222. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/json_check.py +0 -0
  223. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/llm_judge.py +0 -0
  224. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/reference_comparison.py +0 -0
  225. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/run_command.py +0 -0
  226. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/skill_triggered.py +0 -0
  227. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/uipath_eval.py +0 -0
  228. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/__init__.py +0 -0
  229. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/agent.py +0 -0
  230. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/budget.py +0 -0
  231. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/categories.py +0 -0
  232. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/categorization.py +0 -0
  233. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/checker_misuse.py +0 -0
  234. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/executor.py +0 -0
  235. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/judge.py +0 -0
  236. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/reference.py +0 -0
  237. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/retry.py +0 -0
  238. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/timeout.py +0 -0
  239. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/__init__.py +0 -0
  240. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/checker.py +0 -0
  241. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_anthropic.py +0 -0
  242. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_bedrock.py +0 -0
  243. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_context.py +0 -0
  244. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_litellm.py +0 -0
  245. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_models.py +0 -0
  246. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_persistence.py +0 -0
  247. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_usage.py +0 -0
  248. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/sub_agent.py +0 -0
  249. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/summaries.py +0 -0
  250. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/verdict_tool.py +0 -0
  251. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/formatting.py +0 -0
  252. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/fs_permissions.py +0 -0
  253. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/invocation_log.py +0 -0
  254. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/isolation/__init__.py +0 -0
  255. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/isolation/docker_runner.py +0 -0
  256. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/litellm_cost.py +0 -0
  257. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/logging_config.py +0 -0
  258. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/__init__.py +0 -0
  259. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/agent_config.py +0 -0
  260. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/container_paths.py +0 -0
  261. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/criteria.py +0 -0
  262. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/enums.py +0 -0
  263. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/experiment.py +0 -0
  264. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/judge.py +0 -0
  265. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/judge_defaults.py +0 -0
  266. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/limits.py +0 -0
  267. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/merge_strategy.py +0 -0
  268. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/mutations.py +0 -0
  269. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/results.py +0 -0
  270. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/routing.py +0 -0
  271. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/sandbox.py +0 -0
  272. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/tasks.py +0 -0
  273. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/telemetry.py +0 -0
  274. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/templates.py +0 -0
  275. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/__init__.py +0 -0
  276. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/batch.py +0 -0
  277. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/config.py +0 -0
  278. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/config_merge.py +0 -0
  279. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/early_stop.py +0 -0
  280. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/evaluation.py +0 -0
  281. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/experiment.py +0 -0
  282. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/overrides.py +0 -0
  283. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/run_limits.py +0 -0
  284. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/task_loader.py +0 -0
  285. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestrator.py +0 -0
  286. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/path_utils.py +0 -0
  287. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/plugins.py +0 -0
  288. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/py.typed +0 -0
  289. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/reports.py +0 -0
  290. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/reports_experiment.py +0 -0
  291. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/reports_html.py +0 -0
  292. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/reports_junit.py +0 -0
  293. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/reports_stats.py +0 -0
  294. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/resources/__init__.py +0 -0
  295. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/resources/default_ignore_patterns.yaml +0 -0
  296. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/resources/tags.yaml +0 -0
  297. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/sandbox.py +0 -0
  298. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/__init__.py +0 -0
  299. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/ast_similarity.py +0 -0
  300. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/complexity.py +0 -0
  301. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/quality.py +0 -0
  302. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/signature_similarity.py +0 -0
  303. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/similarity.py +0 -0
  304. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/token_similarity.py +0 -0
  305. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/simulation/__init__.py +0 -0
  306. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/simulation/termination.py +0 -0
  307. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/simulation/user_simulator.py +0 -0
  308. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/streaming/__init__.py +0 -0
  309. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/streaming/callbacks.py +0 -0
  310. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/streaming/collector.py +0 -0
  311. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/streaming/events.py +0 -0
  312. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/streaming/renderers.py +0 -0
  313. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/streaming/wire.py +0 -0
  314. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/telemetry.py +0 -0
  315. {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/utils.py +0 -0
  316. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/README.md +0 -0
  317. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agentless_smoke_test.yaml +0 -0
  318. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/antigravity_hello_world.yaml +0 -0
  319. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/antigravity_hello_world_docker.yaml +0 -0
  320. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/claude_hello_world.yaml +0 -0
  321. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/claude_hello_world_docker.yaml +0 -0
  322. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/claude_parallel_single_gen.yaml +0 -0
  323. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/claude_subagent_test.yaml +0 -0
  324. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_disallowed_tools_test.yaml +0 -0
  325. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_hello_world.yaml +0 -0
  326. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_parallel_commands.yaml +0 -0
  327. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_parallel_single_gen.yaml +0 -0
  328. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_skills_test.yaml +0 -0
  329. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_string_utils.yaml +0 -0
  330. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_subagent_test.yaml +0 -0
  331. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/subagent_bash_long_input.yaml +0 -0
  332. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/subagent_merge_sort.yaml +0 -0
  333. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/anti_cheat_reference/anti_cheat_reference.yaml +0 -0
  334. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/anti_cheat_reference/reference/solution.py +0 -0
  335. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/byod_smoke_test.yaml +0 -0
  336. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dataset_example.yaml +0 -0
  337. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/datasets/sentiment.jsonl +0 -0
  338. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dockerfile_build_example/dockerfile_build_example.yaml +0 -0
  339. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dockerfile_build_example/environment/Dockerfile +0 -0
  340. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dockerfile_build_example/environment/Dockerfile.workdir +0 -0
  341. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dockerfile_build_example/environment/input.txt +0 -0
  342. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dockerfile_build_example/working_dir_auto_example.yaml +0 -0
  343. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dockerfile_build_example/working_dir_concrete_example.yaml +0 -0
  344. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/early_stop_decision_budget_exceeded.yaml +0 -0
  345. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/early_stop_weighted_high_weight_kills_run.yaml +0 -0
  346. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/early_stop_weighted_low_weight_absorbed.yaml +0 -0
  347. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/fibonacci_with_template.yaml +0 -0
  348. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/hello_date.yaml +0 -0
  349. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/inline_starter_example.yaml +0 -0
  350. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/internal/session_resumption.yaml +0 -0
  351. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/mock_path_dirs_smoke.yaml +0 -0
  352. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/mock_path_dirs_template_dir/mock-cli-bins/README.md +0 -0
  353. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/echo_args +0 -0
  354. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/fixtures/config.json +0 -0
  355. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/say_hello +0 -0
  356. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/mock_path_dirs_template_dir/task.yaml +0 -0
  357. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/opencode_smoke_test.yaml +0 -0
  358. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/python_cli_simulated_judged/echo_simulated_judged.yaml +0 -0
  359. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/run_limits/max_turns_cap.yaml +0 -0
  360. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/run_limits/turn_timeout.yaml +0 -0
  361. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/3d-scan-calc/3d-scan-calc.yaml +0 -0
  362. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/3d-scan-calc/environment/Dockerfile +0 -0
  363. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/3d-scan-calc/environment/material_density_table.md +0 -0
  364. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/3d-scan-calc/environment/scan_data.stl +0 -0
  365. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/3d-scan-calc/verifier/test.sh +0 -0
  366. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/3d-scan-calc/verifier/test_outputs.py +0 -0
  367. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/README.md +0 -0
  368. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/court-form-filling/court-form-filling.yaml +0 -0
  369. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/court-form-filling/environment/Dockerfile +0 -0
  370. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/court-form-filling/environment/sc100-blank.pdf +0 -0
  371. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/court-form-filling/verifier/test.sh +0 -0
  372. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/court-form-filling/verifier/test_outputs.py +0 -0
  373. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/dialogue-parser/dialogue-parser.yaml +0 -0
  374. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/dialogue-parser/environment/Dockerfile +0 -0
  375. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/dialogue-parser/environment/script.txt +0 -0
  376. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/dialogue-parser/verifier/test.sh +0 -0
  377. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/dialogue-parser/verifier/test_outputs.py +0 -0
  378. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/sentiment_classification.yaml +0 -0
  379. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_agent_judge.yaml +0 -0
  380. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_budget_exceeded.yaml +0 -0
  381. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_cost_budget_exceeded.yaml +0 -0
  382. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_llm_judge.yaml +0 -0
  383. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_negative_path.yaml +0 -0
  384. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_task_timeout.yaml +0 -0
  385. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_variants.yaml +0 -0
  386. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/test_sandbox.yaml +0 -0
  387. {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/token_check.yaml +0 -0
  388. {coder_eval-0.11.5 → coder_eval-0.11.7}/templates/byod_smoke_test/Dockerfile +0 -0
  389. {coder_eval-0.11.5 → coder_eval-0.11.7}/templates/fibonacci-starter/README.md +0 -0
  390. {coder_eval-0.11.5 → coder_eval-0.11.7}/templates/fibonacci-starter/src/main.py +0 -0
  391. {coder_eval-0.11.5 → coder_eval-0.11.7}/templates/fibonacci-starter/tests/test_main.py +0 -0
  392. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/__init__.py +0 -0
  393. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/__init__.py +0 -0
  394. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/__init__.py +0 -0
  395. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/_scrub.py +0 -0
  396. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/claude_fixtures.py +0 -0
  397. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/codex_fixtures.py +0 -0
  398. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_a_single_text_turn.json +0 -0
  399. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_b_tool_use_result.json +0 -0
  400. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_c_multi_emission_delta.json +0 -0
  401. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_d_subagent_terminal.json +0 -0
  402. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_e_model_usage_and_backfill.json +0 -0
  403. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_f_orphaned_tool.json +0 -0
  404. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_g_crash_format_placeholder.json +0 -0
  405. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_h1_timeout_process_error.json +0 -0
  406. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_h2_process_error_crash.json +0 -0
  407. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_i_in_loop_deadline_break.json +0 -0
  408. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_a_agent_message_only.json +0 -0
  409. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_b_command_execution.json +0 -0
  410. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_c_reasoning_placeholder.json +0 -0
  411. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_d_cross_flush_is_error.json +0 -0
  412. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_e_orphan_tool.json +0 -0
  413. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_f_collab_fallback.json +0 -0
  414. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_g_items_rebuild.json +0 -0
  415. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_h_no_turn_completed_crash.json +0 -0
  416. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/live_criteria.py +0 -0
  417. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/__init__.py +0 -0
  418. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/_snapshot.py +0 -0
  419. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/experiment_2variant.md +0 -0
  420. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/experiment_3variant.md +0 -0
  421. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/experiment_replicates.md +0 -0
  422. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/run_full.md +0 -0
  423. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/run_minimal.md +0 -0
  424. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_path_helpers.py +0 -0
  425. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/conftest.py +0 -0
  426. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/__init__.py +0 -0
  427. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/byoa_demo_plugin/byoa_demo.py +0 -0
  428. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/byoa_demo_plugin/pyproject.toml +0 -0
  429. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/mock_agent.py +0 -0
  430. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/tasks/test_task_informational_criterion.yaml +0 -0
  431. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/tasks/test_task_multiple_criteria.yaml +0 -0
  432. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/tasks/test_task_pass.yaml +0 -0
  433. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/text_stub_agent.py +0 -0
  434. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/__init__.py +0 -0
  435. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/action_docs.py +0 -0
  436. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/dead_config_fields.py +0 -0
  437. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/doc_env_parity.py +0 -0
  438. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/doc_examples.py +0 -0
  439. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/doc_indexes.py +0 -0
  440. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/doc_schema_parity.py +0 -0
  441. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/generated.py +0 -0
  442. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/live_verdict_contract.py +0 -0
  443. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/plugin_manifest_parity.py +0 -0
  444. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/plugin_reference.py +0 -0
  445. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/pyright_config.py +0 -0
  446. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/__init__.py +0 -0
  447. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/base.py +0 -0
  448. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce014_merge_strategy_declared.py +0 -0
  449. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce015_create_subprocess_limit.py +0 -0
  450. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce016_no_computed_tokenusage_kwargs.py +0 -0
  451. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce017_models_lazy_agent_imports.py +0 -0
  452. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce018_no_final_status_name_denylist.py +0 -0
  453. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce019_telemetry_non_fatal.py +0 -0
  454. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce020_no_sdk_typed_base_agent_fields.py +0 -0
  455. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce021_guarded_evaluationresult_parse.py +0 -0
  456. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce022_dialog_loop_statement_cap.py +0 -0
  457. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce023_no_proxy_shim_import.py +0 -0
  458. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce024_discriminated_unions.py +0 -0
  459. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce032_criteria_path_seam.py +0 -0
  460. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce037_no_dead_private_helper.py +0 -0
  461. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce038_acquire_inside_try.py +0 -0
  462. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce039_config_error_escalates.py +0 -0
  463. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce043_no_command_output_truncation.py +0 -0
  464. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce046_env_info_spreads_super.py +0 -0
  465. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_agent_timing_access.py +0 -0
  466. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_blocking_io_in_async.py +0 -0
  467. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_cli_imports_in_core.py +0 -0
  468. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_silent_except.py +0 -0
  469. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_submodule_model_imports.py +0 -0
  470. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_top_level_run_limits_access.py +0 -0
  471. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_transcript_regex_in_eval.py +0 -0
  472. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_type_name_string_dispatch.py +0 -0
  473. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/open_explicit_encoding.py +0 -0
  474. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/read_text_explicit_encoding.py +0 -0
  475. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/register_criterion_required.py +0 -0
  476. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/subprocess_run_explicit_encoding.py +0 -0
  477. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/yaml_models_forbid_extras.py +0 -0
  478. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/runner.py +0 -0
  479. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/violation.py +0 -0
  480. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/workflow_outputs.py +0 -0
  481. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_action_version_pin.py +0 -0
  482. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent.py +0 -0
  483. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_config_no_timing_fields.py +0 -0
  484. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_config_optional_type.py +0 -0
  485. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_config_registry_dispatch.py +0 -0
  486. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_config_sdk_decoupling.py +0 -0
  487. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_golden_master.py +0 -0
  488. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_judge_criterion.py +0 -0
  489. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_telemetry.py +0 -0
  490. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_telemetry_advanced.py +0 -0
  491. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_timeout.py +0 -0
  492. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agentless.py +0 -0
  493. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_aggregate.py +0 -0
  494. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_byoa_plugin.py +0 -0
  495. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_byoa_plugin_live.py +0 -0
  496. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_byod_feature.py +0 -0
  497. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_check_all_async.py +0 -0
  498. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_checker_logging.py +0 -0
  499. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_classification_match.py +0 -0
  500. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cleanup_preservation_guard.py +0 -0
  501. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_backend_flag.py +0 -0
  502. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_called_criterion.py +0 -0
  503. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_empty_glob.py +0 -0
  504. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_sdk_options.py +0 -0
  505. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_set_overrides.py +0 -0
  506. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_telemetry.py +0 -0
  507. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_type_flag.py +0 -0
  508. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_code_review_bugs.py +0 -0
  509. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_codex_agent.py +0 -0
  510. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_codex_agent_live.py +0 -0
  511. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_codex_agent_unit.py +0 -0
  512. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_codex_token_mapping.py +0 -0
  513. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_command_executed.py +0 -0
  514. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_command_statistics.py +0 -0
  515. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_command_telemetry_result_data.py +0 -0
  516. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_commands_efficiency.py +0 -0
  517. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_config_lineage.py +0 -0
  518. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_config_merge_engine.py +0 -0
  519. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_config_precedence.py +0 -0
  520. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_continuous_scoring.py +0 -0
  521. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_criterion_result_round_trip.py +0 -0
  522. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_dataset_expansion.py +0 -0
  523. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_debug_logging.py +0 -0
  524. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_build_failure.py +0 -0
  525. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_litellm_env.py +0 -0
  526. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_runner_container_death.py +0 -0
  527. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_runner_mounts.py +0 -0
  528. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_runner_stream_limit.py +0 -0
  529. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_wildcard_env.py +0 -0
  530. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_workdir_live.py +0 -0
  531. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_driver_resolver.py +0 -0
  532. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_early_stop.py +0 -0
  533. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_error_handling.py +0 -0
  534. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_evaluate_command.py +0 -0
  535. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_evaluator.py +0 -0
  536. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_event_collector.py +0 -0
  537. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_experiment_cli.py +0 -0
  538. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_experiment_loader.py +0 -0
  539. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_experiment_models.py +0 -0
  540. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_experiment_reports.py +0 -0
  541. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_experiment_resolver.py +0 -0
  542. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_experiment_runner.py +0 -0
  543. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_file_check.py +0 -0
  544. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_file_contains_scoring.py +0 -0
  545. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_formatting.py +0 -0
  546. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_git_clone_failure.py +0 -0
  547. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_glob_paths_in_file_criteria.py +0 -0
  548. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_heartbeat_watchdog.py +0 -0
  549. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_ignore_patterns_negation.py +0 -0
  550. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_image_from_dockerfiles.py +0 -0
  551. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_integration.py +0 -0
  552. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_json_check.py +0 -0
  553. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_anthropic.py +0 -0
  554. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_bedrock.py +0 -0
  555. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_burn_in_live.py +0 -0
  556. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_context_builder.py +0 -0
  557. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_litellm.py +0 -0
  558. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_models.py +0 -0
  559. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_persistence.py +0 -0
  560. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_lint_no_top_level_run_limits.py +0 -0
  561. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_lint_runner.py +0 -0
  562. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_litellm_config.py +0 -0
  563. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_litellm_cost.py +0 -0
  564. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_litellm_cost_logger.py +0 -0
  565. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_litellm_judge_live.py +0 -0
  566. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_litellm_route.py +0 -0
  567. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_llm_judge_criterion.py +0 -0
  568. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_log_tail_buffer.py +0 -0
  569. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_logging.py +0 -0
  570. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_logging_isolation.py +0 -0
  571. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_merge_characterization.py +0 -0
  572. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_merge_strategy_annotations.py +0 -0
  573. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_merge_unification.py +0 -0
  574. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_models.py +0 -0
  575. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_mutations.py +0 -0
  576. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_new_criteria.py +0 -0
  577. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_node_env_config.py +0 -0
  578. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_opencode_agent.py +0 -0
  579. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_optional_dependencies.py +0 -0
  580. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_orchestrator.py +0 -0
  581. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_orchestrator_error_log_tail.py +0 -0
  582. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_orchestrator_telemetry.py +0 -0
  583. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_overrides_engine.py +0 -0
  584. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_parallel.py +0 -0
  585. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_path_utils.py +0 -0
  586. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_plan_command.py +0 -0
  587. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_plugin_processing.py +0 -0
  588. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_plugins.py +0 -0
  589. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_post_run.py +0 -0
  590. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_pr_review_workflow.py +0 -0
  591. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_pre_run.py +0 -0
  592. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_preservation_mode.py +0 -0
  593. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_pricing_registry.py +0 -0
  594. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reference_comparison_scoring.py +0 -0
  595. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reference_evaluator.py +0 -0
  596. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reference_missing_file.py +0 -0
  597. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reference_models.py +0 -0
  598. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reference_permissions.py +0 -0
  599. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_registry.py +0 -0
  600. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_release_notes.py +0 -0
  601. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_replicate_stats.py +0 -0
  602. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_report_command.py +0 -0
  603. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reports.py +0 -0
  604. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reports_experiment.py +0 -0
  605. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reports_html.py +0 -0
  606. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reports_junit.py +0 -0
  607. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reports_stats.py +0 -0
  608. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reports_stats_nonfinite.py +0 -0
  609. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_resolve_task_files.py +0 -0
  610. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_resume.py +0 -0
  611. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_retry_logic_comprehensive.py +0 -0
  612. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_route_seam_exhaustiveness.py +0 -0
  613. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_routing.py +0 -0
  614. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_run_command_junit.py +0 -0
  615. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_run_command_stdout.py +0 -0
  616. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_run_limits_models.py +0 -0
  617. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_run_limits_orchestrator.py +0 -0
  618. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_run_limits_resolver.py +0 -0
  619. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_run_metrics.py +0 -0
  620. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_runtime_tool_versions.py +0 -0
  621. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox.py +0 -0
  622. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox_layer_builder.py +0 -0
  623. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox_optional.py +0 -0
  624. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox_record_cli.py +0 -0
  625. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox_security.py +0 -0
  626. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox_symlink_preservation.py +0 -0
  627. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox_templates.py +0 -0
  628. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_scorers.py +0 -0
  629. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_scoring_quality.py +0 -0
  630. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sdk_option_classification.py +0 -0
  631. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_simulation_config.py +0 -0
  632. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_simulation_integration.py +0 -0
  633. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_simulation_termination.py +0 -0
  634. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_simulation_trials.py +0 -0
  635. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_skill_triggered.py +0 -0
  636. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_agent_integration.py +0 -0
  637. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_batch.py +0 -0
  638. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_callbacks.py +0 -0
  639. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_cli.py +0 -0
  640. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_events.py +0 -0
  641. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_orchestrator.py +0 -0
  642. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_renderers.py +0 -0
  643. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_wire.py +0 -0
  644. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sub_agent_runner.py +0 -0
  645. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_success_criterion_union.py +0 -0
  646. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_suite_rollup.py +0 -0
  647. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_summaries.py +0 -0
  648. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_tags.py +0 -0
  649. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_task_definition_unknown_fields.py +0 -0
  650. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_teardown_interrupt.py +0 -0
  651. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_telemetry.py +0 -0
  652. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_template_env_expansion.py +0 -0
  653. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_threshold_enforcement.py +0 -0
  654. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_timeout_batch.py +0 -0
  655. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_timeout_categorization.py +0 -0
  656. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_timeout_exceptions.py +0 -0
  657. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_timeout_models.py +0 -0
  658. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_timeout_orchestrator.py +0 -0
  659. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_token_usage.py +0 -0
  660. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_uipath_eval.py +0 -0
  661. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_user_simulator.py +0 -0
  662. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_utils.py +0 -0
  663. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_utterance_extraction.py +0 -0
  664. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_variant_prompt_file.py +0 -0
  665. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_verdict_tool.py +0 -0
  666. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_verify_published_workflow.py +0 -0
  667. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_visible_turn_cap.py +0 -0
  668. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_watchdog.py +0 -0
  669. {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_yaml_migration.py +0 -0
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>Coder Eval — evaluate AI coding agents and Claude Code skills</title>
6
+ <title>Coder Eval — evaluate AI coding agents and their skills</title>
7
7
  <!--
8
8
  The description is here for link previews and for anyone reading source,
9
9
  not for ranking: this page is noindex (see below), so search engines will
@@ -12,7 +12,7 @@
12
12
  -->
13
13
  <meta
14
14
  name="description"
15
- content="Coder Eval is an open-source framework for evaluating and benchmarking AI coding agents and Claude Code skills — sandboxed runs of Claude Code, Codex, and Gemini against declarative YAML tasks, with weighted scoring and CI gates. Documentation: coder-eval.com/docs"
15
+ content="Coder Eval is Playwright for coding agents: an open-source, agent-agnostic framework for evaluating and benchmarking AI coding agents and their skills — sandboxed runs of Claude Code, Codex, Antigravity (Gemini), or OpenCode against declarative YAML tasks, with weighted scoring and CI gates. Documentation: coder-eval.com/docs"
16
16
  />
17
17
 
18
18
  <!--
@@ -225,9 +225,10 @@
225
225
  -->
226
226
  <h1 class="sr-only">Coder Eval</h1>
227
227
  <p class="lead">
228
- An open-source framework for evaluating and benchmarking AI coding agents and their Claude
229
- Code skills: it runs a real agent — Claude Code, Codex, or Gemini — in a sandbox against
230
- declarative YAML tasks, then scores the files and commands the agent actually produced.
228
+ <strong>Playwright for coding agents.</strong> An open-source, agent-agnostic framework for
229
+ evaluating and benchmarking AI coding agents and their skills: it runs a real agent — Claude
230
+ Code, Codex, Antigravity (Gemini), or OpenCode in a sandbox against declarative YAML
231
+ tasks, then scores the files and commands the agent actually produced.
231
232
  </p>
232
233
  <p class="notice">
233
234
  The documentation has moved to
@@ -997,22 +997,37 @@ jobs:
997
997
  id: dogfood
998
998
  uses: ./
999
999
  with:
1000
+ # Exercises what tests/test_action_inputs.py cannot: it asserts the argv
1001
+ # both step scripts build, but only a real runner proves that
1002
+ # `working-directory:` works on a composite step and that a plugin
1003
+ # installed via `--with` is discovered at runtime. Hence a relative
1004
+ # run-dir (landing under tasks/), the bare task filename and the `../`
1005
+ # plugin path, all resolved from `working-directory`.
1000
1006
  version: local
1001
- tasks: tasks/hello_date.yaml
1002
- model: claude-haiku-4-5-20251001
1007
+ working-directory: tasks
1003
1008
  run-dir: runs/ci-action-dogfood
1004
- junit-path: runs/ci-action-dogfood/junit.xml
1005
- # Credentials go through the generic env passthrough (the only channel);
1009
+ extra-packages: ../tests/fixtures/byoa_demo_plugin
1010
+ # The bracketed `-D` override is the case one-argv-entry-per-line exists
1011
+ # for: `[...]` is a bash character class, so a whitespace-split input
1012
+ # would collapse the list whenever a file in the cwd matched. It adds
1013
+ # Glob to hello_date.yaml's three tools, so the assertions below can tell
1014
+ # "arrived" from "ignored".
1015
+ args: |
1016
+ hello_date.yaml
1017
+ --model
1018
+ claude-haiku-4-5-20251001
1019
+ -D
1020
+ agent.allowed_tools=[Read,Write,Bash,Glob]
1006
1021
  # ANTHROPIC_API_KEY reaching the run is proven by the API-backed task
1007
- # succeeding. A floor of 0.0 passes for any produced score (exercises
1008
- # the gate path green in CI without flakiness); the second line
1009
- # exercises multi-line env parsing.
1010
- minimum-task-score: "0.0"
1022
+ # succeeding; the second line exercises multi-line env parsing.
1011
1023
  env: |
1012
1024
  ANTHROPIC_API_KEY=${{ secrets.ANTHROPIC_API_KEY }}
1013
1025
  CE_DOGFOOD_MARKER=1
1014
1026
 
1027
+ # In `tasks/` because that is the assertion: `run-dir` is reported exactly as
1028
+ # passed, so a relative one is relative to `working-directory`.
1015
1029
  - name: Verify outputs and JUnit file
1030
+ working-directory: tasks
1016
1031
  env:
1017
1032
  JUNIT: ${{ steps.dogfood.outputs.junit-path }}
1018
1033
  RUNDIR: ${{ steps.dogfood.outputs.run-dir }}
@@ -1023,11 +1038,66 @@ jobs:
1023
1038
  # our writer emits no DTDs/entities) — stdlib ET is fine here.
1024
1039
  python3 -c "import sys, xml.etree.ElementTree as ET; ET.parse(sys.argv[1])" "$JUNIT"
1025
1040
  test -f "$RUNDIR/run.json" || { echo "run.json missing"; exit 1; }
1041
+ # An absolute path would mean working-directory was ignored.
1042
+ case "$RUNDIR" in /*) echo "run-dir output was rewritten to an absolute path: $RUNDIR"; exit 1 ;; esac
1043
+
1044
+ # The action does not touch $GITHUB_STEP_SUMMARY: this is both the assertion
1045
+ # that `run-md-path` is real and the recipe the docs hand consumers.
1046
+ - name: Append the run report to the job summary
1047
+ if: always()
1048
+ working-directory: tasks
1049
+ env:
1050
+ RUN_MD: ${{ steps.dogfood.outputs.run-md-path }}
1051
+ run: |
1052
+ set -euo pipefail
1053
+ test -f "$RUN_MD" || { echo "run-md-path output does not exist: $RUN_MD"; exit 1; }
1054
+ cat "$RUN_MD" >> "$GITHUB_STEP_SUMMARY"
1055
+
1056
+ - name: Verify the plugin was discovered and the bracketed override arrived
1057
+ working-directory: tasks
1058
+ env:
1059
+ RUNDIR: ${{ steps.dogfood.outputs.run-dir }}
1060
+ run: |
1061
+ set -euo pipefail
1062
+
1063
+ # `coder-eval` on PATH is the action's uv tool shim, so this interrogates
1064
+ # its environment: a task naming the fixture's agent kind validates only
1065
+ # if the entry point was discovered there, else plan exits 1 with
1066
+ # "No agent registered for type 'byoa-demo'".
1067
+ cat > byoa-probe.yaml <<'YAML'
1068
+ task_id: "action_extra_packages_probe"
1069
+ description: "Validates only when the byoa-demo plugin is discoverable."
1070
+ initial_prompt: "not executed - plan validates without running an agent"
1071
+ agent:
1072
+ type: "byoa-demo"
1073
+ success_criteria:
1074
+ - type: "file_exists"
1075
+ path: "app.py"
1076
+ description: "not executed"
1077
+ YAML
1078
+ coder-eval plan byoa-probe.yaml
1079
+ rm -f byoa-probe.yaml
1080
+
1081
+ # And the `-D` value survived as a 4-element list, not word-split or
1082
+ # glob-rewritten.
1083
+ RUN_JSON="$RUNDIR/run.json" python3 <<'PY'
1084
+ import json, os, sys
1085
+
1086
+ data = json.load(open(os.environ["RUN_JSON"], encoding="utf-8"))
1087
+ rows = data.get("task_results") or []
1088
+ if not rows:
1089
+ sys.exit("run.json has no task_results to check the -D override against")
1090
+ tools = (rows[0].get("agent_config") or {}).get("allowed_tools")
1091
+ expected = ["Read", "Write", "Bash", "Glob"]
1092
+ if tools != expected:
1093
+ sys.exit(f"-D override did not arrive intact: allowed_tools={tools!r}, expected {expected!r}")
1094
+ print(f"bracketed -D override resolved to {tools!r}")
1095
+ PY
1026
1096
 
1027
1097
  - name: Upload dogfood run on failure
1028
1098
  if: failure()
1029
1099
  uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
1030
1100
  with:
1031
1101
  name: action-dogfood-runs
1032
- path: runs/ci-action-dogfood/
1102
+ path: tasks/runs/ci-action-dogfood/
1033
1103
  retention-days: 7
@@ -359,13 +359,11 @@ jobs:
359
359
  echo "--- task YAML:"; cat tasks/published_smoke.yaml
360
360
 
361
361
  # continue-on-error, because this step's exit code is NOT the gate. The action
362
- # exits with coder-eval's own code (action.yml combines them), and coder-eval
363
- # exits 1 on any failed task -- so a model flake failing `file_exists` would
364
- # redden this workflow even with minimum-task-score at 0.0, which does not
365
- # neutralize that path. This check must answer "does the published action still
366
- # work", not "is the model still good": the verification step below gates on
367
- # ARTIFACTS instead. A genuine model/credential outage still surfaces there, via
368
- # the zero-token assertion.
362
+ # exits with coder-eval's own code, and coder-eval exits 1 on any failed task,
363
+ # so a model flake failing `file_exists` would redden this workflow. This check
364
+ # must answer "does the published action still work", not "is the model still
365
+ # good": the verification step below gates on ARTIFACTS instead. A genuine
366
+ # model/credential outage still surfaces there, via the zero-token assertion.
369
367
  - name: Run the published action
370
368
  id: run
371
369
  continue-on-error: true
@@ -373,11 +371,12 @@ jobs:
373
371
  with:
374
372
  # `version:` intentionally omitted -- the whole point is to exercise the
375
373
  # default pin baked into action.yml at the v0 tag.
376
- tasks: tasks/published_smoke.yaml
377
- model: claude-haiku-4-5-20251001
378
374
  run-dir: runs/verify-published
379
- junit-path: runs/verify-published/junit.xml
380
- minimum-task-score: "0.0"
375
+ # Task path and flags both go through `args` — the action promotes no CLI flag.
376
+ args: |
377
+ tasks/published_smoke.yaml
378
+ --model
379
+ claude-haiku-4-5-20251001
381
380
  env: |
382
381
  ANTHROPIC_API_KEY=${{ secrets.ANTHROPIC_API_KEY }}
383
382
 
@@ -2,6 +2,181 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v0.11.7 (2026-09-08)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **deps**: Bump google-antigravity 0.1.7 -> 0.1.8 (Defender FP on the harness)
10
+ ([#158](https://github.com/UiPath/coder_eval/pull/158),
11
+ [`48a4d53`](https://github.com/UiPath/coder_eval/commit/48a4d5375f5cf0ce12f956ba77cbe4d48e4be543))
12
+
13
+ - **deps**: Bump google-antigravity to 0.1.8 to clear a Defender false positive on the bundled
14
+ harness [PILOT-7463] ([#158](https://github.com/UiPath/coder_eval/pull/158),
15
+ [`48a4d53`](https://github.com/UiPath/coder_eval/commit/48a4d5375f5cf0ce12f956ba77cbe4d48e4be543))
16
+
17
+ - **docs**: Update Antigravity version in docs
18
+ ([#158](https://github.com/UiPath/coder_eval/pull/158),
19
+ [`48a4d53`](https://github.com/UiPath/coder_eval/commit/48a4d5375f5cf0ce12f956ba77cbe4d48e4be543))
20
+
21
+ - **evalboard**: Always show every known harness in the filter
22
+ ([#152](https://github.com/UiPath/coder_eval/pull/152),
23
+ [`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
24
+
25
+ - **evalboard**: Stop counting one model as two in the run header
26
+ ([#152](https://github.com/UiPath/coder_eval/pull/152),
27
+ [`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
28
+
29
+ - **pricing**: Refresh the rate card and add gemini 3.7/3.8 Flash
30
+ ([#155](https://github.com/UiPath/coder_eval/pull/155),
31
+ [`be98f9d`](https://github.com/UiPath/coder_eval/commit/be98f9d4bd02e12482f16cec3a57ab5c54be8149))
32
+
33
+ ### Documentation
34
+
35
+ - Add intro video and make the README agent-agnostic
36
+ ([#157](https://github.com/UiPath/coder_eval/pull/157),
37
+ [`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
38
+
39
+ - Widen the framing past skills-only and guard the agent roster with CE047
40
+ ([#157](https://github.com/UiPath/coder_eval/pull/157),
41
+ [`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
42
+
43
+ - **deps**: Drop the Defender rationale from the antigravity pin comment
44
+ ([#158](https://github.com/UiPath/coder_eval/pull/158),
45
+ [`48a4d53`](https://github.com/UiPath/coder_eval/commit/48a4d5375f5cf0ce12f956ba77cbe4d48e4be543))
46
+
47
+ - **evalboard**: Trim the comments added by this branch
48
+ ([#152](https://github.com/UiPath/coder_eval/pull/152),
49
+ [`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
50
+
51
+ - **pricing**: Trim the rate-card comments to what affects an edit
52
+ ([#155](https://github.com/UiPath/coder_eval/pull/155),
53
+ [`be98f9d`](https://github.com/UiPath/coder_eval/commit/be98f9d4bd02e12482f16cec3a57ab5c54be8149))
54
+
55
+ - **readme**: Add intro video and make the README agent-agnostic
56
+ ([#157](https://github.com/UiPath/coder_eval/pull/157),
57
+ [`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
58
+
59
+ - **readme**: Play the intro video inline, with YouTube as the fallback
60
+ ([#157](https://github.com/UiPath/coder_eval/pull/157),
61
+ [`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
62
+
63
+ - **readme**: Tell viewers to unmute the inline video
64
+ ([#157](https://github.com/UiPath/coder_eval/pull/157),
65
+ [`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
66
+
67
+ - **stub**: Make the Pages stub and package metadata agent-agnostic
68
+ ([#157](https://github.com/UiPath/coder_eval/pull/157),
69
+ [`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
70
+
71
+ - **tutorial**: Stop sending first-timers through the contributor toolchain
72
+ ([#157](https://github.com/UiPath/coder_eval/pull/157),
73
+ [`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
74
+
75
+ ### Features
76
+
77
+ - **evalboard**: Add loading skeletons to the slow routes
78
+ ([#152](https://github.com/UiPath/coder_eval/pull/152),
79
+ [`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
80
+
81
+ ### Performance Improvements
82
+
83
+ - **evalboard**: Cut page load time and show loading state while pages load
84
+ ([#152](https://github.com/UiPath/coder_eval/pull/152),
85
+ [`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
86
+
87
+ - **evalboard**: Move repeated per-row utility classes into the stylesheet
88
+ ([#152](https://github.com/UiPath/coder_eval/pull/152),
89
+ [`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
90
+
91
+ - **evalboard**: Stop re-reading the whole run store on every render
92
+ ([#152](https://github.com/UiPath/coder_eval/pull/152),
93
+ [`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
94
+
95
+
96
+ ## v0.11.6 (2026-09-01)
97
+
98
+ ### Bug Fixes
99
+
100
+ - **action**: Drop the literal expression syntax from a run-step comment
101
+ ([#147](https://github.com/UiPath/coder_eval/pull/147),
102
+ [`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
103
+
104
+ - **action**: Stop the env passthrough mutating the action's own shell
105
+ ([#147](https://github.com/UiPath/coder_eval/pull/147),
106
+ [`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
107
+
108
+ - **docs**: Drop the last references to inputs that no longer exist
109
+ ([#147](https://github.com/UiPath/coder_eval/pull/147),
110
+ [`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
111
+
112
+ - **evalboard**: Even out the variant tiles and keep a task's arms adjacent
113
+ ([#145](https://github.com/UiPath/coder_eval/pull/145),
114
+ [`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
115
+
116
+ - **evalboard**: Resolve a variant-less task link to the task's first arm
117
+ ([#145](https://github.com/UiPath/coder_eval/pull/145),
118
+ [`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
119
+
120
+ ### Documentation
121
+
122
+ - **action**: Trim the comment bulk on the eight-input surface
123
+ ([#147](https://github.com/UiPath/coder_eval/pull/147),
124
+ [`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
125
+
126
+ - **evalboard**: Trim variant commentary and redundant tests
127
+ ([#145](https://github.com/UiPath/coder_eval/pull/145),
128
+ [`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
129
+
130
+ ### Features
131
+
132
+ - **action**: Add working-directory, extras, extra-packages, prerelease and args inputs
133
+ ([#147](https://github.com/UiPath/coder_eval/pull/147),
134
+ [`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
135
+
136
+ - **action**: Refactor github action input surface around args; harden env passthrough
137
+ ([#147](https://github.com/UiPath/coder_eval/pull/147),
138
+ [`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
139
+
140
+ - **evalboard**: Register an unlisted gha source for ad-hoc dispatch runs
141
+ ([#147](https://github.com/UiPath/coder_eval/pull/147),
142
+ [`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
143
+
144
+ - **evalboard**: Render multi-variant runs, one row per (task, arm)
145
+ ([#145](https://github.com/UiPath/coder_eval/pull/145),
146
+ [`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
147
+
148
+ ### Refactoring
149
+
150
+ - **action**: Drop every forwarding input; flags go through args
151
+ ([#147](https://github.com/UiPath/coder_eval/pull/147),
152
+ [`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
153
+
154
+ - **evalboard**: Drop the variant colour palette and the spread helper
155
+ ([#145](https://github.com/UiPath/coder_eval/pull/145),
156
+ [`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
157
+
158
+ - **evalboard**: Report pass rate per arm instead of alongside a blended one
159
+ ([#145](https://github.com/UiPath/coder_eval/pull/145),
160
+ [`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
161
+
162
+ ### Testing
163
+
164
+ - Drop the skip-guard unit test ([#146](https://github.com/UiPath/coder_eval/pull/146),
165
+ [`d679ff2`](https://github.com/UiPath/coder_eval/commit/d679ff2667f2c1e76a5d6384059107be4538c750))
166
+
167
+ - Skip the enforcement live tests when the agent declines to try
168
+ ([#146](https://github.com/UiPath/coder_eval/pull/146),
169
+ [`d679ff2`](https://github.com/UiPath/coder_eval/commit/d679ff2667f2c1e76a5d6384059107be4538c750))
170
+
171
+ - **action**: Record stub argv from bash so Windows argv is byte-exact
172
+ ([#147](https://github.com/UiPath/coder_eval/pull/147),
173
+ [`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
174
+
175
+ - **action**: Stop Git Bash rewriting the absolute path in the install-spec tests
176
+ ([#147](https://github.com/UiPath/coder_eval/pull/147),
177
+ [`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
178
+
179
+
5
180
  ## v0.11.5 (2026-08-28)
6
181
 
7
182
  ### Bug Fixes
@@ -216,7 +216,7 @@ make plugin-reference # the plugin's bundled criteria reference from the models
216
216
 
217
217
  Editing `src/coder_eval/pricing.py` means editing `evalboard/lib/pricing.ts` too — it is a hand-copied mirror, and `evalboard/lib/__tests__/pricing-parity.test.ts` fails the build on drift in either direction.
218
218
 
219
- Recent additions, each traceable to a shipped defect: **CE037** (no unreferenced module-level private helper in `src/` — a helper whose docstring documents a bug the live code still has is worse than none), **CE038** (in an `@asynccontextmanager`, the acquire must sit INSIDE the `try` whose `finally` releases it — `asyncio.shield` protects the inner task, NOT the await, so a cancel on `__aenter__` skips the unwind while the work completes), **CE039** (a criterion checker must not return a gating `score=0.0` from an `except OSError` over a path the *task author* named — that books an eval-config error as an agent failure; raise `CheckerMisuseError` instead, and `# noqa: CE039` the cases that really are the agent's).
219
+ Recent additions, each traceable to a shipped defect: **CE037** (no unreferenced module-level private helper in `src/` — a helper whose docstring documents a bug the live code still has is worse than none), **CE038** (in an `@asynccontextmanager`, the acquire must sit INSIDE the `try` whose `finally` releases it — `asyncio.shield` protects the inner task, NOT the await, so a cancel on `__aenter__` skips the unwind while the work completes), **CE039** (a criterion checker must not return a gating `score=0.0` from an `except OSError` over a path the *task author* named — that books an eval-config error as an agent failure; raise `CheckerMisuseError` instead, and `# noqa: CE039` the cases that really are the agent's), **CE047** (every onboarding/marketing surface — README, `docs/index.md`, `docs/comparison.md`, `docs/llms.txt`, `mkdocs.yml`'s `site_description`, the Pages stub, and pyproject's `description`/`keywords` — must name every built-in `AgentKind`; OpenCode shipped while four of those seven still listed three harnesses, and nothing failed).
220
220
 
221
221
  When fixing a bug, ask: *could a custom lint rule have prevented this?* If the root cause is a mechanically detectable pattern (e.g., "always import from `coder_eval.models`", "never call blocking IO in async"), add a rule to `tests/lint/rules/` following the CE001+ pattern and wire it up in `tests/lint/runner.py`. This turns a one-time fix into permanent enforcement. See `tests/test_custom_lint.py` for how rules are tested. (Doc-surface / whole-tree rules that reason over Markdown/YAML or the entire `src/` tree rather than one `.py` AST at a time — CE026–CE031, CE033–CE036 — are not `BaseRule`s in the runner; they are wired as dedicated `@pytest.mark.lint` test classes. CE036 enforces the `live_verdict` determinism + monotonicity contract (`criteria/base.py`) that `EarlyStopWatcher`'s latching, deferred fail-stop, and flip-attribution silently depend on: monotonicity over arbitrary Python is undecidable, so instead of a static check it REPLAYS each live criterion against every prefix of recorded trajectories (`tests/lint/live_verdict_contract.py::CASES`) — on the authored ordering AND under seeded shuffles (`permuted_violations`, which catch order-sensitive bugs the authored walk misses) — and asserts the property directly, plus registry-derived coverage — every `LiveSuccessCriterion` in the union must have cases, and every polarity its instances claim via `live_decidable_polarities()` must actually be reached by one (otherwise a single always-`undecided` fixture would "cover" a type while proving nothing). Adding a live criterion therefore means adding `ContractCase`s in the same change. CE035 resolves every `steps.<id>.outputs.<key>` / `needs.<job>.outputs.<key>` reference in `.github/workflows/**` to a writer that actually produces that key — GitHub expands an unwritten output to the empty string, so a typo degrades a gate silently and actionlint models `steps.*.outputs` as an open string map. CE034 scans `tasks/` and forces an armed, live-*passable* `command_executed` to set `require_success` — a crashed invocation would otherwise latch a live PASS, fire `on_pass: stop`, and let FIRED-ONLY armed gating report SUCCESS without ever consulting the unarmed criteria (negative assertions are fail-only and are exempt). CE033 keeps the plugin's bundled `reference/criteria.md` in parity with the `SuccessCriterion` union that generates it (`make plugin-reference` writes it; the rule re-renders and diffs — never hand-edit the file). CE031 guards against dead config: a behavior-driving field on `SimulationConfig`/`RunLimits`/`Dataset` that no code reads by name. CE026 keeps the GitHub Action's onboarding surfaces honest — `README.md`, `docs/CI_GATE.md`, `docs/tutorials/02-ci-pipeline.md`, and the plugin's `ci` skill, whose emitted workflow users copy into their own repos: a page's *first* Action snippet must show the agent-runtime prerequisite steps (pinned to the `action-dogfood` job that proves them in CI), a zero-install absolute next to such a snippet must name the channel it means, every `github.com/marketplace/actions/<slug>` link plus the shields badge label must match `action.yml`'s `name:`, and every `with:` key on a snippet's action step must be a real `action.yml` input (GitHub ignores unknown inputs, so a rename would silently degrade every copied workflow). Renaming an action input or changing its runtime prerequisites therefore means updating the skill too.)
222
222