coder-eval 0.12.14__tar.gz → 0.12.15__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 (843) hide show
  1. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/notes/agents.md +68 -1
  2. {coder_eval-0.12.14 → coder_eval-0.12.15}/CHANGELOG.md +44 -0
  3. {coder_eval-0.12.14 → coder_eval-0.12.15}/PKG-INFO +2 -2
  4. {coder_eval-0.12.14 → coder_eval-0.12.15}/action.yml +1 -1
  5. {coder_eval-0.12.14 → coder_eval-0.12.15}/docker/Dockerfile +12 -2
  6. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/agents/CODEX.md +24 -0
  7. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/agents/HARNESS_PARITY.md +12 -0
  8. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/package.json +5 -2
  9. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/pnpm-lock.yaml +219 -186
  10. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/.claude-plugin/plugin.json +1 -1
  11. {coder_eval-0.12.14 → coder_eval-0.12.15}/pyproject.toml +2 -2
  12. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/__init__.py +1 -1
  13. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/codex_agent.py +319 -51
  14. coder_eval-0.12.15/tests/_fixtures/codex_rollouts.py +113 -0
  15. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_codex_agent.py +226 -56
  16. coder_eval-0.12.15/tests/test_codex_agent_unit.py +702 -0
  17. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_image_from_dockerfiles.py +27 -0
  18. {coder_eval-0.12.14 → coder_eval-0.12.15}/uv.lock +212 -157
  19. coder_eval-0.12.14/tests/test_codex_agent_unit.py +0 -350
  20. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/commands/coder-eval-code-review-full.md +0 -0
  21. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/commands/coder-eval-code-review-wf.md +0 -0
  22. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/commands/coder-eval-code-review.md +0 -0
  23. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/commands/coder-eval-create-plan.md +0 -0
  24. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/commands/coder-eval-implement-plan.md +0 -0
  25. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/commands/coder-eval-review.md +0 -0
  26. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/harness-candidates.md +0 -0
  27. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/notes/README.md +0 -0
  28. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/notes/context-window.md +0 -0
  29. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/notes/contracts.md +0 -0
  30. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/notes/isolation.md +0 -0
  31. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/notes/lint-rules.md +0 -0
  32. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/notes/orchestration.md +0 -0
  33. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/notes/permissions.md +0 -0
  34. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/notes/persistence.md +0 -0
  35. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/notes/reporting.md +0 -0
  36. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/notes/timing.md +0 -0
  37. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/shared/axes.md +0 -0
  38. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/shared/multi-model-review.md +0 -0
  39. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/shared/review-rubric.md +0 -0
  40. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/shared/run-layout.md +0 -0
  41. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/workflows/cr-axis.js +0 -0
  42. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude/workflows/cr-parent.js +0 -0
  43. {coder_eval-0.12.14 → coder_eval-0.12.15}/.claude-plugin/marketplace.json +0 -0
  44. {coder_eval-0.12.14 → coder_eval-0.12.15}/.env.example +0 -0
  45. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/CODEOWNERS +0 -0
  46. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/ISSUE_TEMPLATE/adopter.yml +0 -0
  47. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  48. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  49. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/actionlint.yaml +0 -0
  50. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/code_review.md +0 -0
  51. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/dependabot.yml +0 -0
  52. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/pages-stub/index.html +0 -0
  53. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/scripts/diagnose_delegate_token_claims.py +0 -0
  54. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/scripts/harbor_e2e.py +0 -0
  55. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/scripts/release_notes.py +0 -0
  56. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/workflows/claude-pr-review.yml +0 -0
  57. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/workflows/codeql.yml +0 -0
  58. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/workflows/conventional-commits.yml +0 -0
  59. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/workflows/docker-publish.yml +0 -0
  60. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/workflows/docs.yml +0 -0
  61. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/workflows/harbor-e2e.yml +0 -0
  62. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/workflows/pr-checks.yml +0 -0
  63. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/workflows/publish-testpypi.yml +0 -0
  64. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/workflows/release.yml +0 -0
  65. {coder_eval-0.12.14 → coder_eval-0.12.15}/.github/workflows/verify-published-action.yml +0 -0
  66. {coder_eval-0.12.14 → coder_eval-0.12.15}/.gitignore +0 -0
  67. {coder_eval-0.12.14 → coder_eval-0.12.15}/.pre-commit-config.yaml +0 -0
  68. {coder_eval-0.12.14 → coder_eval-0.12.15}/.python-version +0 -0
  69. {coder_eval-0.12.14 → coder_eval-0.12.15}/ADOPTERS.md +0 -0
  70. {coder_eval-0.12.14 → coder_eval-0.12.15}/CLAUDE.md +0 -0
  71. {coder_eval-0.12.14 → coder_eval-0.12.15}/CODE_OF_CONDUCT.md +0 -0
  72. {coder_eval-0.12.14 → coder_eval-0.12.15}/CONTRIBUTING.md +0 -0
  73. {coder_eval-0.12.14 → coder_eval-0.12.15}/LICENSE +0 -0
  74. {coder_eval-0.12.14 → coder_eval-0.12.15}/Makefile +0 -0
  75. {coder_eval-0.12.14 → coder_eval-0.12.15}/NOTICE +0 -0
  76. {coder_eval-0.12.14 → coder_eval-0.12.15}/README.md +0 -0
  77. {coder_eval-0.12.14 → coder_eval-0.12.15}/SECURITY.md +0 -0
  78. {coder_eval-0.12.14 → coder_eval-0.12.15}/comparison.md +0 -0
  79. {coder_eval-0.12.14 → coder_eval-0.12.15}/docker/Dockerfile.runtime +0 -0
  80. {coder_eval-0.12.14 → coder_eval-0.12.15}/docker/coder_eval_entrypoint.sh +0 -0
  81. {coder_eval-0.12.14 → coder_eval-0.12.15}/docker/coder_eval_runtime_entrypoint.sh +0 -0
  82. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/AB_EXPERIMENTS.md +0 -0
  83. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/CI_GATE.md +0 -0
  84. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/DATASETS.md +0 -0
  85. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/DIALOG_MODE.md +0 -0
  86. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/DOCKER_ISOLATION.md +0 -0
  87. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/EXTENDING.md +0 -0
  88. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/PLUGIN.md +0 -0
  89. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/REPORT_SCHEMA.md +0 -0
  90. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/TASK_DEFINITION_GUIDE.md +0 -0
  91. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/USER_GUIDE.md +0 -0
  92. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/agents/ANTIGRAVITY.md +0 -0
  93. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/agents/CLAUDE_CODE.md +0 -0
  94. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/agents/DELEGATE.md +0 -0
  95. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/agents/OPENCODE.md +0 -0
  96. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/agents/PI.md +0 -0
  97. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/assets/hero.gif +0 -0
  98. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/comparison.md +0 -0
  99. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/index.md +0 -0
  100. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/llms.txt +0 -0
  101. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/tutorials/01-first-evaluation.md +0 -0
  102. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/tutorials/02-ci-pipeline.md +0 -0
  103. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/tutorials/03-evalboard-local.md +0 -0
  104. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/tutorials/04-writing-a-task.md +0 -0
  105. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/tutorials/05-comparing-models.md +0 -0
  106. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/tutorials/06-use-docker-isolation.md +0 -0
  107. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/tutorials/07-plugin-in-claude-code.md +0 -0
  108. {coder_eval-0.12.14 → coder_eval-0.12.15}/docs/tutorials/README.md +0 -0
  109. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/.gitignore +0 -0
  110. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/README.md +0 -0
  111. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/__tests__/harness-badge.test.tsx +0 -0
  112. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/__tests__/harness-selector.test.tsx +0 -0
  113. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/__tests__/search-box.test.tsx +0 -0
  114. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/__tests__/skeleton.test.tsx +0 -0
  115. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/col-help.tsx +0 -0
  116. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/collapsible-rail.tsx +0 -0
  117. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/harness-badge.tsx +0 -0
  118. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/harness-selector.tsx +0 -0
  119. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/scroll-table.tsx +0 -0
  120. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/search-box.tsx +0 -0
  121. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/skeleton.tsx +0 -0
  122. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/unit-toggle.tsx +0 -0
  123. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_components/version-list.tsx +0 -0
  124. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_lib/__tests__/source-param.test.ts +0 -0
  125. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_lib/source-param.ts +0 -0
  126. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_overview/__tests__/efficiency-charts.test.tsx +0 -0
  127. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_overview/__tests__/harness-legend.test.tsx +0 -0
  128. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_overview/__tests__/harness-series.test.ts +0 -0
  129. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_overview/daily-chart.tsx +0 -0
  130. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_overview/efficiency-charts.tsx +0 -0
  131. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_overview/harness-legend.tsx +0 -0
  132. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_overview/harness-series.ts +0 -0
  133. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_overview/tag-rail.tsx +0 -0
  134. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_overview/turn-budget-chart.tsx +0 -0
  135. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_overview/wall-clock-chart.tsx +0 -0
  136. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/_overview/window-summary.tsx +0 -0
  137. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/api/download/route.ts +0 -0
  138. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/api/file/route.ts +0 -0
  139. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/api/refresh/__tests__/route.test.ts +0 -0
  140. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/api/refresh/route.ts +0 -0
  141. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/error.tsx +0 -0
  142. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/globals.css +0 -0
  143. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/icon.png +0 -0
  144. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/layout.tsx +0 -0
  145. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/loading.tsx +0 -0
  146. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/page.tsx +0 -0
  147. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/path-to-ga/__tests__/task-table.test.tsx +0 -0
  148. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/path-to-ga/page.tsx +0 -0
  149. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/path-to-ga/task-table.tsx +0 -0
  150. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/scribe/page.tsx +0 -0
  151. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/scribe/run-table.tsx +0 -0
  152. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/trends/__tests__/trends-view.test.tsx +0 -0
  153. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/trends/actions.ts +0 -0
  154. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/trends/page.tsx +0 -0
  155. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/trends/trends-view.tsx +0 -0
  156. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/watchlist/__tests__/watchlist-view.test.tsx +0 -0
  157. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/watchlist/page.tsx +0 -0
  158. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/app/watchlist/watchlist-view.tsx +0 -0
  159. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/next-env.d.ts +0 -0
  160. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/next.config.mjs +0 -0
  161. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/postcss.config.mjs +0 -0
  162. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/public/harness/antigravity.png +0 -0
  163. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/public/harness/claude-code.png +0 -0
  164. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/public/harness/codex.png +0 -0
  165. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/public/harness/pi.png +0 -0
  166. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/public/uipath.png +0 -0
  167. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/tailwind.config.ts +0 -0
  168. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/tsconfig.json +0 -0
  169. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/vitest.config.ts +0 -0
  170. {coder_eval-0.12.14 → coder_eval-0.12.15}/evalboard/vitest.setup.ts +0 -0
  171. {coder_eval-0.12.14 → coder_eval-0.12.15}/experiments/default.yaml +0 -0
  172. {coder_eval-0.12.14 → coder_eval-0.12.15}/experiments/early-stop-ab.yaml +0 -0
  173. {coder_eval-0.12.14 → coder_eval-0.12.15}/experiments/model-comparison.yaml +0 -0
  174. {coder_eval-0.12.14 → coder_eval-0.12.15}/experiments/permissions-smoke.yaml +0 -0
  175. {coder_eval-0.12.14 → coder_eval-0.12.15}/experiments/plugin-comparison.yaml +0 -0
  176. {coder_eval-0.12.14 → coder_eval-0.12.15}/experiments/prompt-mutations-example.yaml +0 -0
  177. {coder_eval-0.12.14 → coder_eval-0.12.15}/experiments/smoke_variants.yaml +0 -0
  178. {coder_eval-0.12.14 → coder_eval-0.12.15}/litellm/README.md +0 -0
  179. {coder_eval-0.12.14 → coder_eval-0.12.15}/litellm/cost_logger.py +0 -0
  180. {coder_eval-0.12.14 → coder_eval-0.12.15}/litellm/litellm-config.yaml +0 -0
  181. {coder_eval-0.12.14 → coder_eval-0.12.15}/litellm/start-litellm.sh +0 -0
  182. {coder_eval-0.12.14 → coder_eval-0.12.15}/mkdocs.yml +0 -0
  183. {coder_eval-0.12.14 → coder_eval-0.12.15}/osv-scanner.toml +0 -0
  184. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/README.md +0 -0
  185. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/reference/cli-setup.md +0 -0
  186. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/reference/criteria.md +0 -0
  187. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/reference/repo-layout.md +0 -0
  188. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/reference/run-layout.md +0 -0
  189. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/reference/task-rubric.md +0 -0
  190. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/reference/templates/activation-rows.jsonl +0 -0
  191. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/reference/templates/activation.yaml +0 -0
  192. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/skills/analyze/SKILL.md +0 -0
  193. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/skills/check-skill/SKILL.md +0 -0
  194. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/skills/ci/SKILL.md +0 -0
  195. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/skills/init/SKILL.md +0 -0
  196. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/skills/lint-tasks/SKILL.md +0 -0
  197. {coder_eval-0.12.14 → coder_eval-0.12.15}/plugins/coder-eval/skills/task/SKILL.md +0 -0
  198. {coder_eval-0.12.14 → coder_eval-0.12.15}/scripts/check_commit_msg.sh +0 -0
  199. {coder_eval-0.12.14 → coder_eval-0.12.15}/scripts/timing/corpus/README.md +0 -0
  200. {coder_eval-0.12.14 → coder_eval-0.12.15}/scripts/timing/corpus/antigravity.json +0 -0
  201. {coder_eval-0.12.14 → coder_eval-0.12.15}/scripts/timing/corpus/claude-code.json +0 -0
  202. {coder_eval-0.12.14 → coder_eval-0.12.15}/scripts/timing/corpus/codex.json +0 -0
  203. {coder_eval-0.12.14 → coder_eval-0.12.15}/scripts/timing/corpus/opencode.json +0 -0
  204. {coder_eval-0.12.14 → coder_eval-0.12.15}/scripts/timing/corpus/pi.json +0 -0
  205. {coder_eval-0.12.14 → coder_eval-0.12.15}/scripts/timing/decompose_run.py +0 -0
  206. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/.gitattributes +0 -0
  207. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agent.py +0 -0
  208. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/__init__.py +0 -0
  209. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/_logging.py +0 -0
  210. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/_skills.py +0 -0
  211. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/antigravity_agent.py +0 -0
  212. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/claude_code_agent.py +0 -0
  213. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/delegate/.gitignore +0 -0
  214. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/delegate/package.json +0 -0
  215. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/delegate_agent.py +0 -0
  216. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/noop_agent.py +0 -0
  217. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/opencode_agent.py +0 -0
  218. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/pi_agent.py +0 -0
  219. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/registry.py +0 -0
  220. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/agents/watchdog.py +0 -0
  221. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/analysis.py +0 -0
  222. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/argv_match.py +0 -0
  223. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/__init__.py +0 -0
  224. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/console.py +0 -0
  225. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/evaluate_command.py +0 -0
  226. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/evaluate_target.py +0 -0
  227. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/execute_command.py +0 -0
  228. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/export_command.py +0 -0
  229. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/harbor_command.py +0 -0
  230. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/plan_command.py +0 -0
  231. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/report_command.py +0 -0
  232. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/run_command.py +0 -0
  233. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/run_helpers.py +0 -0
  234. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/run_task_internal_command.py +0 -0
  235. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/cli/utils.py +0 -0
  236. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/config.py +0 -0
  237. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/__init__.py +0 -0
  238. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/_classification_aggregate.py +0 -0
  239. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/agent_judge.py +0 -0
  240. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/base.py +0 -0
  241. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/classification_match.py +0 -0
  242. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/cli_called.py +0 -0
  243. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/command_executed.py +0 -0
  244. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/commands_efficiency.py +0 -0
  245. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/file_check.py +0 -0
  246. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/file_contains.py +0 -0
  247. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/file_exists.py +0 -0
  248. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/file_matches_regex.py +0 -0
  249. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/json_check.py +0 -0
  250. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/llm_judge.py +0 -0
  251. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/reference_comparison.py +0 -0
  252. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/run_command.py +0 -0
  253. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/skill_triggered.py +0 -0
  254. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/system_one_judge.py +0 -0
  255. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/criteria/uipath_eval.py +0 -0
  256. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/durations.py +0 -0
  257. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/errors/__init__.py +0 -0
  258. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/errors/agent.py +0 -0
  259. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/errors/budget.py +0 -0
  260. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/errors/categories.py +0 -0
  261. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/errors/categorization.py +0 -0
  262. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/errors/checker_misuse.py +0 -0
  263. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/errors/executor.py +0 -0
  264. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/errors/judge.py +0 -0
  265. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/errors/reference.py +0 -0
  266. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/errors/retry.py +0 -0
  267. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/errors/timeout.py +0 -0
  268. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/__init__.py +0 -0
  269. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/checker.py +0 -0
  270. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/judge_anthropic.py +0 -0
  271. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/judge_bedrock.py +0 -0
  272. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/judge_context.py +0 -0
  273. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/judge_litellm.py +0 -0
  274. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/judge_models.py +0 -0
  275. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/judge_persistence.py +0 -0
  276. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/judge_system_one.py +0 -0
  277. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/judge_usage.py +0 -0
  278. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/sub_agent.py +0 -0
  279. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/summaries.py +0 -0
  280. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/system_one_scoring.py +0 -0
  281. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/evaluation/verdict_tool.py +0 -0
  282. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/formatting.py +0 -0
  283. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/fs_permissions.py +0 -0
  284. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/harbor/__init__.py +0 -0
  285. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/harbor/agent.py +0 -0
  286. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/harbor/agent_paths.py +0 -0
  287. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/harbor/atif_emit.py +0 -0
  288. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/harbor/atif_hydrate.py +0 -0
  289. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/harbor/atif_models.py +0 -0
  290. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/harbor/experiment_packager.py +0 -0
  291. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/harbor/packager.py +0 -0
  292. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/harbor/portability.py +0 -0
  293. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/harbor/reward.py +0 -0
  294. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/invocation_log.py +0 -0
  295. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/isolation/__init__.py +0 -0
  296. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/isolation/docker_runner.py +0 -0
  297. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/isolation/eval_material.py +0 -0
  298. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/litellm_cost.py +0 -0
  299. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/logging_config.py +0 -0
  300. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/__init__.py +0 -0
  301. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/agent_config.py +0 -0
  302. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/cli_match.py +0 -0
  303. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/container_context.py +0 -0
  304. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/container_paths.py +0 -0
  305. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/criteria.py +0 -0
  306. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/enums.py +0 -0
  307. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/experiment.py +0 -0
  308. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/judge.py +0 -0
  309. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/judge_defaults.py +0 -0
  310. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/limits.py +0 -0
  311. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/merge_strategy.py +0 -0
  312. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/mutations.py +0 -0
  313. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/results.py +0 -0
  314. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/routing.py +0 -0
  315. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/sandbox.py +0 -0
  316. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/system_one.py +0 -0
  317. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/tasks.py +0 -0
  318. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/telemetry.py +0 -0
  319. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/models/templates.py +0 -0
  320. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestration/__init__.py +0 -0
  321. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestration/batch.py +0 -0
  322. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestration/config.py +0 -0
  323. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestration/config_merge.py +0 -0
  324. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestration/early_stop.py +0 -0
  325. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestration/evaluation.py +0 -0
  326. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestration/experiment.py +0 -0
  327. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestration/overrides.py +0 -0
  328. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestration/regrade.py +0 -0
  329. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestration/run_limits.py +0 -0
  330. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestration/run_summary_rebuild.py +0 -0
  331. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestration/task_loader.py +0 -0
  332. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/orchestrator.py +0 -0
  333. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/path_utils.py +0 -0
  334. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/plugins.py +0 -0
  335. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/pricing.py +0 -0
  336. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/py.typed +0 -0
  337. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/reports/__init__.py +0 -0
  338. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/reports/experiment.py +0 -0
  339. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/reports/helpers.py +0 -0
  340. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/reports/html.py +0 -0
  341. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/reports/junit.py +0 -0
  342. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/reports/markdown.py +0 -0
  343. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/resources/__init__.py +0 -0
  344. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/resources/default_ignore_patterns.yaml +0 -0
  345. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/resources/tags.yaml +0 -0
  346. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/result_metrics.py +0 -0
  347. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/run_record.py +0 -0
  348. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/sandbox.py +0 -0
  349. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/scoring/__init__.py +0 -0
  350. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/scoring/ast_similarity.py +0 -0
  351. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/scoring/complexity.py +0 -0
  352. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/scoring/quality.py +0 -0
  353. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/scoring/signature_similarity.py +0 -0
  354. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/scoring/similarity.py +0 -0
  355. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/scoring/token_similarity.py +0 -0
  356. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/simulation/__init__.py +0 -0
  357. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/simulation/termination.py +0 -0
  358. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/simulation/user_simulator.py +0 -0
  359. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/simulation/utterance.py +0 -0
  360. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/stats.py +0 -0
  361. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/streaming/__init__.py +0 -0
  362. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/streaming/callbacks.py +0 -0
  363. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/streaming/collector.py +0 -0
  364. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/streaming/events.py +0 -0
  365. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/streaming/renderers.py +0 -0
  366. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/streaming/wire.py +0 -0
  367. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/telemetry.py +0 -0
  368. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/timing.py +0 -0
  369. {coder_eval-0.12.14 → coder_eval-0.12.15}/src/coder_eval/utils.py +0 -0
  370. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/README.md +0 -0
  371. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agentless_smoke_test.yaml +0 -0
  372. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/antigravity_hello_world.yaml +0 -0
  373. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/antigravity_hello_world_docker.yaml +0 -0
  374. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/claude_hello_world.yaml +0 -0
  375. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/claude_hello_world_docker.yaml +0 -0
  376. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/claude_parallel_single_gen.yaml +0 -0
  377. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/claude_subagent_test.yaml +0 -0
  378. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/codex_disallowed_tools_test.yaml +0 -0
  379. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/codex_hello_world.yaml +0 -0
  380. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/codex_parallel_commands.yaml +0 -0
  381. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/codex_parallel_single_gen.yaml +0 -0
  382. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/codex_skills_test.yaml +0 -0
  383. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/codex_string_utils.yaml +0 -0
  384. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/codex_subagent_test.yaml +0 -0
  385. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/subagent_bash_long_input.yaml +0 -0
  386. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/agents/subagent_merge_sort.yaml +0 -0
  387. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/anti_cheat_reference/anti_cheat_reference.yaml +0 -0
  388. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/anti_cheat_reference/reference/solution.py +0 -0
  389. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/byod_smoke_test.yaml +0 -0
  390. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/dataset_example.yaml +0 -0
  391. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/datasets/sentiment.jsonl +0 -0
  392. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/delegate/fizzbuzz_delegate.yaml +0 -0
  393. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/delegate/hello_date_delegate.yaml +0 -0
  394. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/dockerfile_build_example/dockerfile_build_example.yaml +0 -0
  395. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/dockerfile_build_example/environment/Dockerfile +0 -0
  396. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/dockerfile_build_example/environment/Dockerfile.workdir +0 -0
  397. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/dockerfile_build_example/environment/input.txt +0 -0
  398. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/dockerfile_build_example/working_dir_auto_example.yaml +0 -0
  399. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/dockerfile_build_example/working_dir_concrete_example.yaml +0 -0
  400. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/early_stop_decision_budget_exceeded.yaml +0 -0
  401. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/early_stop_weighted_high_weight_kills_run.yaml +0 -0
  402. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/early_stop_weighted_low_weight_absorbed.yaml +0 -0
  403. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/fibonacci_with_template.yaml +0 -0
  404. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/hello_date.yaml +0 -0
  405. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/inline_starter_example.yaml +0 -0
  406. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/internal/session_resumption.yaml +0 -0
  407. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/mock_path_dirs_smoke.yaml +0 -0
  408. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/mock_path_dirs_template_dir/mock-cli-bins/README.md +0 -0
  409. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/echo_args +0 -0
  410. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/fixtures/config.json +0 -0
  411. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/say_hello +0 -0
  412. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/mock_path_dirs_template_dir/task.yaml +0 -0
  413. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/opencode_smoke_test.yaml +0 -0
  414. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/pi_smoke_test.yaml +0 -0
  415. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/python_cli_simulated_judged/echo_simulated_judged.yaml +0 -0
  416. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/record_cli_responses.yaml +0 -0
  417. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/run_limits/max_turns_cap.yaml +0 -0
  418. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/run_limits/turn_timeout.yaml +0 -0
  419. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/3d-scan-calc/3d-scan-calc.yaml +0 -0
  420. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/3d-scan-calc/environment/Dockerfile +0 -0
  421. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/3d-scan-calc/environment/material_density_table.md +0 -0
  422. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/3d-scan-calc/environment/scan_data.stl +0 -0
  423. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/3d-scan-calc/verifier/test.sh +0 -0
  424. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/3d-scan-calc/verifier/test_outputs.py +0 -0
  425. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/README.md +0 -0
  426. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/court-form-filling/court-form-filling.yaml +0 -0
  427. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/court-form-filling/environment/Dockerfile +0 -0
  428. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/court-form-filling/environment/sc100-blank.pdf +0 -0
  429. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/court-form-filling/verifier/test.sh +0 -0
  430. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/court-form-filling/verifier/test_outputs.py +0 -0
  431. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/dialogue-parser/dialogue-parser.yaml +0 -0
  432. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/dialogue-parser/environment/Dockerfile +0 -0
  433. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/dialogue-parser/environment/script.txt +0 -0
  434. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/dialogue-parser/verifier/test.sh +0 -0
  435. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/samples/skillsbench/dialogue-parser/verifier/test_outputs.py +0 -0
  436. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/sentiment_classification.yaml +0 -0
  437. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/smoke_agent_judge.yaml +0 -0
  438. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/smoke_budget_exceeded.yaml +0 -0
  439. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/smoke_cost_budget_exceeded.yaml +0 -0
  440. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/smoke_llm_judge.yaml +0 -0
  441. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/smoke_negative_path.yaml +0 -0
  442. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/smoke_system_one_judge.yaml +0 -0
  443. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/smoke_task_timeout.yaml +0 -0
  444. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/smoke_variants.yaml +0 -0
  445. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/test_sandbox.yaml +0 -0
  446. {coder_eval-0.12.14 → coder_eval-0.12.15}/tasks/token_check.yaml +0 -0
  447. {coder_eval-0.12.14 → coder_eval-0.12.15}/templates/byod_smoke_test/Dockerfile +0 -0
  448. {coder_eval-0.12.14 → coder_eval-0.12.15}/templates/fibonacci-starter/README.md +0 -0
  449. {coder_eval-0.12.14 → coder_eval-0.12.15}/templates/fibonacci-starter/src/main.py +0 -0
  450. {coder_eval-0.12.14 → coder_eval-0.12.15}/templates/fibonacci-starter/tests/test_main.py +0 -0
  451. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/__init__.py +0 -0
  452. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_bracket_clock.py +0 -0
  453. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_container_contract.py +0 -0
  454. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/__init__.py +0 -0
  455. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/__init__.py +0 -0
  456. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/_scrub.py +0 -0
  457. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/antigravity_fixtures.py +0 -0
  458. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/claude_fixtures.py +0 -0
  459. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/codex_fixtures.py +0 -0
  460. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/delegate_fixtures.py +0 -0
  461. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/antigravity_a_single_text_turn.json +0 -0
  462. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/antigravity_b_tool_call_resolved.json +0 -0
  463. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/antigravity_c_thinking_and_tool_same_generation.json +0 -0
  464. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/antigravity_d_orphaned_tool.json +0 -0
  465. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/antigravity_e_multi_generation.json +0 -0
  466. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/claude_a_single_text_turn.json +0 -0
  467. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/claude_b_tool_use_result.json +0 -0
  468. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/claude_c_multi_emission_delta.json +0 -0
  469. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/claude_d_subagent_terminal.json +0 -0
  470. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/claude_e_model_usage_and_backfill.json +0 -0
  471. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/claude_f_orphaned_tool.json +0 -0
  472. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/claude_g_crash_format_placeholder.json +0 -0
  473. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/claude_h1_timeout_process_error.json +0 -0
  474. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/claude_h2_process_error_crash.json +0 -0
  475. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/claude_i_in_loop_deadline_break.json +0 -0
  476. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/codex_a_agent_message_only.json +0 -0
  477. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/codex_b_command_execution.json +0 -0
  478. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/codex_c_reasoning_placeholder.json +0 -0
  479. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/codex_d_cross_flush_is_error.json +0 -0
  480. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/codex_e_orphan_tool.json +0 -0
  481. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/codex_f_collab_fallback.json +0 -0
  482. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/codex_g_items_rebuild.json +0 -0
  483. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/codex_h_no_turn_completed_crash.json +0 -0
  484. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/delegate_a_tool_call.json +0 -0
  485. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/delegate_b_max_turns_cut.json +0 -0
  486. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/delegate_c_error_frame_crash.json +0 -0
  487. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/delegate_d_orphaned_tool.json +0 -0
  488. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/delegate_e_tool_only_call_crosses_cap.json +0 -0
  489. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/delegate_f_batched_tools_in_sequence.json +0 -0
  490. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/opencode_a_single_text_turn.json +0 -0
  491. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/opencode_b_tool_call_resolved.json +0 -0
  492. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/opencode_c_multi_step_tiling.json +0 -0
  493. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/opencode_d_orphaned_tool.json +0 -0
  494. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/opencode_e_error_after_generation.json +0 -0
  495. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/pi_a_single_text_turn.json +0 -0
  496. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/pi_b_tool_call_resolved.json +0 -0
  497. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/pi_c_multi_turn_tiling.json +0 -0
  498. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/pi_d_orphaned_tool.json +0 -0
  499. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/pi_e_error_after_generation.json +0 -0
  500. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/expected/pi_f_duplicate_turn_end.json +0 -0
  501. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/opencode_fixtures.py +0 -0
  502. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/golden_streams/pi_fixtures.py +0 -0
  503. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/harbor_export_golden/expected/environment/Dockerfile +0 -0
  504. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/harbor_export_golden/expected/environment/docker-compose.yaml +0 -0
  505. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/harbor_export_golden/expected/environment/task.yaml +0 -0
  506. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/harbor_export_golden/expected/instruction.md +0 -0
  507. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/harbor_export_golden/expected/task.toml +0 -0
  508. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/harbor_export_golden/expected/tests/reference/greeting.txt +0 -0
  509. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/harbor_export_golden/expected/tests/task.yaml +0 -0
  510. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/harbor_export_golden/expected/tests/test.sh +0 -0
  511. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/harbor_export_golden/source_task/environment/Dockerfile +0 -0
  512. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/harbor_export_golden/source_task/reference/greeting.txt +0 -0
  513. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/harbor_export_golden/source_task/task.yaml +0 -0
  514. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/live_criteria.py +0 -0
  515. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/report_snapshots/__init__.py +0 -0
  516. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/report_snapshots/_snapshot.py +0 -0
  517. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/report_snapshots/experiment_2variant.md +0 -0
  518. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/report_snapshots/experiment_3variant.md +0 -0
  519. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/report_snapshots/experiment_replicates.md +0 -0
  520. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/report_snapshots/run_full.md +0 -0
  521. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/report_snapshots/run_minimal.md +0 -0
  522. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_fixtures/timing_union_cases.json +0 -0
  523. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/_path_helpers.py +0 -0
  524. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/conftest.py +0 -0
  525. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/fixtures/__init__.py +0 -0
  526. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/fixtures/atif/known_good_trajectory.json +0 -0
  527. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/fixtures/byoa_demo_plugin/byoa_demo.py +0 -0
  528. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/fixtures/byoa_demo_plugin/pyproject.toml +0 -0
  529. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/fixtures/mock_agent.py +0 -0
  530. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/fixtures/pi_happy_stream.jsonl +0 -0
  531. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/fixtures/tasks/test_task_informational_criterion.yaml +0 -0
  532. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/fixtures/tasks/test_task_multiple_criteria.yaml +0 -0
  533. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/fixtures/tasks/test_task_pass.yaml +0 -0
  534. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/fixtures/text_stub_agent.py +0 -0
  535. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/harbor_e2e/fixtures/docker_baseline.yaml +0 -0
  536. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/harbor_e2e/fixtures/llm_judge.yaml +0 -0
  537. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/harbor_e2e/fixtures/template_sources.yaml +0 -0
  538. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/harbor_e2e/fixtures/trajectory_criteria.yaml +0 -0
  539. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/__init__.py +0 -0
  540. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/action_docs.py +0 -0
  541. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/agent_roster_parity.py +0 -0
  542. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/dead_config_fields.py +0 -0
  543. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/doc_env_parity.py +0 -0
  544. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/doc_examples.py +0 -0
  545. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/doc_indexes.py +0 -0
  546. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/doc_schema_parity.py +0 -0
  547. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/generated.py +0 -0
  548. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/live_verdict_contract.py +0 -0
  549. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/plugin_manifest_parity.py +0 -0
  550. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/plugin_reference.py +0 -0
  551. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/pricing_mirror.py +0 -0
  552. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/prose_budget.py +0 -0
  553. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/pyright_config.py +0 -0
  554. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/__init__.py +0 -0
  555. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/_layers.py +0 -0
  556. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/_model_ctor.py +0 -0
  557. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/base.py +0 -0
  558. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce014_merge_strategy_declared.py +0 -0
  559. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce015_create_subprocess_limit.py +0 -0
  560. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce016_no_computed_tokenusage_kwargs.py +0 -0
  561. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce017_models_lazy_agent_imports.py +0 -0
  562. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce018_no_final_status_name_denylist.py +0 -0
  563. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce019_telemetry_non_fatal.py +0 -0
  564. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce020_no_sdk_typed_base_agent_fields.py +0 -0
  565. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce021_guarded_evaluationresult_parse.py +0 -0
  566. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce022_dialog_loop_statement_cap.py +0 -0
  567. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce024_discriminated_unions.py +0 -0
  568. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce032_criteria_path_seam.py +0 -0
  569. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce037_no_dead_private_helper.py +0 -0
  570. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce038_acquire_inside_try.py +0 -0
  571. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce039_config_error_escalates.py +0 -0
  572. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce043_no_command_output_truncation.py +0 -0
  573. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce046_env_info_spreads_super.py +0 -0
  574. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce048_no_in_process_typer_command_call.py +0 -0
  575. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce049_no_score_or_zero.py +0 -0
  576. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce050_no_union_getattr_probe.py +0 -0
  577. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce051_no_driver_override.py +0 -0
  578. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce052_process_lethal_must_be_container_gated.py +0 -0
  579. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce053_run_record_filename_literal.py +0 -0
  580. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce054_env_info_key_round_trip.py +0 -0
  581. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce056_no_container_env_literal.py +0 -0
  582. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce057_sidecar_shim_stdlib_only.py +0 -0
  583. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce058_no_timing_literal.py +0 -0
  584. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce059_generation_window_is_two_reads.py +0 -0
  585. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce060_message_id_declared.py +0 -0
  586. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce061_window_via_close_window.py +0 -0
  587. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce063_no_busy_ms_in_agents.py +0 -0
  588. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce064_turn_bracket_on_the_clock.py +0 -0
  589. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/ce066_no_report_imports_in_core.py +0 -0
  590. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/no_agent_timing_access.py +0 -0
  591. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/no_blocking_io_in_async.py +0 -0
  592. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/no_cli_imports_in_core.py +0 -0
  593. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/no_silent_except.py +0 -0
  594. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/no_submodule_model_imports.py +0 -0
  595. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/no_top_level_run_limits_access.py +0 -0
  596. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/no_transcript_regex_in_eval.py +0 -0
  597. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/no_type_name_string_dispatch.py +0 -0
  598. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/open_explicit_encoding.py +0 -0
  599. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/read_text_explicit_encoding.py +0 -0
  600. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/register_criterion_required.py +0 -0
  601. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/subprocess_run_explicit_encoding.py +0 -0
  602. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/rules/yaml_models_forbid_extras.py +0 -0
  603. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/runner.py +0 -0
  604. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/violation.py +0 -0
  605. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/lint/workflow_outputs.py +0 -0
  606. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_action_inputs.py +0 -0
  607. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_action_version_pin.py +0 -0
  608. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_agent.py +0 -0
  609. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_agent_config_no_timing_fields.py +0 -0
  610. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_agent_config_optional_type.py +0 -0
  611. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_agent_config_registry_dispatch.py +0 -0
  612. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_agent_config_sdk_decoupling.py +0 -0
  613. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_agent_context_window.py +0 -0
  614. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_agent_golden_master.py +0 -0
  615. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_agent_judge_criterion.py +0 -0
  616. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_agent_telemetry.py +0 -0
  617. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_agent_telemetry_advanced.py +0 -0
  618. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_agent_timeout.py +0 -0
  619. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_agentless.py +0 -0
  620. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_antigravity_agent.py +0 -0
  621. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_atif_emit.py +0 -0
  622. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_atif_hydrate.py +0 -0
  623. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_atif_models.py +0 -0
  624. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_byoa_plugin.py +0 -0
  625. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_byoa_plugin_live.py +0 -0
  626. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_byod_feature.py +0 -0
  627. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_check_all_async.py +0 -0
  628. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_checker_logging.py +0 -0
  629. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_classification_match.py +0 -0
  630. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_claude_settings_enforcement_live.py +0 -0
  631. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_cleanup_preservation_guard.py +0 -0
  632. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_cli_backend_flag.py +0 -0
  633. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_cli_called_criterion.py +0 -0
  634. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_cli_empty_glob.py +0 -0
  635. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_cli_match_parity.py +0 -0
  636. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_cli_sdk_options.py +0 -0
  637. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_cli_set_overrides.py +0 -0
  638. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_cli_telemetry.py +0 -0
  639. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_cli_type_flag.py +0 -0
  640. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_code_review_bugs.py +0 -0
  641. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_codex_agent_live.py +0 -0
  642. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_codex_token_mapping.py +0 -0
  643. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_command_executed.py +0 -0
  644. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_command_statistics.py +0 -0
  645. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_command_telemetry_result_data.py +0 -0
  646. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_commands_efficiency.py +0 -0
  647. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_config_lineage.py +0 -0
  648. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_config_merge_engine.py +0 -0
  649. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_config_precedence.py +0 -0
  650. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_container_context.py +0 -0
  651. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_continuous_scoring.py +0 -0
  652. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_cost_accounting_paths.py +0 -0
  653. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_criterion_result_round_trip.py +0 -0
  654. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_custom_lint.py +0 -0
  655. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_dataset_expansion.py +0 -0
  656. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_debug_logging.py +0 -0
  657. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_delegate_agent.py +0 -0
  658. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_delegate_agent_config.py +0 -0
  659. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_delegate_agent_live.py +0 -0
  660. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_delegate_agent_registration.py +0 -0
  661. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_detached_grading_boundaries.py +0 -0
  662. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_detached_grading_guards.py +0 -0
  663. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_docker_build_failure.py +0 -0
  664. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_docker_litellm_env.py +0 -0
  665. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_docker_runner_container_death.py +0 -0
  666. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_docker_runner_mounts.py +0 -0
  667. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_docker_runner_stream_limit.py +0 -0
  668. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_docker_wildcard_env.py +0 -0
  669. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_docker_workdir_live.py +0 -0
  670. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_driver_resolver.py +0 -0
  671. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_durations.py +0 -0
  672. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_early_stop.py +0 -0
  673. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_error_handling.py +0 -0
  674. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_eval_material.py +0 -0
  675. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_evaluate_command.py +0 -0
  676. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_evaluate_format_harbor.py +0 -0
  677. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_evaluate_target.py +0 -0
  678. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_evaluator.py +0 -0
  679. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_event_collector.py +0 -0
  680. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_execute_command.py +0 -0
  681. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_execute_evaluate_loop.py +0 -0
  682. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_execute_format_harbor.py +0 -0
  683. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_experiment_cli.py +0 -0
  684. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_experiment_loader.py +0 -0
  685. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_experiment_models.py +0 -0
  686. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_experiment_reports.py +0 -0
  687. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_experiment_resolver.py +0 -0
  688. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_experiment_runner.py +0 -0
  689. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_file_check.py +0 -0
  690. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_file_contains_scoring.py +0 -0
  691. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_formatting.py +0 -0
  692. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_git_clone_failure.py +0 -0
  693. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_glob_paths_in_file_criteria.py +0 -0
  694. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_harbor_agent.py +0 -0
  695. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_harbor_e2e_fixtures.py +0 -0
  696. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_harbor_experiment_packager.py +0 -0
  697. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_harbor_export_golden.py +0 -0
  698. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_harbor_packager.py +0 -0
  699. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_harbor_portability.py +0 -0
  700. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_harbor_reward.py +0 -0
  701. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_heartbeat_watchdog.py +0 -0
  702. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_ignore_patterns_negation.py +0 -0
  703. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_image_skew_refusal.py +0 -0
  704. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_integration.py +0 -0
  705. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_json_check.py +0 -0
  706. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_judge_anthropic.py +0 -0
  707. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_judge_bedrock.py +0 -0
  708. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_judge_burn_in_live.py +0 -0
  709. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_judge_context_builder.py +0 -0
  710. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_judge_litellm.py +0 -0
  711. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_judge_models.py +0 -0
  712. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_judge_persistence.py +0 -0
  713. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_judge_system_one.py +0 -0
  714. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_lint_no_top_level_run_limits.py +0 -0
  715. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_lint_runner.py +0 -0
  716. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_litellm_config.py +0 -0
  717. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_litellm_cost.py +0 -0
  718. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_litellm_cost_logger.py +0 -0
  719. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_litellm_judge_live.py +0 -0
  720. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_litellm_route.py +0 -0
  721. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_llm_judge_criterion.py +0 -0
  722. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_log_tail_buffer.py +0 -0
  723. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_logging.py +0 -0
  724. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_logging_isolation.py +0 -0
  725. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_merge_characterization.py +0 -0
  726. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_merge_strategy_annotations.py +0 -0
  727. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_merge_unification.py +0 -0
  728. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_models.py +0 -0
  729. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_mutations.py +0 -0
  730. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_new_criteria.py +0 -0
  731. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_node_env_config.py +0 -0
  732. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_opencode_agent.py +0 -0
  733. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_optional_dependencies.py +0 -0
  734. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_orchestrator.py +0 -0
  735. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_orchestrator_error_log_tail.py +0 -0
  736. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_orchestrator_telemetry.py +0 -0
  737. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_overrides_engine.py +0 -0
  738. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_parallel.py +0 -0
  739. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_path_utils.py +0 -0
  740. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_pi_agent.py +0 -0
  741. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_pi_agent_config.py +0 -0
  742. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_pi_smoke_task.py +0 -0
  743. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_plan_command.py +0 -0
  744. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_plugin_processing.py +0 -0
  745. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_plugins.py +0 -0
  746. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_post_run.py +0 -0
  747. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_pr_review_workflow.py +0 -0
  748. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_pre_run.py +0 -0
  749. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_preservation_mode.py +0 -0
  750. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_pricing_mirror.py +0 -0
  751. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_pricing_registry.py +0 -0
  752. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_prose_budget.py +0 -0
  753. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_prose_budget_commands.py +0 -0
  754. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_reference_comparison_scoring.py +0 -0
  755. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_reference_evaluator.py +0 -0
  756. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_reference_missing_file.py +0 -0
  757. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_reference_models.py +0 -0
  758. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_reference_permissions.py +0 -0
  759. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_registry.py +0 -0
  760. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_regrade.py +0 -0
  761. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_release_notes.py +0 -0
  762. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_replicate_stats.py +0 -0
  763. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_report_command.py +0 -0
  764. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_reports.py +0 -0
  765. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_reports_html.py +0 -0
  766. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_reports_junit.py +0 -0
  767. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_reports_package.py +0 -0
  768. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_resolve_task_files.py +0 -0
  769. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_result_metrics.py +0 -0
  770. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_resume.py +0 -0
  771. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_retry_logic_comprehensive.py +0 -0
  772. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_route_seam_exhaustiveness.py +0 -0
  773. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_routing.py +0 -0
  774. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_run_command_junit.py +0 -0
  775. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_run_command_stdout.py +0 -0
  776. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_run_helpers.py +0 -0
  777. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_run_limits_models.py +0 -0
  778. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_run_limits_orchestrator.py +0 -0
  779. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_run_limits_resolver.py +0 -0
  780. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_run_metrics.py +0 -0
  781. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_run_record.py +0 -0
  782. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_run_summary_rebuild.py +0 -0
  783. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_run_task_internal.py +0 -0
  784. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_runtime_tool_versions.py +0 -0
  785. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_sandbox.py +0 -0
  786. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_sandbox_adopt.py +0 -0
  787. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_sandbox_layer_builder.py +0 -0
  788. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_sandbox_optional.py +0 -0
  789. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_sandbox_record_cli.py +0 -0
  790. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_sandbox_security.py +0 -0
  791. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_sandbox_symlink_preservation.py +0 -0
  792. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_sandbox_templates.py +0 -0
  793. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_sandbox_venv_live.py +0 -0
  794. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_scorers.py +0 -0
  795. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_scoring_quality.py +0 -0
  796. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_sdk_option_classification.py +0 -0
  797. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_seed_from_prior_result.py +0 -0
  798. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_simulation_config.py +0 -0
  799. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_simulation_integration.py +0 -0
  800. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_simulation_termination.py +0 -0
  801. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_simulation_trials.py +0 -0
  802. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_skill_triggered.py +0 -0
  803. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_stats.py +0 -0
  804. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_stats_nonfinite.py +0 -0
  805. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_streaming_agent_integration.py +0 -0
  806. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_streaming_batch.py +0 -0
  807. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_streaming_callbacks.py +0 -0
  808. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_streaming_cli.py +0 -0
  809. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_streaming_events.py +0 -0
  810. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_streaming_orchestrator.py +0 -0
  811. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_streaming_renderers.py +0 -0
  812. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_streaming_wire.py +0 -0
  813. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_sub_agent_runner.py +0 -0
  814. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_success_criterion_union.py +0 -0
  815. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_suite_rollup.py +0 -0
  816. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_summaries.py +0 -0
  817. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_system_one_judge.py +0 -0
  818. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_system_one_judge_live.py +0 -0
  819. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_tags.py +0 -0
  820. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_task_definition_unknown_fields.py +0 -0
  821. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_teardown_interrupt.py +0 -0
  822. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_telemetry.py +0 -0
  823. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_template_env_expansion.py +0 -0
  824. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_threshold_enforcement.py +0 -0
  825. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_timeout_batch.py +0 -0
  826. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_timeout_categorization.py +0 -0
  827. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_timeout_exceptions.py +0 -0
  828. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_timeout_models.py +0 -0
  829. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_timeout_orchestrator.py +0 -0
  830. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_timing_close_window.py +0 -0
  831. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_timing_identity_contract.py +0 -0
  832. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_timing_union_parity.py +0 -0
  833. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_token_usage.py +0 -0
  834. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_uipath_eval.py +0 -0
  835. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_ungraded_reporting.py +0 -0
  836. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_user_simulator.py +0 -0
  837. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_utils.py +0 -0
  838. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_utterance_extraction.py +0 -0
  839. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_variant_prompt_file.py +0 -0
  840. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_verdict_tool.py +0 -0
  841. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_verify_published_workflow.py +0 -0
  842. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_watchdog.py +0 -0
  843. {coder_eval-0.12.14 → coder_eval-0.12.15}/tests/test_yaml_migration.py +0 -0
@@ -373,7 +373,8 @@ Codex runs every sub-agent on its own child thread whose events never reach the
373
373
  stream, and that thread persists with *Limited* rollout policy, which drops
374
374
  `commandExecution` events. So neither the live stream nor `thread.read` surfaces the
375
375
  sub-agent's shell commands, and `thread/tokenUsage/updated` only ever reports the PARENT
376
- thread.
376
+ thread. (The commands a code-mode script runs are the exception: they persist as
377
+ `item_completed` records, below.)
377
378
 
378
379
  But the child rollout ALWAYS persists the raw `function_call` / `local_shell_call` /
379
380
  `custom_tool_call` ResponseItems and a `token_count` event with the child's cumulative
@@ -395,6 +396,72 @@ The rollout file can lag the parent's `turn/completed` by a beat (the recorder f
395
396
  a background task), so the lookup polls ~2 s — but bails immediately when
396
397
  `<home>/sessions` does not exist at all, since no flush can ever land there.
397
398
 
399
+ Codex multi-agent v2 moved the spawn off the collab item. A v1 spawn is a
400
+ `collabAgentToolCall` that names the child in `receiver_thread_ids`; a v2 spawn is a
401
+ `subAgentActivity` item with `kind: started`, `id` = the spawn call id and
402
+ `agent_thread_id` = the child, and its `wait` names no child at all. `_tool_item_root`
403
+ maps a `started` item onto the v1 spawn shape where items enter the turn state, so one
404
+ path registers both, and registers a child once: a repeated spawn item would otherwise
405
+ mine the rollout twice and double the child's rows and tokens. The other kinds
406
+ (`completed`, `interrupted`, `interacted`) are notices about a spawned child, dropped
407
+ there, so they neither become rows nor open a parent model call.
408
+
409
+ A child's tool calls come in two shapes. A direct call is a function call, and its output
410
+ header carries the exit code. A code-mode call is a custom tool `exec` whose input is a
411
+ JavaScript script, often several shell calls in a `Promise.all`. Its output tells only
412
+ whether the SCRIPT ran to the end: `tools.exec_command` hands a non-zero exit code back to
413
+ the script and does not throw, so `Script completed` is not a command result. The script
414
+ source is not parsed — a command built from a variable or a loop defeats any parser, and
415
+ the source holds no exit code. Instead, while a script runs, Codex writes an
416
+ `item_completed` record per shell command (`CommandExecution`: argv, exit code, output)
417
+ and per patch (`FileChange`), and those records ARE the script's rows, each with its own
418
+ result. A script that left no record stays one `exec` row, not a `Bash` row: its
419
+ JavaScript is not a shell command. The argv's login-shell wrapper (`/bin/zsh -lc <cmd>`)
420
+ is stripped, so a record's row reads like a direct call's.
421
+
422
+ A record names no script, so it goes to the newest script whose source holds its
423
+ command. A command can outlive its script: `tools.exec_command` returns at the call's own
424
+ `yield_time_ms` with a session id, the script ends, and a later script polls the command
425
+ with `tools.write_stdin`. The text match then gives the record to the script that started
426
+ the command, so that script is not also left as an `exec` row that repeats the command.
427
+ The match decodes the source's string escapes and then ignores backslashes. A multi-line
428
+ command is a `"a\nb"` literal in the source but holds real newlines in its record; in a
429
+ recorded 0.147 TUI thread, 3 of 10 such commands outlived their script and, undecoded,
430
+ went to a later one. The source also escapes the backslashes and double quotes that the
431
+ command holds; without ignoring backslashes, no record of a real 0.156.1 Windows e2e child
432
+ matched. A record that matches no source goes to the newest script: dropping it
433
+ would lose a command built from a variable, the miss this recovery exists to prevent,
434
+ while a wrong guess only moves the row to another generation. A record whose id is a
435
+ direct call's is dropped, so a direct call is never counted twice. Seen on real CLI
436
+ 0.156.1 runs, v1 and v2 children alike: the records sit between the script call and its
437
+ output, before the generation's `token_count`, and a 45-second command was polled as
438
+ described. Headless threads through 0.147 (the 0.144 SDK, 0.147 `codex exec`) write no
439
+ `CommandExecution` records, so there a code-mode script stays one `exec` row and its
440
+ commands are not recoverable. The 0.147 TUI and 0.155.1 (the SDK floor) write them, as do
441
+ 0.156.1 and 0.162, on Windows too.
442
+
443
+ A call with no result is `unknown`, never a success, so `require_success` does not credit
444
+ it: an interrupt cut it off, it still ran after its yield time, or `wait` stopped it. The
445
+ abort output is matched whole, so a command that prints `aborted by user` keeps its exit
446
+ code. The `wait` or `write_stdin` call that later returns the result is a row of its own
447
+ and does not change the yielded call: the records already carry each command's exit code,
448
+ so only a yielded script that ran no command, or a direct `exec_command` that a direct
449
+ `write_stdin` polls (no recorded run has one), stays `unknown`. A resuming call stays a
450
+ row because a generation that only resumed would otherwise hold no block, and the recovery
451
+ drops such a generation with its tokens; so each poll is one row, where the parent stream
452
+ records a polled command once. The abort forms come from `abort_message` in
453
+ `core/src/tools/parallel.rs` (only `exec_command` gets the wall time). A script yields
454
+ after `DEFAULT_EXEC_YIELD_TIME_MS` (10 s); about 8% of the scripts in recorded 0.144 to
455
+ 0.147 threads yielded.
456
+
457
+ A spawn with `fork_turns` copies the parent's history, tool calls included, into the head
458
+ of the child's rollout. In a forked rollout (`session_meta` carries `forked_from_id`),
459
+ parsing starts at the first `thread_settings_applied` with the child's thread id, so the
460
+ parent's commands are not credited to the child. A non-forked rollout is parsed whole:
461
+ that event also appears mid-thread on a settings change. A fork without that event is
462
+ also parsed whole, with a warning, so a format change that would credit the parent's
463
+ commands to the child shows in the logs.
464
+
398
465
  The thread-cumulative baseline is the other half. `ThreadTokenUsage.total` counts the whole
399
466
  THREAD, and the Codex thread is created once per task and reused, so by turn N it still
400
467
  carries turns 1..N-1. The orchestrator sums per-turn usages, so handing it the cumulative
@@ -2,6 +2,50 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v0.12.15 (2026-10-21)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **codex**: Match a multi-line command record to its exec script
10
+ ([#227](https://github.com/UiPath/coder_eval/pull/227),
11
+ [`b3242f9`](https://github.com/UiPath/coder_eval/commit/b3242f97540ac743c8c159b479a77bcac05809a7))
12
+
13
+ - **codex**: Read a sub-agent's commands from its rollout records
14
+ ([#227](https://github.com/UiPath/coder_eval/pull/227),
15
+ [`b3242f9`](https://github.com/UiPath/coder_eval/commit/b3242f97540ac743c8c159b479a77bcac05809a7))
16
+
17
+ - **codex**: Recover v2 sub-agent tool calls ([#227](https://github.com/UiPath/coder_eval/pull/227),
18
+ [`b3242f9`](https://github.com/UiPath/coder_eval/commit/b3242f97540ac743c8c159b479a77bcac05809a7))
19
+
20
+ - **deps**: Bump aiohttp 3.14.3 -> 3.14.4 for CVE-2026-111063 and CVE-2026-111064
21
+ ([#227](https://github.com/UiPath/coder_eval/pull/227),
22
+ [`b3242f9`](https://github.com/UiPath/coder_eval/commit/b3242f97540ac743c8c159b479a77bcac05809a7))
23
+
24
+ - **deps**: Bump certifi and virtualenv to clear pip-audit advisories
25
+ ([#232](https://github.com/UiPath/coder_eval/pull/232),
26
+ [`7628641`](https://github.com/UiPath/coder_eval/commit/7628641e42a743dc85dc8299178ea87297bb07e2))
27
+
28
+ - **deps**: Bump mcp 1.28.1 -> 1.30.0 for CVE-2026-59951
29
+ ([#228](https://github.com/UiPath/coder_eval/pull/228),
30
+ [`ea0e436`](https://github.com/UiPath/coder_eval/commit/ea0e436ec736f5bece0ed460f7f4c854de106d96))
31
+
32
+ - **deps**: Bump next to 15.5.28 (Next.js security update, Oct 14 2026)
33
+ ([#226](https://github.com/UiPath/coder_eval/pull/226),
34
+ [`872f857`](https://github.com/UiPath/coder_eval/commit/872f85764ad4f4d07c9b0659ee17941df0a3b9c9))
35
+
36
+ - **deps**: Bump next to patched release (Next.js security update, Oct 14 2026)
37
+ ([#226](https://github.com/UiPath/coder_eval/pull/226),
38
+ [`872f857`](https://github.com/UiPath/coder_eval/commit/872f85764ad4f4d07c9b0659ee17941df0a3b9c9))
39
+
40
+ - **deps**: Pin evalboard sharp to 0.35.5 and clear prod audit findings
41
+ ([#226](https://github.com/UiPath/coder_eval/pull/226),
42
+ [`872f857`](https://github.com/UiPath/coder_eval/commit/872f85764ad4f4d07c9b0659ee17941df0a3b9c9))
43
+
44
+ - **docker**: Pin uv in the agent image — 0.12.11+ copies cross-fs ~40x slower
45
+ ([#209](https://github.com/UiPath/coder_eval/pull/209),
46
+ [`634005d`](https://github.com/UiPath/coder_eval/commit/634005d2f0ee1848d96d08f080e79cf2bd43d56e))
47
+
48
+
5
49
  ## v0.12.14 (2026-10-15)
6
50
 
7
51
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: coder-eval
3
- Version: 0.12.14
3
+ Version: 0.12.15
4
4
  Summary: Evaluate, benchmark, and A/B-test AI coding agents (Claude Code, Codex, Gemini/Antigravity, OpenCode, Pi, Delegate) with sandboxed, reproducible YAML task suites.
5
5
  Project-URL: Homepage, https://coder-eval.com
6
6
  Project-URL: Repository, https://github.com/UiPath/coder_eval
@@ -49,7 +49,7 @@ Requires-Dist: openai-codex>=0.155.1; extra == 'codex'
49
49
  Provides-Extra: dev
50
50
  Requires-Dist: bandit[toml]>=1.9.4; extra == 'dev'
51
51
  Requires-Dist: defusedxml>=0.7.1; extra == 'dev'
52
- Requires-Dist: mcp>=1.28.1; extra == 'dev'
52
+ Requires-Dist: mcp>=1.30.0; extra == 'dev'
53
53
  Requires-Dist: pip-audit>=2.10.0; extra == 'dev'
54
54
  Requires-Dist: pre-commit>=4.5.1; extra == 'dev'
55
55
  Requires-Dist: pyright>=1.1.408; extra == 'dev'
@@ -25,7 +25,7 @@ inputs:
25
25
  version:
26
26
  description: coder-eval version to install from PyPI, or "local" to install from the action checkout
27
27
  required: false
28
- default: "0.12.14" # <-- kept in sync with releases by release.yml
28
+ default: "0.12.15" # <-- kept in sync with releases by release.yml
29
29
  extras:
30
30
  description: >-
31
31
  Comma-separated coder-eval extras (`codex`, `antigravity,litellm`), composed
@@ -42,8 +42,18 @@ RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
42
42
  ARG PI_VERSION=0.87.1
43
43
  RUN npm install -g @earendil-works/pi-coding-agent@${PI_VERSION}
44
44
 
45
- # uv: matches host sandbox.py's `uv venv` + `uv pip install` fast path
46
- RUN curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR=/usr/local/bin sh
45
+ # uv: matches host sandbox.py's `uv venv` + `uv pip install` fast path.
46
+ # Pinned for the same reason as the CLIs above: agents run `uv` themselves
47
+ # (coded-agent / function tasks build a venv in the workspace), so its speed is
48
+ # part of every such task's wall clock. The workspace is a bind mount and uv's
49
+ # cache is not, so uv cannot hardlink and copies every file instead. From 0.12.11
50
+ # that cross-filesystem copy is ~40x slower (146-package `uipath-langchain`
51
+ # install: 0.3s on 0.12.10, 10-14s on 0.12.11/.12/.19/.21; 60-130s on the CI
52
+ # host), and the unpinned install picked it up silently in the 0.12.1 image
53
+ # (2026-09-12, uv 0.12.12). Bump deliberately, after timing an install into a
54
+ # bind-mounted dir.
55
+ ARG UV_VERSION=0.12.10
56
+ RUN curl -LsSf https://astral.sh/uv/${UV_VERSION}/install.sh | env UV_INSTALL_DIR=/usr/local/bin sh
47
57
 
48
58
  WORKDIR /opt/coder_eval
49
59
 
@@ -210,6 +210,30 @@ The agent sets up SKILL.md files (Agent Skills open standard) in `.agents/skills
210
210
  5. Codex CLI auto-discovers skills in `.agents/skills/`
211
211
  6. Removes the copies when the turn ends, so criteria and run artifacts never see them
212
212
 
213
+ ### Sub-agents
214
+
215
+ A sub-agent runs on its own Codex thread, and its tool calls never reach the parent's
216
+ stream. After each turn the agent reads the child's rollout file under
217
+ `$CODEX_HOME/sessions` and records the child's calls as telemetry, nested under the
218
+ spawning `Agent` row. Spawns from multi-agent v1 (`spawnAgent`) and v2
219
+ (`subAgentActivity`) are both recovered.
220
+
221
+ - Each shell command the child ran is one `Bash` row with its own exit code, also when it
222
+ runs longer than its script. A code-mode script that runs several commands gives one row
223
+ per command.
224
+ - A non-zero exit is `result_status: error`. A call that Codex reports with no result is
225
+ `result_status: unknown`: an interrupt stopped it, or it still ran when its tool call
226
+ returned. `command_executed` with `require_success: true` counts neither. A later `wait`
227
+ or `write_stdin` call is a row of its own and does not change that status.
228
+ - Each file the child patched is a `Write` row.
229
+ - A code-mode `exec` script that ran no command and changed no file (for example, one
230
+ that only reads the tool list) is one `exec` row, not a `Bash` row.
231
+ - Headless Codex through 0.147 writes no command records; 0.155.1 (the SDK floor),
232
+ 0.156.1 and 0.162 do. On a CLI without records a code-mode script is one `exec`
233
+ row, and the commands inside it are not recovered.
234
+ - A multi-agent v2 spawn names no model, so the child's generations are priced at the
235
+ parent's model.
236
+
213
237
  ### Async Integration
214
238
 
215
239
  The Codex SDK is synchronous. The agent uses `_run_async()` helper to detect and await coroutines, preserving the async interface.
@@ -531,6 +531,18 @@ what that cell means: measured, but not placeable. On historical codex runs, thi
531
531
  moves ~8 h in aggregate out of Tool exec and into Unaccounted. No built-in agent
532
532
  writes this shape now.
533
533
 
534
+ ## Sub-agent tool calls
535
+
536
+ Only claude-code and codex nest a sub-agent's work under its spawn row
537
+ (`parent_tool_use_id`); the other harnesses record no sub-agent path.
538
+
539
+ | | claude-code | codex |
540
+ |---|---|---|
541
+ | spawn row | `Agent`, with the brief in `description` / `prompt` | `Agent` (`operation: spawnagent`), from a v1 `collabAgentToolCall` or a v2 `subAgentActivity` `started` item; on v2, no prompt (the spawn message is encrypted) and no model |
542
+ | the child's generations | nested live, with the child's real model | nested after the turn, rebuilt from the child's rollout under `$CODEX_HOME/sessions`, priced at the parent's model on v2 |
543
+ | the child's shell commands | one `Bash` row per call, status and `duration_ms` measured live | one `Bash` row per command, with its exit code, rebuilt from the child's rollout (CLI 0.156.1 and later); no `duration_ms`. See [Codex § Sub-agents](CODEX.md#sub-agents) |
544
+ | when the rows exist | during the turn, so live criteria see them | after the turn, so live criteria and `stop_early` do not see them |
545
+
534
546
  ## `max_turns` counts model API calls on every harness
535
547
 
536
548
  One turn is one main-thread model API call, the unit Claude Code's `--max-turns`
@@ -12,7 +12,7 @@
12
12
  "verify": "tsc --noEmit && vitest run && next build"
13
13
  },
14
14
  "dependencies": {
15
- "next": "^15.5.20",
15
+ "next": "^15.5.28",
16
16
  "react": "^19.0.0",
17
17
  "react-dom": "^19.0.0",
18
18
  "react-markdown": "^10.1.0",
@@ -44,7 +44,10 @@
44
44
  "postcss": "^8.5.10",
45
45
  "fast-xml-builder": "^1.1.7",
46
46
  "@babel/core": "^7.29.6",
47
- "uuid": "^11.1.1"
47
+ "uuid": "^11.1.1",
48
+ "sharp": "^0.35.5",
49
+ "nanoid": "^3.3.18",
50
+ "source-map-js": "^1.2.2"
48
51
  }
49
52
  }
50
53
  }