coder-eval 0.11.5__tar.gz → 0.11.6__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.6}/.github/workflows/pr-checks.yml +79 -9
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/workflows/verify-published-action.yml +10 -11
- {coder_eval-0.11.5 → coder_eval-0.11.6}/CHANGELOG.md +84 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/PKG-INFO +30 -24
- {coder_eval-0.11.5 → coder_eval-0.11.6}/README.md +29 -23
- coder_eval-0.11.6/action.yml +268 -0
- coder_eval-0.11.6/docs/CI_GATE.md +241 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/index.md +1 -1
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/llms.txt +1 -1
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/tutorials/02-ci-pipeline.md +5 -4
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/README.md +68 -9
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/api/download/route.ts +15 -5
- {coder_eval-0.11.5 → coder_eval-0.11.6}/mkdocs.yml +1 -1
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/.claude-plugin/plugin.json +1 -1
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/skills/ci/SKILL.md +48 -50
- {coder_eval-0.11.5 → coder_eval-0.11.6}/pyproject.toml +1 -1
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/__init__.py +1 -1
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/cli/run_helpers.py +21 -8
- coder_eval-0.11.6/tests/test_action_inputs.py +499 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_claude_settings_enforcement_live.py +39 -17
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_custom_lint.py +6 -35
- coder_eval-0.11.6/tests/test_run_helpers.py +79 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/uv.lock +1 -1
- 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 → coder_eval-0.11.6}/.claude/commands/coder-eval-code-review-full.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude/commands/coder-eval-code-review-wf.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude/commands/coder-eval-code-review.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude/commands/coder-eval-create-plan.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude/commands/coder-eval-implement-plan.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude/commands/coder-eval-review.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude/harness-candidates.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude/shared/axes.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude/shared/multi-model-review.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude/shared/review-rubric.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude/shared/run-layout.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude/workflows/cr-axis.js +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude/workflows/cr-parent.js +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.claude-plugin/marketplace.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.env.example +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/CODEOWNERS +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/ISSUE_TEMPLATE/adopter.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/actionlint.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/code_review.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/dependabot.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/pages-stub/index.html +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/scripts/release_notes.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/workflows/claude-pr-review.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/workflows/codeql.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/workflows/conventional-commits.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/workflows/docker-publish.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/workflows/docs.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/workflows/publish-testpypi.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.github/workflows/release.yml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.gitignore +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.pre-commit-config.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/.python-version +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/ADOPTERS.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/CLAUDE.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/CODE_OF_CONDUCT.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/CONTRIBUTING.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/LICENSE +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/Makefile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/NOTICE +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/SECURITY.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/comparison.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docker/Dockerfile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docker/Dockerfile.runtime +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docker/coder_eval_entrypoint.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docker/coder_eval_runtime_entrypoint.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/AB_EXPERIMENTS.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/DATASETS.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/DIALOG_MODE.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/DOCKER_ISOLATION.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/EXTENDING.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/PLUGIN.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/REPORT_SCHEMA.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/TASK_DEFINITION_GUIDE.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/USER_GUIDE.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/agents/ANTIGRAVITY.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/agents/CLAUDE_CODE.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/agents/CODEX.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/agents/HARNESS_PARITY.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/agents/OPENCODE.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/assets/hero.gif +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/comparison.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/tutorials/01-first-evaluation.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/tutorials/03-evalboard-local.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/tutorials/04-writing-a-task.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/tutorials/05-comparing-models.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/tutorials/06-use-docker-isolation.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/tutorials/07-plugin-in-claude-code.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/docs/tutorials/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/.gitignore +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_components/__tests__/harness-badge.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_components/__tests__/harness-selector.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_components/__tests__/search-box.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_components/col-help.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_components/collapsible-rail.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_components/harness-badge.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_components/harness-selector.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_components/scroll-table.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_components/search-box.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_components/unit-toggle.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_components/version-list.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_lib/__tests__/source-param.test.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_lib/source-param.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_overview/__tests__/efficiency-charts.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_overview/__tests__/harness-legend.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_overview/__tests__/harness-series.test.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_overview/daily-chart.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_overview/efficiency-charts.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_overview/harness-legend.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_overview/harness-series.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_overview/tag-rail.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_overview/turn-budget-chart.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_overview/wall-clock-chart.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/_overview/window-summary.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/api/file/route.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/api/refresh/__tests__/route.test.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/api/refresh/route.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/error.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/globals.css +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/icon.png +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/layout.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/page.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/path-to-ga/__tests__/task-table.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/path-to-ga/page.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/path-to-ga/task-table.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/scribe/page.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/scribe/run-table.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/trends/__tests__/trends-view.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/trends/actions.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/trends/page.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/trends/trends-view.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/watchlist/__tests__/watchlist-view.test.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/watchlist/page.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/app/watchlist/watchlist-view.tsx +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/next-env.d.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/next.config.mjs +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/package.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/pnpm-lock.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/postcss.config.mjs +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/public/harness/antigravity.png +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/public/harness/claude-code.png +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/public/harness/codex.png +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/public/uipath.png +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/tailwind.config.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/tsconfig.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/vitest.config.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/evalboard/vitest.setup.ts +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/experiments/default.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/experiments/early-stop-ab.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/experiments/model-comparison.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/experiments/permissions-smoke.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/experiments/plugin-comparison.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/experiments/prompt-mutations-example.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/experiments/smoke_variants.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/litellm/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/litellm/cost_logger.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/litellm/litellm-config.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/litellm/start-litellm.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/osv-scanner.toml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/reference/cli-setup.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/reference/criteria.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/reference/repo-layout.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/reference/run-layout.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/reference/task-rubric.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/reference/templates/activation-rows.jsonl +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/reference/templates/activation.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/skills/analyze/SKILL.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/skills/check-skill/SKILL.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/skills/init/SKILL.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/skills/lint-tasks/SKILL.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/plugins/coder-eval/skills/task/SKILL.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/scripts/check_commit_msg.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/.gitattributes +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/agents/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/agents/_logging.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/agents/antigravity_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/agents/claude_code_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/agents/codex_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/agents/noop_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/agents/opencode_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/agents/registry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/agents/watchdog.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/analysis.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/cli/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/cli/aggregate_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/cli/console.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/cli/evaluate_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/cli/plan_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/cli/report_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/cli/run_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/cli/run_task_internal_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/cli/utils.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/_classification_aggregate.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/agent_judge.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/base.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/classification_match.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/cli_called.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/command_executed.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/commands_efficiency.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/file_check.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/file_contains.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/file_exists.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/file_matches_regex.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/json_check.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/llm_judge.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/reference_comparison.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/run_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/skill_triggered.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/criteria/uipath_eval.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/errors/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/errors/agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/errors/budget.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/errors/categories.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/errors/categorization.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/errors/checker_misuse.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/errors/executor.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/errors/judge.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/errors/reference.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/errors/retry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/errors/timeout.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/evaluation/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/evaluation/checker.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/evaluation/judge_anthropic.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/evaluation/judge_bedrock.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/evaluation/judge_context.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/evaluation/judge_litellm.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/evaluation/judge_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/evaluation/judge_persistence.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/evaluation/judge_usage.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/evaluation/sub_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/evaluation/summaries.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/evaluation/verdict_tool.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/formatting.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/fs_permissions.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/invocation_log.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/isolation/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/isolation/docker_runner.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/litellm_cost.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/logging_config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/agent_config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/container_paths.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/criteria.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/enums.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/experiment.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/judge.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/judge_defaults.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/limits.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/merge_strategy.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/mutations.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/results.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/routing.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/sandbox.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/tasks.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/telemetry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/models/templates.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/orchestration/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/orchestration/batch.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/orchestration/config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/orchestration/config_merge.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/orchestration/early_stop.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/orchestration/evaluation.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/orchestration/experiment.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/orchestration/overrides.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/orchestration/run_limits.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/orchestration/task_loader.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/orchestrator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/path_utils.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/plugins.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/pricing.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/py.typed +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/reports.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/reports_experiment.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/reports_html.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/reports_junit.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/reports_stats.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/resources/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/resources/default_ignore_patterns.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/resources/tags.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/sandbox.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/scoring/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/scoring/ast_similarity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/scoring/complexity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/scoring/quality.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/scoring/signature_similarity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/scoring/similarity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/scoring/token_similarity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/simulation/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/simulation/termination.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/simulation/user_simulator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/streaming/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/streaming/callbacks.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/streaming/collector.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/streaming/events.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/streaming/renderers.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/streaming/wire.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/telemetry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/src/coder_eval/utils.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agentless_smoke_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/antigravity_hello_world.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/antigravity_hello_world_docker.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/claude_hello_world.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/claude_hello_world_docker.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/claude_parallel_single_gen.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/claude_subagent_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/codex_disallowed_tools_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/codex_hello_world.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/codex_parallel_commands.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/codex_parallel_single_gen.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/codex_skills_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/codex_string_utils.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/codex_subagent_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/subagent_bash_long_input.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/agents/subagent_merge_sort.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/anti_cheat_reference/anti_cheat_reference.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/anti_cheat_reference/reference/solution.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/byod_smoke_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/dataset_example.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/datasets/sentiment.jsonl +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/dockerfile_build_example/dockerfile_build_example.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/dockerfile_build_example/environment/Dockerfile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/dockerfile_build_example/environment/Dockerfile.workdir +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/dockerfile_build_example/environment/input.txt +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/dockerfile_build_example/working_dir_auto_example.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/dockerfile_build_example/working_dir_concrete_example.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/early_stop_decision_budget_exceeded.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/early_stop_weighted_high_weight_kills_run.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/early_stop_weighted_low_weight_absorbed.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/fibonacci_with_template.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/hello_date.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/inline_starter_example.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/internal/session_resumption.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/mock_path_dirs_smoke.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/mock_path_dirs_template_dir/mock-cli-bins/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/echo_args +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/fixtures/config.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/say_hello +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/mock_path_dirs_template_dir/task.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/opencode_smoke_test.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/python_cli_simulated_judged/echo_simulated_judged.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/run_limits/max_turns_cap.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/run_limits/turn_timeout.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/3d-scan-calc/3d-scan-calc.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/3d-scan-calc/environment/Dockerfile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/3d-scan-calc/environment/material_density_table.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/3d-scan-calc/environment/scan_data.stl +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/3d-scan-calc/verifier/test.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/3d-scan-calc/verifier/test_outputs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/court-form-filling/court-form-filling.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/court-form-filling/environment/Dockerfile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/court-form-filling/environment/sc100-blank.pdf +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/court-form-filling/verifier/test.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/court-form-filling/verifier/test_outputs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/dialogue-parser/dialogue-parser.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/dialogue-parser/environment/Dockerfile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/dialogue-parser/environment/script.txt +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/dialogue-parser/verifier/test.sh +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/samples/skillsbench/dialogue-parser/verifier/test_outputs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/sentiment_classification.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/smoke_agent_judge.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/smoke_budget_exceeded.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/smoke_cost_budget_exceeded.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/smoke_llm_judge.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/smoke_negative_path.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/smoke_task_timeout.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/smoke_variants.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/test_sandbox.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tasks/token_check.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/templates/byod_smoke_test/Dockerfile +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/templates/fibonacci-starter/README.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/templates/fibonacci-starter/src/main.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/templates/fibonacci-starter/tests/test_main.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/_scrub.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/claude_fixtures.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/codex_fixtures.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/claude_a_single_text_turn.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/claude_b_tool_use_result.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/claude_c_multi_emission_delta.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/claude_d_subagent_terminal.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/claude_e_model_usage_and_backfill.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/claude_f_orphaned_tool.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/claude_g_crash_format_placeholder.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/claude_h1_timeout_process_error.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/claude_h2_process_error_crash.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/claude_i_in_loop_deadline_break.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/codex_a_agent_message_only.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/codex_b_command_execution.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/codex_c_reasoning_placeholder.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/codex_d_cross_flush_is_error.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/codex_e_orphan_tool.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/codex_f_collab_fallback.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/codex_g_items_rebuild.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/golden_streams/expected/codex_h_no_turn_completed_crash.json +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/live_criteria.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/report_snapshots/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/report_snapshots/_snapshot.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/report_snapshots/experiment_2variant.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/report_snapshots/experiment_3variant.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/report_snapshots/experiment_replicates.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/report_snapshots/run_full.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_fixtures/report_snapshots/run_minimal.md +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/_path_helpers.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/conftest.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/fixtures/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/fixtures/byoa_demo_plugin/byoa_demo.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/fixtures/byoa_demo_plugin/pyproject.toml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/fixtures/mock_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/fixtures/tasks/test_task_informational_criterion.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/fixtures/tasks/test_task_multiple_criteria.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/fixtures/tasks/test_task_pass.yaml +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/fixtures/text_stub_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/action_docs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/dead_config_fields.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/doc_env_parity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/doc_examples.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/doc_indexes.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/doc_schema_parity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/generated.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/live_verdict_contract.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/plugin_manifest_parity.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/plugin_reference.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/pyright_config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/__init__.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/base.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce014_merge_strategy_declared.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce015_create_subprocess_limit.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce016_no_computed_tokenusage_kwargs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce017_models_lazy_agent_imports.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce018_no_final_status_name_denylist.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce019_telemetry_non_fatal.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce020_no_sdk_typed_base_agent_fields.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce021_guarded_evaluationresult_parse.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce022_dialog_loop_statement_cap.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce023_no_proxy_shim_import.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce024_discriminated_unions.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce032_criteria_path_seam.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce037_no_dead_private_helper.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce038_acquire_inside_try.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce039_config_error_escalates.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce043_no_command_output_truncation.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/ce046_env_info_spreads_super.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/no_agent_timing_access.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/no_blocking_io_in_async.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/no_cli_imports_in_core.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/no_silent_except.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/no_submodule_model_imports.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/no_top_level_run_limits_access.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/no_transcript_regex_in_eval.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/no_type_name_string_dispatch.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/open_explicit_encoding.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/read_text_explicit_encoding.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/register_criterion_required.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/subprocess_run_explicit_encoding.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/rules/yaml_models_forbid_extras.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/runner.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/violation.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/lint/workflow_outputs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_action_version_pin.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_agent_config_no_timing_fields.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_agent_config_optional_type.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_agent_config_registry_dispatch.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_agent_config_sdk_decoupling.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_agent_golden_master.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_agent_judge_criterion.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_agent_telemetry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_agent_telemetry_advanced.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_agent_timeout.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_agentless.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_aggregate.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_antigravity_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_byoa_plugin.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_byoa_plugin_live.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_byod_feature.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_check_all_async.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_checker_logging.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_classification_match.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_cleanup_preservation_guard.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_cli_backend_flag.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_cli_called_criterion.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_cli_empty_glob.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_cli_sdk_options.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_cli_set_overrides.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_cli_telemetry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_cli_type_flag.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_code_review_bugs.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_codex_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_codex_agent_live.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_codex_agent_unit.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_codex_token_mapping.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_command_executed.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_command_statistics.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_command_telemetry_result_data.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_commands_efficiency.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_config_lineage.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_config_merge_engine.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_config_precedence.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_continuous_scoring.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_cost_accounting_paths.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_criterion_result_round_trip.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_dataset_expansion.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_debug_logging.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_docker_build_failure.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_docker_litellm_env.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_docker_runner_container_death.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_docker_runner_mounts.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_docker_runner_stream_limit.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_docker_wildcard_env.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_docker_workdir_live.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_driver_resolver.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_early_stop.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_error_handling.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_evaluate_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_evaluator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_event_collector.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_experiment_cli.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_experiment_loader.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_experiment_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_experiment_reports.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_experiment_resolver.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_experiment_runner.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_file_check.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_file_contains_scoring.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_formatting.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_git_clone_failure.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_glob_paths_in_file_criteria.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_heartbeat_watchdog.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_ignore_patterns_negation.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_image_from_dockerfiles.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_integration.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_json_check.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_judge_anthropic.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_judge_bedrock.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_judge_burn_in_live.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_judge_context_builder.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_judge_litellm.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_judge_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_judge_persistence.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_lint_no_top_level_run_limits.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_lint_runner.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_litellm_config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_litellm_cost.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_litellm_cost_logger.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_litellm_judge_live.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_litellm_route.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_llm_judge_criterion.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_log_tail_buffer.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_logging.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_logging_isolation.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_merge_characterization.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_merge_strategy_annotations.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_merge_unification.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_mutations.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_new_criteria.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_node_env_config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_opencode_agent.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_optional_dependencies.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_orchestrator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_orchestrator_error_log_tail.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_orchestrator_telemetry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_overrides_engine.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_parallel.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_path_utils.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_plan_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_plugin_processing.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_plugins.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_post_run.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_pr_review_workflow.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_pre_run.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_preservation_mode.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_pricing_registry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_reference_comparison_scoring.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_reference_evaluator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_reference_missing_file.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_reference_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_reference_permissions.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_registry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_release_notes.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_replicate_stats.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_report_command.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_reports.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_reports_experiment.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_reports_html.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_reports_junit.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_reports_stats.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_reports_stats_nonfinite.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_resolve_task_files.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_resume.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_retry_logic_comprehensive.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_route_seam_exhaustiveness.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_routing.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_run_command_junit.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_run_command_stdout.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_run_limits_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_run_limits_orchestrator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_run_limits_resolver.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_run_metrics.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_runtime_tool_versions.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_sandbox.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_sandbox_layer_builder.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_sandbox_optional.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_sandbox_record_cli.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_sandbox_security.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_sandbox_symlink_preservation.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_sandbox_templates.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_scorers.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_scoring_quality.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_sdk_option_classification.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_simulation_config.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_simulation_integration.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_simulation_termination.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_simulation_trials.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_skill_triggered.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_streaming_agent_integration.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_streaming_batch.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_streaming_callbacks.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_streaming_cli.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_streaming_events.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_streaming_orchestrator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_streaming_renderers.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_streaming_wire.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_sub_agent_runner.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_success_criterion_union.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_suite_rollup.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_summaries.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_tags.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_task_definition_unknown_fields.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_teardown_interrupt.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_telemetry.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_template_env_expansion.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_threshold_enforcement.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_timeout_batch.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_timeout_categorization.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_timeout_exceptions.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_timeout_models.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_timeout_orchestrator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_token_usage.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_uipath_eval.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_user_simulator.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_utils.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_utterance_extraction.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_variant_prompt_file.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_verdict_tool.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_verify_published_workflow.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_visible_turn_cap.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_watchdog.py +0 -0
- {coder_eval-0.11.5 → coder_eval-0.11.6}/tests/test_yaml_migration.py +0 -0
|
@@ -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,90 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v0.11.6 (2026-09-01)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **action**: Drop the literal expression syntax from a run-step comment
|
|
10
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
11
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
12
|
+
|
|
13
|
+
- **action**: Stop the env passthrough mutating the action's own shell
|
|
14
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
15
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
16
|
+
|
|
17
|
+
- **docs**: Drop the last references to inputs that no longer exist
|
|
18
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
19
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
20
|
+
|
|
21
|
+
- **evalboard**: Even out the variant tiles and keep a task's arms adjacent
|
|
22
|
+
([#145](https://github.com/UiPath/coder_eval/pull/145),
|
|
23
|
+
[`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
|
|
24
|
+
|
|
25
|
+
- **evalboard**: Resolve a variant-less task link to the task's first arm
|
|
26
|
+
([#145](https://github.com/UiPath/coder_eval/pull/145),
|
|
27
|
+
[`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
|
|
28
|
+
|
|
29
|
+
### Documentation
|
|
30
|
+
|
|
31
|
+
- **action**: Trim the comment bulk on the eight-input surface
|
|
32
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
33
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
34
|
+
|
|
35
|
+
- **evalboard**: Trim variant commentary and redundant tests
|
|
36
|
+
([#145](https://github.com/UiPath/coder_eval/pull/145),
|
|
37
|
+
[`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
|
|
38
|
+
|
|
39
|
+
### Features
|
|
40
|
+
|
|
41
|
+
- **action**: Add working-directory, extras, extra-packages, prerelease and args inputs
|
|
42
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
43
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
44
|
+
|
|
45
|
+
- **action**: Refactor github action input surface around args; harden env passthrough
|
|
46
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
47
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
48
|
+
|
|
49
|
+
- **evalboard**: Register an unlisted gha source for ad-hoc dispatch runs
|
|
50
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
51
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
52
|
+
|
|
53
|
+
- **evalboard**: Render multi-variant runs, one row per (task, arm)
|
|
54
|
+
([#145](https://github.com/UiPath/coder_eval/pull/145),
|
|
55
|
+
[`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
|
|
56
|
+
|
|
57
|
+
### Refactoring
|
|
58
|
+
|
|
59
|
+
- **action**: Drop every forwarding input; flags go through args
|
|
60
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
61
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
62
|
+
|
|
63
|
+
- **evalboard**: Drop the variant colour palette and the spread helper
|
|
64
|
+
([#145](https://github.com/UiPath/coder_eval/pull/145),
|
|
65
|
+
[`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
|
|
66
|
+
|
|
67
|
+
- **evalboard**: Report pass rate per arm instead of alongside a blended one
|
|
68
|
+
([#145](https://github.com/UiPath/coder_eval/pull/145),
|
|
69
|
+
[`6780227`](https://github.com/UiPath/coder_eval/commit/6780227e5e431b4c1099f2f88839be37540dcd71))
|
|
70
|
+
|
|
71
|
+
### Testing
|
|
72
|
+
|
|
73
|
+
- Drop the skip-guard unit test ([#146](https://github.com/UiPath/coder_eval/pull/146),
|
|
74
|
+
[`d679ff2`](https://github.com/UiPath/coder_eval/commit/d679ff2667f2c1e76a5d6384059107be4538c750))
|
|
75
|
+
|
|
76
|
+
- Skip the enforcement live tests when the agent declines to try
|
|
77
|
+
([#146](https://github.com/UiPath/coder_eval/pull/146),
|
|
78
|
+
[`d679ff2`](https://github.com/UiPath/coder_eval/commit/d679ff2667f2c1e76a5d6384059107be4538c750))
|
|
79
|
+
|
|
80
|
+
- **action**: Record stub argv from bash so Windows argv is byte-exact
|
|
81
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
82
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
83
|
+
|
|
84
|
+
- **action**: Stop Git Bash rewriting the absolute path in the install-spec tests
|
|
85
|
+
([#147](https://github.com/UiPath/coder_eval/pull/147),
|
|
86
|
+
[`7b81456`](https://github.com/UiPath/coder_eval/commit/7b81456e4f4ef8d26eaa9fdf8afe499376164d6b))
|
|
87
|
+
|
|
88
|
+
|
|
5
89
|
## v0.11.5 (2026-08-28)
|
|
6
90
|
|
|
7
91
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: coder-eval
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.6
|
|
4
4
|
Summary: Evaluate, benchmark, and A/B-test AI coding agents (Claude Code, Codex, Gemini/Antigravity) 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
|
|
@@ -184,8 +184,8 @@ That adds six slash commands: `/coder-eval:init`, `/coder-eval:check-skill`,
|
|
|
184
184
|
A composite action — on the Marketplace as
|
|
185
185
|
[**coder_eval**](https://github.com/marketplace/actions/coder_eval) — runs
|
|
186
186
|
`coder-eval` as a CI gate. It installs the pinned CLI, runs your tasks, writes a
|
|
187
|
-
JUnit XML report,
|
|
188
|
-
task
|
|
187
|
+
JUnit XML report, reports where its artifacts landed, and fails the step on any
|
|
188
|
+
task failure:
|
|
189
189
|
|
|
190
190
|
```yaml
|
|
191
191
|
- uses: actions/setup-node@v4 # the claude-code agent needs the Claude CLI…
|
|
@@ -193,35 +193,45 @@ task/gate failure:
|
|
|
193
193
|
- run: npm install -g @anthropic-ai/claude-code
|
|
194
194
|
|
|
195
195
|
- uses: UiPath/coder_eval@v0 # …then run the gate (@v1 once 1.0.0 ships; @vX.Y.Z pins exactly)
|
|
196
|
+
id: eval
|
|
196
197
|
with:
|
|
197
|
-
|
|
198
|
-
|
|
198
|
+
args: |
|
|
199
|
+
tests/tasks/**/*.yaml
|
|
200
|
+
--model
|
|
201
|
+
claude-sonnet-5
|
|
199
202
|
env: |
|
|
200
203
|
ANTHROPIC_API_KEY=${{ secrets.ANTHROPIC_API_KEY }}
|
|
201
204
|
```
|
|
202
205
|
|
|
206
|
+
Eight inputs, and **none of them is a `coder-eval run` flag**. The CLI has 21;
|
|
207
|
+
GitHub silently ignores an input the referenced tag does not define, so a
|
|
208
|
+
forwarding input that is mistyped or newer than your pin yields a run that
|
|
209
|
+
measured something else and still exits 0. A wrong CLI flag is a hard error. So
|
|
210
|
+
flags and task globs all go through `args`, and an input exists only where the
|
|
211
|
+
action does something with the value besides pass it along.
|
|
212
|
+
|
|
203
213
|
| Input | Default | Purpose |
|
|
204
214
|
| --- | --- | --- |
|
|
205
|
-
| `
|
|
206
|
-
| `tags` | — | `--tags` filter |
|
|
207
|
-
| `model` | — | `--model` override |
|
|
208
|
-
| `extra-args` | — | Verbatim extra args (`--experiment`, `-D …`, …) |
|
|
215
|
+
| `args` | — | Task paths/globs and every flag for `coder-eval run`, one argument per line, verbatim |
|
|
209
216
|
| `version` | pinned release | PyPI version, or `local` to install from the checkout |
|
|
210
|
-
| `
|
|
211
|
-
| `
|
|
212
|
-
| `
|
|
217
|
+
| `extras` | — | coder-eval extras, composed into the install requirement (`codex`, `antigravity,litellm`) |
|
|
218
|
+
| `extra-packages` | — | Extra requirements installed into coder-eval's environment (`--with`), one per line |
|
|
219
|
+
| `install-flags` | — | Flags for `uv tool install`, one per line (`--prerelease=allow`, `--extra-index-url …`) |
|
|
213
220
|
| `env` | — | Credentials/backend passthrough: newline-separated `NAME=VALUE` pairs, exported for the run step only |
|
|
214
|
-
| `
|
|
221
|
+
| `working-directory` | `.` | Directory every step of the action runs in |
|
|
222
|
+
| `run-dir` | `runs/ci` | Run directory; also where the reports are written |
|
|
215
223
|
|
|
216
|
-
Outputs: `run-dir
|
|
217
|
-
|
|
218
|
-
|
|
224
|
+
Outputs: `run-dir`, `junit-path` (`<run-dir>/junit.xml`) and `run-md-path`
|
|
225
|
+
(`<run-dir>/run.md`). The action writes nothing to the job summary — a consumer
|
|
226
|
+
that has to redact the report first cannot undo a write that already happened:
|
|
219
227
|
|
|
220
228
|
```yaml
|
|
229
|
+
- if: always()
|
|
230
|
+
run: cat "${{ steps.eval.outputs.run-md-path }}" >> "$GITHUB_STEP_SUMMARY"
|
|
221
231
|
- uses: mikepenz/action-junit-report@v5
|
|
222
232
|
if: always()
|
|
223
233
|
with:
|
|
224
|
-
report_paths:
|
|
234
|
+
report_paths: ${{ steps.eval.outputs.junit-path }}
|
|
225
235
|
```
|
|
226
236
|
|
|
227
237
|
**Credentials and backend config** are the sole responsibility of `env` — a
|
|
@@ -231,17 +241,13 @@ it can't leak into later steps). Set whatever the run needs, Anthropic or not:
|
|
|
231
241
|
```yaml
|
|
232
242
|
- uses: UiPath/coder_eval@v0
|
|
233
243
|
with:
|
|
234
|
-
|
|
235
|
-
minimum-task-score: "0.8" # fail the build if any task scores below 0.8
|
|
244
|
+
args: tests/tasks/**/*.yaml
|
|
236
245
|
env: |
|
|
237
246
|
API_BACKEND=bedrock
|
|
238
247
|
AWS_BEARER_TOKEN_BEDROCK=${{ secrets.BEDROCK_TOKEN }}
|
|
239
248
|
```
|
|
240
249
|
|
|
241
|
-
|
|
242
|
-
code: the step fails if *either* coder-eval exits non-zero *or* any task's
|
|
243
|
-
`weighted_score` falls below the floor. Leave it unset to gate on the exit code
|
|
244
|
-
alone.
|
|
250
|
+
The step's exit code is coder-eval's own: non-zero on any failed task.
|
|
245
251
|
|
|
246
252
|
> **Agent runtime is the caller's responsibility.** The action is agent-agnostic —
|
|
247
253
|
> it installs `coder-eval` but no coding-agent runtime, which is why the example
|
|
@@ -282,7 +288,7 @@ alone.
|
|
|
282
288
|
| [Bring Your Own Dataset](docs/DATASETS.md) | Fan a single task out over a dataset |
|
|
283
289
|
| [Dialog Mode](docs/DIALOG_MODE.md) | Evaluate agents in multi-turn conversation via a simulated user |
|
|
284
290
|
| [Docker Isolation](docs/DOCKER_ISOLATION.md) | The container sandbox driver, with custom images |
|
|
285
|
-
| [CI Gate & GitHub Action](docs/CI_GATE.md) | Run Coder Eval as a CI gate — the Marketplace Action, JUnit output,
|
|
291
|
+
| [CI Gate & GitHub Action](docs/CI_GATE.md) | Run Coder Eval as a CI gate — the Marketplace Action, JUnit output, run reports |
|
|
286
292
|
| [Claude Code Plugin](docs/PLUGIN.md) | Install the Claude Code plugin — author, run, and analyze suites from inside the agent |
|
|
287
293
|
| [Extending Coder Eval](docs/EXTENDING.md) | Author a custom agent, criterion, or model pricing via the plugin SPI |
|
|
288
294
|
| [Report Schema](docs/REPORT_SCHEMA.md) | Field-level reference for run.json / variant.json / task.json |
|
|
@@ -117,8 +117,8 @@ That adds six slash commands: `/coder-eval:init`, `/coder-eval:check-skill`,
|
|
|
117
117
|
A composite action — on the Marketplace as
|
|
118
118
|
[**coder_eval**](https://github.com/marketplace/actions/coder_eval) — runs
|
|
119
119
|
`coder-eval` as a CI gate. It installs the pinned CLI, runs your tasks, writes a
|
|
120
|
-
JUnit XML report,
|
|
121
|
-
task
|
|
120
|
+
JUnit XML report, reports where its artifacts landed, and fails the step on any
|
|
121
|
+
task failure:
|
|
122
122
|
|
|
123
123
|
```yaml
|
|
124
124
|
- uses: actions/setup-node@v4 # the claude-code agent needs the Claude CLI…
|
|
@@ -126,35 +126,45 @@ task/gate failure:
|
|
|
126
126
|
- run: npm install -g @anthropic-ai/claude-code
|
|
127
127
|
|
|
128
128
|
- uses: UiPath/coder_eval@v0 # …then run the gate (@v1 once 1.0.0 ships; @vX.Y.Z pins exactly)
|
|
129
|
+
id: eval
|
|
129
130
|
with:
|
|
130
|
-
|
|
131
|
-
|
|
131
|
+
args: |
|
|
132
|
+
tests/tasks/**/*.yaml
|
|
133
|
+
--model
|
|
134
|
+
claude-sonnet-5
|
|
132
135
|
env: |
|
|
133
136
|
ANTHROPIC_API_KEY=${{ secrets.ANTHROPIC_API_KEY }}
|
|
134
137
|
```
|
|
135
138
|
|
|
139
|
+
Eight inputs, and **none of them is a `coder-eval run` flag**. The CLI has 21;
|
|
140
|
+
GitHub silently ignores an input the referenced tag does not define, so a
|
|
141
|
+
forwarding input that is mistyped or newer than your pin yields a run that
|
|
142
|
+
measured something else and still exits 0. A wrong CLI flag is a hard error. So
|
|
143
|
+
flags and task globs all go through `args`, and an input exists only where the
|
|
144
|
+
action does something with the value besides pass it along.
|
|
145
|
+
|
|
136
146
|
| Input | Default | Purpose |
|
|
137
147
|
| --- | --- | --- |
|
|
138
|
-
| `
|
|
139
|
-
| `tags` | — | `--tags` filter |
|
|
140
|
-
| `model` | — | `--model` override |
|
|
141
|
-
| `extra-args` | — | Verbatim extra args (`--experiment`, `-D …`, …) |
|
|
148
|
+
| `args` | — | Task paths/globs and every flag for `coder-eval run`, one argument per line, verbatim |
|
|
142
149
|
| `version` | pinned release | PyPI version, or `local` to install from the checkout |
|
|
143
|
-
| `
|
|
144
|
-
| `
|
|
145
|
-
| `
|
|
150
|
+
| `extras` | — | coder-eval extras, composed into the install requirement (`codex`, `antigravity,litellm`) |
|
|
151
|
+
| `extra-packages` | — | Extra requirements installed into coder-eval's environment (`--with`), one per line |
|
|
152
|
+
| `install-flags` | — | Flags for `uv tool install`, one per line (`--prerelease=allow`, `--extra-index-url …`) |
|
|
146
153
|
| `env` | — | Credentials/backend passthrough: newline-separated `NAME=VALUE` pairs, exported for the run step only |
|
|
147
|
-
| `
|
|
154
|
+
| `working-directory` | `.` | Directory every step of the action runs in |
|
|
155
|
+
| `run-dir` | `runs/ci` | Run directory; also where the reports are written |
|
|
148
156
|
|
|
149
|
-
Outputs: `run-dir
|
|
150
|
-
|
|
151
|
-
|
|
157
|
+
Outputs: `run-dir`, `junit-path` (`<run-dir>/junit.xml`) and `run-md-path`
|
|
158
|
+
(`<run-dir>/run.md`). The action writes nothing to the job summary — a consumer
|
|
159
|
+
that has to redact the report first cannot undo a write that already happened:
|
|
152
160
|
|
|
153
161
|
```yaml
|
|
162
|
+
- if: always()
|
|
163
|
+
run: cat "${{ steps.eval.outputs.run-md-path }}" >> "$GITHUB_STEP_SUMMARY"
|
|
154
164
|
- uses: mikepenz/action-junit-report@v5
|
|
155
165
|
if: always()
|
|
156
166
|
with:
|
|
157
|
-
report_paths:
|
|
167
|
+
report_paths: ${{ steps.eval.outputs.junit-path }}
|
|
158
168
|
```
|
|
159
169
|
|
|
160
170
|
**Credentials and backend config** are the sole responsibility of `env` — a
|
|
@@ -164,17 +174,13 @@ it can't leak into later steps). Set whatever the run needs, Anthropic or not:
|
|
|
164
174
|
```yaml
|
|
165
175
|
- uses: UiPath/coder_eval@v0
|
|
166
176
|
with:
|
|
167
|
-
|
|
168
|
-
minimum-task-score: "0.8" # fail the build if any task scores below 0.8
|
|
177
|
+
args: tests/tasks/**/*.yaml
|
|
169
178
|
env: |
|
|
170
179
|
API_BACKEND=bedrock
|
|
171
180
|
AWS_BEARER_TOKEN_BEDROCK=${{ secrets.BEDROCK_TOKEN }}
|
|
172
181
|
```
|
|
173
182
|
|
|
174
|
-
|
|
175
|
-
code: the step fails if *either* coder-eval exits non-zero *or* any task's
|
|
176
|
-
`weighted_score` falls below the floor. Leave it unset to gate on the exit code
|
|
177
|
-
alone.
|
|
183
|
+
The step's exit code is coder-eval's own: non-zero on any failed task.
|
|
178
184
|
|
|
179
185
|
> **Agent runtime is the caller's responsibility.** The action is agent-agnostic —
|
|
180
186
|
> it installs `coder-eval` but no coding-agent runtime, which is why the example
|
|
@@ -215,7 +221,7 @@ alone.
|
|
|
215
221
|
| [Bring Your Own Dataset](docs/DATASETS.md) | Fan a single task out over a dataset |
|
|
216
222
|
| [Dialog Mode](docs/DIALOG_MODE.md) | Evaluate agents in multi-turn conversation via a simulated user |
|
|
217
223
|
| [Docker Isolation](docs/DOCKER_ISOLATION.md) | The container sandbox driver, with custom images |
|
|
218
|
-
| [CI Gate & GitHub Action](docs/CI_GATE.md) | Run Coder Eval as a CI gate — the Marketplace Action, JUnit output,
|
|
224
|
+
| [CI Gate & GitHub Action](docs/CI_GATE.md) | Run Coder Eval as a CI gate — the Marketplace Action, JUnit output, run reports |
|
|
219
225
|
| [Claude Code Plugin](docs/PLUGIN.md) | Install the Claude Code plugin — author, run, and analyze suites from inside the agent |
|
|
220
226
|
| [Extending Coder Eval](docs/EXTENDING.md) | Author a custom agent, criterion, or model pricing via the plugin SPI |
|
|
221
227
|
| [Report Schema](docs/REPORT_SCHEMA.md) | Field-level reference for run.json / variant.json / task.json |
|