coder-eval 0.11.5__tar.gz → 0.11.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/pages-stub/index.html +6 -5
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/pr-checks.yml +79 -9
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/verify-published-action.yml +10 -11
- {coder_eval-0.11.5 → coder_eval-0.11.7}/CHANGELOG.md +175 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/CLAUDE.md +1 -1
- {coder_eval-0.11.5 → coder_eval-0.11.7}/PKG-INFO +117 -66
- {coder_eval-0.11.5 → coder_eval-0.11.7}/README.md +113 -62
- coder_eval-0.11.7/action.yml +268 -0
- coder_eval-0.11.7/docs/CI_GATE.md +241 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/agents/ANTIGRAVITY.md +1 -1
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/comparison.md +8 -6
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/index.md +23 -19
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/llms.txt +19 -18
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/01-first-evaluation.md +5 -2
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/02-ci-pipeline.md +5 -4
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/README.md +68 -9
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/__tests__/harness-selector.test.tsx +51 -0
- coder_eval-0.11.7/evalboard/app/_components/__tests__/skeleton.test.tsx +97 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/harness-selector.tsx +13 -6
- coder_eval-0.11.7/evalboard/app/_components/skeleton.tsx +171 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/api/download/route.ts +23 -12
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/api/refresh/__tests__/route.test.ts +29 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/api/refresh/route.ts +7 -2
- coder_eval-0.11.7/evalboard/app/globals.css +109 -0
- coder_eval-0.11.7/evalboard/app/loading.tsx +40 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/trends/__tests__/trends-view.test.tsx +5 -3
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/trends/trends-view.tsx +6 -6
- {coder_eval-0.11.5 → coder_eval-0.11.7}/mkdocs.yml +5 -4
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/.claude-plugin/plugin.json +1 -1
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/skills/ci/SKILL.md +48 -50
- {coder_eval-0.11.5 → coder_eval-0.11.7}/pyproject.toml +9 -7
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/__init__.py +1 -1
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/run_helpers.py +21 -8
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/pricing.py +27 -17
- coder_eval-0.11.7/tests/lint/agent_roster_parity.py +117 -0
- coder_eval-0.11.7/tests/test_action_inputs.py +499 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_antigravity_agent.py +2 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_claude_settings_enforcement_live.py +39 -17
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cost_accounting_paths.py +3 -3
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_custom_lint.py +73 -35
- coder_eval-0.11.7/tests/test_run_helpers.py +79 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/uv.lock +8 -8
- coder_eval-0.11.5/action.yml +0 -217
- coder_eval-0.11.5/docs/CI_GATE.md +0 -180
- coder_eval-0.11.5/evalboard/app/globals.css +0 -42
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/commands/coder-eval-code-review-full.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/commands/coder-eval-code-review-wf.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/commands/coder-eval-code-review.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/commands/coder-eval-create-plan.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/commands/coder-eval-implement-plan.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/commands/coder-eval-review.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/harness-candidates.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/shared/axes.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/shared/multi-model-review.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/shared/review-rubric.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/shared/run-layout.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/workflows/cr-axis.js +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude/workflows/cr-parent.js +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.claude-plugin/marketplace.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.env.example +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/CODEOWNERS +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/ISSUE_TEMPLATE/adopter.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/actionlint.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/code_review.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/dependabot.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/scripts/release_notes.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/claude-pr-review.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/codeql.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/conventional-commits.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/docker-publish.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/docs.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/publish-testpypi.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.github/workflows/release.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.gitignore +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.pre-commit-config.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/.python-version +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/ADOPTERS.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/CODE_OF_CONDUCT.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/CONTRIBUTING.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/LICENSE +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/Makefile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/NOTICE +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/SECURITY.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/comparison.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docker/Dockerfile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docker/Dockerfile.runtime +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docker/coder_eval_entrypoint.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docker/coder_eval_runtime_entrypoint.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/AB_EXPERIMENTS.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/DATASETS.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/DIALOG_MODE.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/DOCKER_ISOLATION.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/EXTENDING.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/PLUGIN.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/REPORT_SCHEMA.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/TASK_DEFINITION_GUIDE.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/USER_GUIDE.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/agents/CLAUDE_CODE.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/agents/CODEX.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/agents/HARNESS_PARITY.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/agents/OPENCODE.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/assets/hero.gif +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/03-evalboard-local.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/04-writing-a-task.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/05-comparing-models.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/06-use-docker-isolation.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/07-plugin-in-claude-code.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/docs/tutorials/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/.gitignore +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/__tests__/harness-badge.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/__tests__/search-box.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/col-help.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/collapsible-rail.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/harness-badge.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/scroll-table.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/search-box.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/unit-toggle.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_components/version-list.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_lib/__tests__/source-param.test.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_lib/source-param.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/__tests__/efficiency-charts.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/__tests__/harness-legend.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/__tests__/harness-series.test.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/daily-chart.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/efficiency-charts.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/harness-legend.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/harness-series.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/tag-rail.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/turn-budget-chart.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/wall-clock-chart.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/_overview/window-summary.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/api/file/route.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/error.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/icon.png +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/layout.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/page.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/path-to-ga/__tests__/task-table.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/path-to-ga/page.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/path-to-ga/task-table.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/scribe/page.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/scribe/run-table.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/trends/actions.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/trends/page.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/watchlist/__tests__/watchlist-view.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/watchlist/page.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/app/watchlist/watchlist-view.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/next-env.d.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/next.config.mjs +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/package.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/pnpm-lock.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/postcss.config.mjs +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/public/harness/antigravity.png +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/public/harness/claude-code.png +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/public/harness/codex.png +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/public/uipath.png +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/tailwind.config.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/tsconfig.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/vitest.config.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/evalboard/vitest.setup.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/default.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/early-stop-ab.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/model-comparison.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/permissions-smoke.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/plugin-comparison.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/prompt-mutations-example.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/experiments/smoke_variants.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/litellm/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/litellm/cost_logger.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/litellm/litellm-config.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/litellm/start-litellm.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/osv-scanner.toml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/cli-setup.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/criteria.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/repo-layout.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/run-layout.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/task-rubric.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/templates/activation-rows.jsonl +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/reference/templates/activation.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/skills/analyze/SKILL.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/skills/check-skill/SKILL.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/skills/init/SKILL.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/skills/lint-tasks/SKILL.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/plugins/coder-eval/skills/task/SKILL.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/scripts/check_commit_msg.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/.gitattributes +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/_logging.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/antigravity_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/claude_code_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/codex_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/noop_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/opencode_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/registry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/agents/watchdog.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/analysis.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/aggregate_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/console.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/evaluate_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/plan_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/report_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/run_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/run_task_internal_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/cli/utils.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/_classification_aggregate.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/agent_judge.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/base.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/classification_match.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/cli_called.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/command_executed.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/commands_efficiency.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/file_check.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/file_contains.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/file_exists.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/file_matches_regex.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/json_check.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/llm_judge.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/reference_comparison.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/run_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/skill_triggered.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/criteria/uipath_eval.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/budget.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/categories.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/categorization.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/checker_misuse.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/executor.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/judge.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/reference.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/retry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/errors/timeout.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/checker.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_anthropic.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_bedrock.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_context.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_litellm.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_persistence.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/judge_usage.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/sub_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/summaries.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/evaluation/verdict_tool.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/formatting.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/fs_permissions.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/invocation_log.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/isolation/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/isolation/docker_runner.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/litellm_cost.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/logging_config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/agent_config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/container_paths.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/criteria.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/enums.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/experiment.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/judge.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/judge_defaults.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/limits.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/merge_strategy.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/mutations.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/results.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/routing.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/sandbox.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/tasks.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/telemetry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/models/templates.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/batch.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/config_merge.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/early_stop.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/evaluation.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/experiment.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/overrides.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/run_limits.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestration/task_loader.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/orchestrator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/path_utils.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/plugins.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/py.typed +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/reports.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/reports_experiment.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/reports_html.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/reports_junit.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/reports_stats.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/resources/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/resources/default_ignore_patterns.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/resources/tags.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/sandbox.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/ast_similarity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/complexity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/quality.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/signature_similarity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/similarity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/scoring/token_similarity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/simulation/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/simulation/termination.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/simulation/user_simulator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/streaming/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/streaming/callbacks.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/streaming/collector.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/streaming/events.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/streaming/renderers.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/streaming/wire.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/telemetry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/src/coder_eval/utils.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agentless_smoke_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/antigravity_hello_world.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/antigravity_hello_world_docker.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/claude_hello_world.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/claude_hello_world_docker.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/claude_parallel_single_gen.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/claude_subagent_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_disallowed_tools_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_hello_world.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_parallel_commands.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_parallel_single_gen.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_skills_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_string_utils.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/codex_subagent_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/subagent_bash_long_input.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/agents/subagent_merge_sort.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/anti_cheat_reference/anti_cheat_reference.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/anti_cheat_reference/reference/solution.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/byod_smoke_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dataset_example.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/datasets/sentiment.jsonl +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dockerfile_build_example/dockerfile_build_example.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dockerfile_build_example/environment/Dockerfile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dockerfile_build_example/environment/Dockerfile.workdir +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dockerfile_build_example/environment/input.txt +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dockerfile_build_example/working_dir_auto_example.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/dockerfile_build_example/working_dir_concrete_example.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/early_stop_decision_budget_exceeded.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/early_stop_weighted_high_weight_kills_run.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/early_stop_weighted_low_weight_absorbed.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/fibonacci_with_template.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/hello_date.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/inline_starter_example.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/internal/session_resumption.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/mock_path_dirs_smoke.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/mock_path_dirs_template_dir/mock-cli-bins/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/echo_args +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/fixtures/config.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/say_hello +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/mock_path_dirs_template_dir/task.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/opencode_smoke_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/python_cli_simulated_judged/echo_simulated_judged.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/run_limits/max_turns_cap.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/run_limits/turn_timeout.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/3d-scan-calc/3d-scan-calc.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/3d-scan-calc/environment/Dockerfile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/3d-scan-calc/environment/material_density_table.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/3d-scan-calc/environment/scan_data.stl +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/3d-scan-calc/verifier/test.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/3d-scan-calc/verifier/test_outputs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/court-form-filling/court-form-filling.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/court-form-filling/environment/Dockerfile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/court-form-filling/environment/sc100-blank.pdf +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/court-form-filling/verifier/test.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/court-form-filling/verifier/test_outputs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/dialogue-parser/dialogue-parser.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/dialogue-parser/environment/Dockerfile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/dialogue-parser/environment/script.txt +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/dialogue-parser/verifier/test.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/samples/skillsbench/dialogue-parser/verifier/test_outputs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/sentiment_classification.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_agent_judge.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_budget_exceeded.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_cost_budget_exceeded.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_llm_judge.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_negative_path.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_task_timeout.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/smoke_variants.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/test_sandbox.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tasks/token_check.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/templates/byod_smoke_test/Dockerfile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/templates/fibonacci-starter/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/templates/fibonacci-starter/src/main.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/templates/fibonacci-starter/tests/test_main.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/_scrub.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/claude_fixtures.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/codex_fixtures.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_a_single_text_turn.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_b_tool_use_result.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_c_multi_emission_delta.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_d_subagent_terminal.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_e_model_usage_and_backfill.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_f_orphaned_tool.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_g_crash_format_placeholder.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_h1_timeout_process_error.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_h2_process_error_crash.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/claude_i_in_loop_deadline_break.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_a_agent_message_only.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_b_command_execution.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_c_reasoning_placeholder.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_d_cross_flush_is_error.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_e_orphan_tool.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_f_collab_fallback.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_g_items_rebuild.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/golden_streams/expected/codex_h_no_turn_completed_crash.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/live_criteria.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/_snapshot.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/experiment_2variant.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/experiment_3variant.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/experiment_replicates.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/run_full.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_fixtures/report_snapshots/run_minimal.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/_path_helpers.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/conftest.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/byoa_demo_plugin/byoa_demo.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/byoa_demo_plugin/pyproject.toml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/mock_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/tasks/test_task_informational_criterion.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/tasks/test_task_multiple_criteria.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/tasks/test_task_pass.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/fixtures/text_stub_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/action_docs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/dead_config_fields.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/doc_env_parity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/doc_examples.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/doc_indexes.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/doc_schema_parity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/generated.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/live_verdict_contract.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/plugin_manifest_parity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/plugin_reference.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/pyright_config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/base.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce014_merge_strategy_declared.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce015_create_subprocess_limit.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce016_no_computed_tokenusage_kwargs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce017_models_lazy_agent_imports.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce018_no_final_status_name_denylist.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce019_telemetry_non_fatal.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce020_no_sdk_typed_base_agent_fields.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce021_guarded_evaluationresult_parse.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce022_dialog_loop_statement_cap.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce023_no_proxy_shim_import.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce024_discriminated_unions.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce032_criteria_path_seam.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce037_no_dead_private_helper.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce038_acquire_inside_try.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce039_config_error_escalates.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce043_no_command_output_truncation.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/ce046_env_info_spreads_super.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_agent_timing_access.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_blocking_io_in_async.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_cli_imports_in_core.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_silent_except.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_submodule_model_imports.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_top_level_run_limits_access.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_transcript_regex_in_eval.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/no_type_name_string_dispatch.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/open_explicit_encoding.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/read_text_explicit_encoding.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/register_criterion_required.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/subprocess_run_explicit_encoding.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/rules/yaml_models_forbid_extras.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/runner.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/violation.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/lint/workflow_outputs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_action_version_pin.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_config_no_timing_fields.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_config_optional_type.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_config_registry_dispatch.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_config_sdk_decoupling.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_golden_master.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_judge_criterion.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_telemetry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_telemetry_advanced.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agent_timeout.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_agentless.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_aggregate.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_byoa_plugin.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_byoa_plugin_live.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_byod_feature.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_check_all_async.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_checker_logging.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_classification_match.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cleanup_preservation_guard.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_backend_flag.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_called_criterion.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_empty_glob.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_sdk_options.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_set_overrides.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_telemetry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_cli_type_flag.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_code_review_bugs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_codex_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_codex_agent_live.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_codex_agent_unit.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_codex_token_mapping.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_command_executed.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_command_statistics.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_command_telemetry_result_data.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_commands_efficiency.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_config_lineage.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_config_merge_engine.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_config_precedence.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_continuous_scoring.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_criterion_result_round_trip.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_dataset_expansion.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_debug_logging.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_build_failure.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_litellm_env.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_runner_container_death.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_runner_mounts.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_runner_stream_limit.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_wildcard_env.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_docker_workdir_live.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_driver_resolver.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_early_stop.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_error_handling.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_evaluate_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_evaluator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_event_collector.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_experiment_cli.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_experiment_loader.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_experiment_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_experiment_reports.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_experiment_resolver.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_experiment_runner.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_file_check.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_file_contains_scoring.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_formatting.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_git_clone_failure.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_glob_paths_in_file_criteria.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_heartbeat_watchdog.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_ignore_patterns_negation.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_image_from_dockerfiles.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_integration.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_json_check.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_anthropic.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_bedrock.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_burn_in_live.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_context_builder.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_litellm.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_judge_persistence.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_lint_no_top_level_run_limits.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_lint_runner.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_litellm_config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_litellm_cost.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_litellm_cost_logger.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_litellm_judge_live.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_litellm_route.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_llm_judge_criterion.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_log_tail_buffer.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_logging.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_logging_isolation.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_merge_characterization.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_merge_strategy_annotations.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_merge_unification.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_mutations.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_new_criteria.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_node_env_config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_opencode_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_optional_dependencies.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_orchestrator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_orchestrator_error_log_tail.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_orchestrator_telemetry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_overrides_engine.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_parallel.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_path_utils.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_plan_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_plugin_processing.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_plugins.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_post_run.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_pr_review_workflow.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_pre_run.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_preservation_mode.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_pricing_registry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reference_comparison_scoring.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reference_evaluator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reference_missing_file.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reference_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reference_permissions.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_registry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_release_notes.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_replicate_stats.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_report_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reports.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reports_experiment.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reports_html.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reports_junit.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reports_stats.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_reports_stats_nonfinite.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_resolve_task_files.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_resume.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_retry_logic_comprehensive.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_route_seam_exhaustiveness.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_routing.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_run_command_junit.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_run_command_stdout.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_run_limits_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_run_limits_orchestrator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_run_limits_resolver.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_run_metrics.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_runtime_tool_versions.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox_layer_builder.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox_optional.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox_record_cli.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox_security.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox_symlink_preservation.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sandbox_templates.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_scorers.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_scoring_quality.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sdk_option_classification.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_simulation_config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_simulation_integration.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_simulation_termination.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_simulation_trials.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_skill_triggered.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_agent_integration.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_batch.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_callbacks.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_cli.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_events.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_orchestrator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_renderers.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_streaming_wire.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_sub_agent_runner.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_success_criterion_union.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_suite_rollup.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_summaries.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_tags.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_task_definition_unknown_fields.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_teardown_interrupt.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_telemetry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_template_env_expansion.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_threshold_enforcement.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_timeout_batch.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_timeout_categorization.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_timeout_exceptions.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_timeout_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_timeout_orchestrator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_token_usage.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_uipath_eval.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_user_simulator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_utils.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_utterance_extraction.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_variant_prompt_file.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_verdict_tool.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_verify_published_workflow.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_visible_turn_cap.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_watchdog.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.7}/tests/test_yaml_migration.py +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<title>Coder Eval — evaluate AI coding agents and
|
|
6
|
+
<title>Coder Eval — evaluate AI coding agents and their skills</title>
|
|
7
7
|
<!--
|
|
8
8
|
The description is here for link previews and for anyone reading source,
|
|
9
9
|
not for ranking: this page is noindex (see below), so search engines will
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
-->
|
|
13
13
|
<meta
|
|
14
14
|
name="description"
|
|
15
|
-
content="Coder Eval is an open-source framework for evaluating and benchmarking AI coding agents and
|
|
15
|
+
content="Coder Eval is Playwright for coding agents: an open-source, agent-agnostic framework for evaluating and benchmarking AI coding agents and their skills — sandboxed runs of Claude Code, Codex, Antigravity (Gemini), or OpenCode against declarative YAML tasks, with weighted scoring and CI gates. Documentation: coder-eval.com/docs"
|
|
16
16
|
/>
|
|
17
17
|
|
|
18
18
|
<!--
|
|
@@ -225,9 +225,10 @@
|
|
|
225
225
|
-->
|
|
226
226
|
<h1 class="sr-only">Coder Eval</h1>
|
|
227
227
|
<p class="lead">
|
|
228
|
-
An open-source framework for
|
|
229
|
-
|
|
230
|
-
|
|
228
|
+
<strong>Playwright for coding agents.</strong> An open-source, agent-agnostic framework for
|
|
229
|
+
evaluating and benchmarking AI coding agents and their skills: it runs a real agent — Claude
|
|
230
|
+
Code, Codex, Antigravity (Gemini), or OpenCode — in a sandbox against declarative YAML
|
|
231
|
+
tasks, then scores the files and commands the agent actually produced.
|
|
231
232
|
</p>
|
|
232
233
|
<p class="notice">
|
|
233
234
|
The documentation has moved to
|
|
@@ -997,22 +997,37 @@ jobs:
|
|
|
997
997
|
id: dogfood
|
|
998
998
|
uses: ./
|
|
999
999
|
with:
|
|
1000
|
+
# Exercises what tests/test_action_inputs.py cannot: it asserts the argv
|
|
1001
|
+
# both step scripts build, but only a real runner proves that
|
|
1002
|
+
# `working-directory:` works on a composite step and that a plugin
|
|
1003
|
+
# installed via `--with` is discovered at runtime. Hence a relative
|
|
1004
|
+
# run-dir (landing under tasks/), the bare task filename and the `../`
|
|
1005
|
+
# plugin path, all resolved from `working-directory`.
|
|
1000
1006
|
version: local
|
|
1001
|
-
|
|
1002
|
-
model: claude-haiku-4-5-20251001
|
|
1007
|
+
working-directory: tasks
|
|
1003
1008
|
run-dir: runs/ci-action-dogfood
|
|
1004
|
-
|
|
1005
|
-
#
|
|
1009
|
+
extra-packages: ../tests/fixtures/byoa_demo_plugin
|
|
1010
|
+
# The bracketed `-D` override is the case one-argv-entry-per-line exists
|
|
1011
|
+
# for: `[...]` is a bash character class, so a whitespace-split input
|
|
1012
|
+
# would collapse the list whenever a file in the cwd matched. It adds
|
|
1013
|
+
# Glob to hello_date.yaml's three tools, so the assertions below can tell
|
|
1014
|
+
# "arrived" from "ignored".
|
|
1015
|
+
args: |
|
|
1016
|
+
hello_date.yaml
|
|
1017
|
+
--model
|
|
1018
|
+
claude-haiku-4-5-20251001
|
|
1019
|
+
-D
|
|
1020
|
+
agent.allowed_tools=[Read,Write,Bash,Glob]
|
|
1006
1021
|
# ANTHROPIC_API_KEY reaching the run is proven by the API-backed task
|
|
1007
|
-
# succeeding
|
|
1008
|
-
# the gate path green in CI without flakiness); the second line
|
|
1009
|
-
# exercises multi-line env parsing.
|
|
1010
|
-
minimum-task-score: "0.0"
|
|
1022
|
+
# succeeding; the second line exercises multi-line env parsing.
|
|
1011
1023
|
env: |
|
|
1012
1024
|
ANTHROPIC_API_KEY=${{ secrets.ANTHROPIC_API_KEY }}
|
|
1013
1025
|
CE_DOGFOOD_MARKER=1
|
|
1014
1026
|
|
|
1027
|
+
# In `tasks/` because that is the assertion: `run-dir` is reported exactly as
|
|
1028
|
+
# passed, so a relative one is relative to `working-directory`.
|
|
1015
1029
|
- name: Verify outputs and JUnit file
|
|
1030
|
+
working-directory: tasks
|
|
1016
1031
|
env:
|
|
1017
1032
|
JUNIT: ${{ steps.dogfood.outputs.junit-path }}
|
|
1018
1033
|
RUNDIR: ${{ steps.dogfood.outputs.run-dir }}
|
|
@@ -1023,11 +1038,66 @@ jobs:
|
|
|
1023
1038
|
# our writer emits no DTDs/entities) — stdlib ET is fine here.
|
|
1024
1039
|
python3 -c "import sys, xml.etree.ElementTree as ET; ET.parse(sys.argv[1])" "$JUNIT"
|
|
1025
1040
|
test -f "$RUNDIR/run.json" || { echo "run.json missing"; exit 1; }
|
|
1041
|
+
# An absolute path would mean working-directory was ignored.
|
|
1042
|
+
case "$RUNDIR" in /*) echo "run-dir output was rewritten to an absolute path: $RUNDIR"; exit 1 ;; esac
|
|
1043
|
+
|
|
1044
|
+
# The action does not touch $GITHUB_STEP_SUMMARY: this is both the assertion
|
|
1045
|
+
# that `run-md-path` is real and the recipe the docs hand consumers.
|
|
1046
|
+
- name: Append the run report to the job summary
|
|
1047
|
+
if: always()
|
|
1048
|
+
working-directory: tasks
|
|
1049
|
+
env:
|
|
1050
|
+
RUN_MD: ${{ steps.dogfood.outputs.run-md-path }}
|
|
1051
|
+
run: |
|
|
1052
|
+
set -euo pipefail
|
|
1053
|
+
test -f "$RUN_MD" || { echo "run-md-path output does not exist: $RUN_MD"; exit 1; }
|
|
1054
|
+
cat "$RUN_MD" >> "$GITHUB_STEP_SUMMARY"
|
|
1055
|
+
|
|
1056
|
+
- name: Verify the plugin was discovered and the bracketed override arrived
|
|
1057
|
+
working-directory: tasks
|
|
1058
|
+
env:
|
|
1059
|
+
RUNDIR: ${{ steps.dogfood.outputs.run-dir }}
|
|
1060
|
+
run: |
|
|
1061
|
+
set -euo pipefail
|
|
1062
|
+
|
|
1063
|
+
# `coder-eval` on PATH is the action's uv tool shim, so this interrogates
|
|
1064
|
+
# its environment: a task naming the fixture's agent kind validates only
|
|
1065
|
+
# if the entry point was discovered there, else plan exits 1 with
|
|
1066
|
+
# "No agent registered for type 'byoa-demo'".
|
|
1067
|
+
cat > byoa-probe.yaml <<'YAML'
|
|
1068
|
+
task_id: "action_extra_packages_probe"
|
|
1069
|
+
description: "Validates only when the byoa-demo plugin is discoverable."
|
|
1070
|
+
initial_prompt: "not executed - plan validates without running an agent"
|
|
1071
|
+
agent:
|
|
1072
|
+
type: "byoa-demo"
|
|
1073
|
+
success_criteria:
|
|
1074
|
+
- type: "file_exists"
|
|
1075
|
+
path: "app.py"
|
|
1076
|
+
description: "not executed"
|
|
1077
|
+
YAML
|
|
1078
|
+
coder-eval plan byoa-probe.yaml
|
|
1079
|
+
rm -f byoa-probe.yaml
|
|
1080
|
+
|
|
1081
|
+
# And the `-D` value survived as a 4-element list, not word-split or
|
|
1082
|
+
# glob-rewritten.
|
|
1083
|
+
RUN_JSON="$RUNDIR/run.json" python3 <<'PY'
|
|
1084
|
+
import json, os, sys
|
|
1085
|
+
|
|
1086
|
+
data = json.load(open(os.environ["RUN_JSON"], encoding="utf-8"))
|
|
1087
|
+
rows = data.get("task_results") or []
|
|
1088
|
+
if not rows:
|
|
1089
|
+
sys.exit("run.json has no task_results to check the -D override against")
|
|
1090
|
+
tools = (rows[0].get("agent_config") or {}).get("allowed_tools")
|
|
1091
|
+
expected = ["Read", "Write", "Bash", "Glob"]
|
|
1092
|
+
if tools != expected:
|
|
1093
|
+
sys.exit(f"-D override did not arrive intact: allowed_tools={tools!r}, expected {expected!r}")
|
|
1094
|
+
print(f"bracketed -D override resolved to {tools!r}")
|
|
1095
|
+
PY
|
|
1026
1096
|
|
|
1027
1097
|
- name: Upload dogfood run on failure
|
|
1028
1098
|
if: failure()
|
|
1029
1099
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
1030
1100
|
with:
|
|
1031
1101
|
name: action-dogfood-runs
|
|
1032
|
-
path: runs/ci-action-dogfood/
|
|
1102
|
+
path: tasks/runs/ci-action-dogfood/
|
|
1033
1103
|
retention-days: 7
|
|
@@ -359,13 +359,11 @@ jobs:
|
|
|
359
359
|
echo "--- task YAML:"; cat tasks/published_smoke.yaml
|
|
360
360
|
|
|
361
361
|
# continue-on-error, because this step's exit code is NOT the gate. The action
|
|
362
|
-
# exits with coder-eval's own code
|
|
363
|
-
#
|
|
364
|
-
#
|
|
365
|
-
#
|
|
366
|
-
#
|
|
367
|
-
# ARTIFACTS instead. A genuine model/credential outage still surfaces there, via
|
|
368
|
-
# the zero-token assertion.
|
|
362
|
+
# exits with coder-eval's own code, and coder-eval exits 1 on any failed task,
|
|
363
|
+
# so a model flake failing `file_exists` would redden this workflow. This check
|
|
364
|
+
# must answer "does the published action still work", not "is the model still
|
|
365
|
+
# good": the verification step below gates on ARTIFACTS instead. A genuine
|
|
366
|
+
# model/credential outage still surfaces there, via the zero-token assertion.
|
|
369
367
|
- name: Run the published action
|
|
370
368
|
id: run
|
|
371
369
|
continue-on-error: true
|
|
@@ -373,11 +371,12 @@ jobs:
|
|
|
373
371
|
with:
|
|
374
372
|
# `version:` intentionally omitted -- the whole point is to exercise the
|
|
375
373
|
# default pin baked into action.yml at the v0 tag.
|
|
376
|
-
tasks: tasks/published_smoke.yaml
|
|
377
|
-
model: claude-haiku-4-5-20251001
|
|
378
374
|
run-dir: runs/verify-published
|
|
379
|
-
|
|
380
|
-
|
|
375
|
+
# Task path and flags both go through `args` — the action promotes no CLI flag.
|
|
376
|
+
args: |
|
|
377
|
+
tasks/published_smoke.yaml
|
|
378
|
+
--model
|
|
379
|
+
claude-haiku-4-5-20251001
|
|
381
380
|
env: |
|
|
382
381
|
ANTHROPIC_API_KEY=${{ secrets.ANTHROPIC_API_KEY }}
|
|
383
382
|
|
|
@@ -2,6 +2,181 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v0.11.7 (2026-09-08)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **deps**: Bump google-antigravity 0.1.7 -> 0.1.8 (Defender FP on the harness)
|
|
10
|
+
([#158](https://github.com/UiPath/coder_eval/pull/158),
|
|
11
|
+
[`48a4d53`](https://github.com/UiPath/coder_eval/commit/48a4d5375f5cf0ce12f956ba77cbe4d48e4be543))
|
|
12
|
+
|
|
13
|
+
- **deps**: Bump google-antigravity to 0.1.8 to clear a Defender false positive on the bundled
|
|
14
|
+
harness [PILOT-7463] ([#158](https://github.com/UiPath/coder_eval/pull/158),
|
|
15
|
+
[`48a4d53`](https://github.com/UiPath/coder_eval/commit/48a4d5375f5cf0ce12f956ba77cbe4d48e4be543))
|
|
16
|
+
|
|
17
|
+
- **docs**: Update Antigravity version in docs
|
|
18
|
+
([#158](https://github.com/UiPath/coder_eval/pull/158),
|
|
19
|
+
[`48a4d53`](https://github.com/UiPath/coder_eval/commit/48a4d5375f5cf0ce12f956ba77cbe4d48e4be543))
|
|
20
|
+
|
|
21
|
+
- **evalboard**: Always show every known harness in the filter
|
|
22
|
+
([#152](https://github.com/UiPath/coder_eval/pull/152),
|
|
23
|
+
[`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
|
|
24
|
+
|
|
25
|
+
- **evalboard**: Stop counting one model as two in the run header
|
|
26
|
+
([#152](https://github.com/UiPath/coder_eval/pull/152),
|
|
27
|
+
[`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
|
|
28
|
+
|
|
29
|
+
- **pricing**: Refresh the rate card and add gemini 3.7/3.8 Flash
|
|
30
|
+
([#155](https://github.com/UiPath/coder_eval/pull/155),
|
|
31
|
+
[`be98f9d`](https://github.com/UiPath/coder_eval/commit/be98f9d4bd02e12482f16cec3a57ab5c54be8149))
|
|
32
|
+
|
|
33
|
+
### Documentation
|
|
34
|
+
|
|
35
|
+
- Add intro video and make the README agent-agnostic
|
|
36
|
+
([#157](https://github.com/UiPath/coder_eval/pull/157),
|
|
37
|
+
[`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
|
|
38
|
+
|
|
39
|
+
- Widen the framing past skills-only and guard the agent roster with CE047
|
|
40
|
+
([#157](https://github.com/UiPath/coder_eval/pull/157),
|
|
41
|
+
[`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
|
|
42
|
+
|
|
43
|
+
- **deps**: Drop the Defender rationale from the antigravity pin comment
|
|
44
|
+
([#158](https://github.com/UiPath/coder_eval/pull/158),
|
|
45
|
+
[`48a4d53`](https://github.com/UiPath/coder_eval/commit/48a4d5375f5cf0ce12f956ba77cbe4d48e4be543))
|
|
46
|
+
|
|
47
|
+
- **evalboard**: Trim the comments added by this branch
|
|
48
|
+
([#152](https://github.com/UiPath/coder_eval/pull/152),
|
|
49
|
+
[`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
|
|
50
|
+
|
|
51
|
+
- **pricing**: Trim the rate-card comments to what affects an edit
|
|
52
|
+
([#155](https://github.com/UiPath/coder_eval/pull/155),
|
|
53
|
+
[`be98f9d`](https://github.com/UiPath/coder_eval/commit/be98f9d4bd02e12482f16cec3a57ab5c54be8149))
|
|
54
|
+
|
|
55
|
+
- **readme**: Add intro video and make the README agent-agnostic
|
|
56
|
+
([#157](https://github.com/UiPath/coder_eval/pull/157),
|
|
57
|
+
[`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
|
|
58
|
+
|
|
59
|
+
- **readme**: Play the intro video inline, with YouTube as the fallback
|
|
60
|
+
([#157](https://github.com/UiPath/coder_eval/pull/157),
|
|
61
|
+
[`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
|
|
62
|
+
|
|
63
|
+
- **readme**: Tell viewers to unmute the inline video
|
|
64
|
+
([#157](https://github.com/UiPath/coder_eval/pull/157),
|
|
65
|
+
[`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
|
|
66
|
+
|
|
67
|
+
- **stub**: Make the Pages stub and package metadata agent-agnostic
|
|
68
|
+
([#157](https://github.com/UiPath/coder_eval/pull/157),
|
|
69
|
+
[`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
|
|
70
|
+
|
|
71
|
+
- **tutorial**: Stop sending first-timers through the contributor toolchain
|
|
72
|
+
([#157](https://github.com/UiPath/coder_eval/pull/157),
|
|
73
|
+
[`d715f85`](https://github.com/UiPath/coder_eval/commit/d715f856e32289be068dda7049251486660496ec))
|
|
74
|
+
|
|
75
|
+
### Features
|
|
76
|
+
|
|
77
|
+
- **evalboard**: Add loading skeletons to the slow routes
|
|
78
|
+
([#152](https://github.com/UiPath/coder_eval/pull/152),
|
|
79
|
+
[`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
|
|
80
|
+
|
|
81
|
+
### Performance Improvements
|
|
82
|
+
|
|
83
|
+
- **evalboard**: Cut page load time and show loading state while pages load
|
|
84
|
+
([#152](https://github.com/UiPath/coder_eval/pull/152),
|
|
85
|
+
[`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
|
|
86
|
+
|
|
87
|
+
- **evalboard**: Move repeated per-row utility classes into the stylesheet
|
|
88
|
+
([#152](https://github.com/UiPath/coder_eval/pull/152),
|
|
89
|
+
[`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
|
|
90
|
+
|
|
91
|
+
- **evalboard**: Stop re-reading the whole run store on every render
|
|
92
|
+
([#152](https://github.com/UiPath/coder_eval/pull/152),
|
|
93
|
+
[`5e7d2b6`](https://github.com/UiPath/coder_eval/commit/5e7d2b6e69de43fbfc0c961e43c8b540da5b403f))
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
## v0.11.6 (2026-09-01)
|
|
97
|
+
|
|
98
|
+
### Bug Fixes
|
|
99
|
+
|
|
100
|
+
- **action**: Drop the literal expression syntax from a run-step comment
|
|
101
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
102
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
103
|
+
|
|
104
|
+
- **action**: Stop the env passthrough mutating the action's own shell
|
|
105
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
106
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
107
|
+
|
|
108
|
+
- **docs**: Drop the last references to inputs that no longer exist
|
|
109
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
110
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
111
|
+
|
|
112
|
+
- **evalboard**: Even out the variant tiles and keep a task's arms adjacent
|
|
113
|
+
([#145](https://github.com/UiPath/coder_eval/pull/145),
|
|
114
|
+
[`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
|
|
115
|
+
|
|
116
|
+
- **evalboard**: Resolve a variant-less task link to the task's first arm
|
|
117
|
+
([#145](https://github.com/UiPath/coder_eval/pull/145),
|
|
118
|
+
[`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
|
|
119
|
+
|
|
120
|
+
### Documentation
|
|
121
|
+
|
|
122
|
+
- **action**: Trim the comment bulk on the eight-input surface
|
|
123
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
124
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
125
|
+
|
|
126
|
+
- **evalboard**: Trim variant commentary and redundant tests
|
|
127
|
+
([#145](https://github.com/UiPath/coder_eval/pull/145),
|
|
128
|
+
[`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
|
|
129
|
+
|
|
130
|
+
### Features
|
|
131
|
+
|
|
132
|
+
- **action**: Add working-directory, extras, extra-packages, prerelease and args inputs
|
|
133
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
134
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
135
|
+
|
|
136
|
+
- **action**: Refactor github action input surface around args; harden env passthrough
|
|
137
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
138
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
139
|
+
|
|
140
|
+
- **evalboard**: Register an unlisted gha source for ad-hoc dispatch runs
|
|
141
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
142
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
143
|
+
|
|
144
|
+
- **evalboard**: Render multi-variant runs, one row per (task, arm)
|
|
145
|
+
([#145](https://github.com/UiPath/coder_eval/pull/145),
|
|
146
|
+
[`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
|
|
147
|
+
|
|
148
|
+
### Refactoring
|
|
149
|
+
|
|
150
|
+
- **action**: Drop every forwarding input; flags go through args
|
|
151
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
152
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
153
|
+
|
|
154
|
+
- **evalboard**: Drop the variant colour palette and the spread helper
|
|
155
|
+
([#145](https://github.com/UiPath/coder_eval/pull/145),
|
|
156
|
+
[`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
|
|
157
|
+
|
|
158
|
+
- **evalboard**: Report pass rate per arm instead of alongside a blended one
|
|
159
|
+
([#145](https://github.com/UiPath/coder_eval/pull/145),
|
|
160
|
+
[`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
|
|
161
|
+
|
|
162
|
+
### Testing
|
|
163
|
+
|
|
164
|
+
- Drop the skip-guard unit test ([#146](https://github.com/UiPath/coder_eval/pull/146),
|
|
165
|
+
[`d679ff2`](https://github.com/UiPath/coder_eval/commit/d679ff2667f2c1e76a5d6384059107be4538c750))
|
|
166
|
+
|
|
167
|
+
- Skip the enforcement live tests when the agent declines to try
|
|
168
|
+
([#146](https://github.com/UiPath/coder_eval/pull/146),
|
|
169
|
+
[`d679ff2`](https://github.com/UiPath/coder_eval/commit/d679ff2667f2c1e76a5d6384059107be4538c750))
|
|
170
|
+
|
|
171
|
+
- **action**: Record stub argv from bash so Windows argv is byte-exact
|
|
172
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
173
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
174
|
+
|
|
175
|
+
- **action**: Stop Git Bash rewriting the absolute path in the install-spec tests
|
|
176
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
177
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
178
|
+
|
|
179
|
+
|
|
5
180
|
## v0.11.5 (2026-08-28)
|
|
6
181
|
|
|
7
182
|
### Bug Fixes
|
|
@@ -216,7 +216,7 @@ make plugin-reference # the plugin's bundled criteria reference from the models
|
|
|
216
216
|
|
|
217
217
|
Editing `src/coder_eval/pricing.py` means editing `evalboard/lib/pricing.ts` too — it is a hand-copied mirror, and `evalboard/lib/__tests__/pricing-parity.test.ts` fails the build on drift in either direction.
|
|
218
218
|
|
|
219
|
-
Recent additions, each traceable to a shipped defect: **CE037** (no unreferenced module-level private helper in `src/` — a helper whose docstring documents a bug the live code still has is worse than none), **CE038** (in an `@asynccontextmanager`, the acquire must sit INSIDE the `try` whose `finally` releases it — `asyncio.shield` protects the inner task, NOT the await, so a cancel on `__aenter__` skips the unwind while the work completes), **CE039** (a criterion checker must not return a gating `score=0.0` from an `except OSError` over a path the *task author* named — that books an eval-config error as an agent failure; raise `CheckerMisuseError` instead, and `# noqa: CE039` the cases that really are the agent's).
|
|
219
|
+
Recent additions, each traceable to a shipped defect: **CE037** (no unreferenced module-level private helper in `src/` — a helper whose docstring documents a bug the live code still has is worse than none), **CE038** (in an `@asynccontextmanager`, the acquire must sit INSIDE the `try` whose `finally` releases it — `asyncio.shield` protects the inner task, NOT the await, so a cancel on `__aenter__` skips the unwind while the work completes), **CE039** (a criterion checker must not return a gating `score=0.0` from an `except OSError` over a path the *task author* named — that books an eval-config error as an agent failure; raise `CheckerMisuseError` instead, and `# noqa: CE039` the cases that really are the agent's), **CE047** (every onboarding/marketing surface — README, `docs/index.md`, `docs/comparison.md`, `docs/llms.txt`, `mkdocs.yml`'s `site_description`, the Pages stub, and pyproject's `description`/`keywords` — must name every built-in `AgentKind`; OpenCode shipped while four of those seven still listed three harnesses, and nothing failed).
|
|
220
220
|
|
|
221
221
|
When fixing a bug, ask: *could a custom lint rule have prevented this?* If the root cause is a mechanically detectable pattern (e.g., "always import from `coder_eval.models`", "never call blocking IO in async"), add a rule to `tests/lint/rules/` following the CE001+ pattern and wire it up in `tests/lint/runner.py`. This turns a one-time fix into permanent enforcement. See `tests/test_custom_lint.py` for how rules are tested. (Doc-surface / whole-tree rules that reason over Markdown/YAML or the entire `src/` tree rather than one `.py` AST at a time — CE026–CE031, CE033–CE036 — are not `BaseRule`s in the runner; they are wired as dedicated `@pytest.mark.lint` test classes. CE036 enforces the `live_verdict` determinism + monotonicity contract (`criteria/base.py`) that `EarlyStopWatcher`'s latching, deferred fail-stop, and flip-attribution silently depend on: monotonicity over arbitrary Python is undecidable, so instead of a static check it REPLAYS each live criterion against every prefix of recorded trajectories (`tests/lint/live_verdict_contract.py::CASES`) — on the authored ordering AND under seeded shuffles (`permuted_violations`, which catch order-sensitive bugs the authored walk misses) — and asserts the property directly, plus registry-derived coverage — every `LiveSuccessCriterion` in the union must have cases, and every polarity its instances claim via `live_decidable_polarities()` must actually be reached by one (otherwise a single always-`undecided` fixture would "cover" a type while proving nothing). Adding a live criterion therefore means adding `ContractCase`s in the same change. CE035 resolves every `steps.<id>.outputs.<key>` / `needs.<job>.outputs.<key>` reference in `.github/workflows/**` to a writer that actually produces that key — GitHub expands an unwritten output to the empty string, so a typo degrades a gate silently and actionlint models `steps.*.outputs` as an open string map. CE034 scans `tasks/` and forces an armed, live-*passable* `command_executed` to set `require_success` — a crashed invocation would otherwise latch a live PASS, fire `on_pass: stop`, and let FIRED-ONLY armed gating report SUCCESS without ever consulting the unarmed criteria (negative assertions are fail-only and are exempt). CE033 keeps the plugin's bundled `reference/criteria.md` in parity with the `SuccessCriterion` union that generates it (`make plugin-reference` writes it; the rule re-renders and diffs — never hand-edit the file). CE031 guards against dead config: a behavior-driving field on `SimulationConfig`/`RunLimits`/`Dataset` that no code reads by name. CE026 keeps the GitHub Action's onboarding surfaces honest — `README.md`, `docs/CI_GATE.md`, `docs/tutorials/02-ci-pipeline.md`, and the plugin's `ci` skill, whose emitted workflow users copy into their own repos: a page's *first* Action snippet must show the agent-runtime prerequisite steps (pinned to the `action-dogfood` job that proves them in CI), a zero-install absolute next to such a snippet must name the channel it means, every `github.com/marketplace/actions/<slug>` link plus the shields badge label must match `action.yml`'s `name:`, and every `with:` key on a snippet's action step must be a real `action.yml` input (GitHub ignores unknown inputs, so a rename would silently degrade every copied workflow). Renaming an action input or changing its runtime prerequisites therefore means updating the skill too.)
|
|
222
222
|
|