coder-eval 0.8.7rc11__tar.gz → 0.8.9__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.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-code-review.md +3 -3
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/shared/multi-model-review.md +1 -1
- coder_eval-0.8.9/.github/ISSUE_TEMPLATE/adopter.yml +84 -0
- coder_eval-0.8.9/.github/workflows/docs.yml +48 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/release.yml +1 -1
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.gitignore +4 -0
- coder_eval-0.8.9/ADOPTERS.md +13 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/CHANGELOG.md +206 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/CLAUDE.md +2 -2
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/PKG-INFO +55 -31
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/README.md +52 -28
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/AB_EXPERIMENTS.md +9 -2
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/BYOD.md +7 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/CODEX_AGENT_GUIDE.md +9 -2
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/DOCKER_ISOLATION.md +7 -2
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/TASK_DEFINITION_GUIDE.md +37 -7
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/USER_GUIDE.md +9 -0
- coder_eval-0.8.9/docs/comparison.md +153 -0
- coder_eval-0.8.9/docs/index.md +100 -0
- coder_eval-0.8.9/docs/llms.txt +46 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/01-first-evaluation.md +12 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/02-ci-pipeline.md +7 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/03-evalboard-local.md +7 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/04-writing-a-task.md +7 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/05-comparing-models.md +7 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/06-use-docker-isolation.md +9 -2
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/tutorials/README.md +7 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/harness-badge.tsx +16 -3
- coder_eval-0.8.9/evalboard/app/_components/harness-selector.tsx +49 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_overview/tag-rail.tsx +15 -1
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/page.tsx +30 -8
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/path-to-ga/page.tsx +22 -7
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/trends/__tests__/trends-view.test.tsx +11 -0
- coder_eval-0.8.9/evalboard/app/trends/actions.ts +18 -0
- coder_eval-0.8.9/evalboard/app/trends/page.tsx +163 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/trends/trends-view.tsx +30 -11
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/watchlist/__tests__/watchlist-view.test.tsx +27 -10
- coder_eval-0.8.9/evalboard/app/watchlist/page.tsx +87 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/watchlist/watchlist-view.tsx +23 -6
- coder_eval-0.8.9/mkdocs.yml +94 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/pyproject.toml +5 -4
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/__init__.py +1 -1
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/codex_agent.py +27 -19
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/evaluate_command.py +14 -5
- coder_eval-0.8.9/src/coder_eval/criteria/skill_triggered.py +222 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/checker.py +9 -2
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/formatting.py +6 -3
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/criteria.py +39 -5
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/results.py +38 -10
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/sandbox.py +3 -2
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/early_stop.py +70 -29
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/reports.py +5 -1
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/reports_experiment.py +51 -82
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/reports_html.py +67 -33
- coder_eval-0.8.9/src/coder_eval/reports_stats.py +498 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/experiment_2variant.md +9 -4
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/experiment_replicates.md +3 -1
- coder_eval-0.8.9/tests/fixtures/tasks/test_task_informational_criterion.yaml +17 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent.py +12 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_codex_agent.py +18 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_early_stop.py +217 -42
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_evaluate_command.py +21 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_evaluator.py +2 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_experiment_reports.py +372 -9
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_replicate_stats.py +64 -42
- coder_eval-0.8.9/tests/test_reports_stats_nonfinite.py +73 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_skill_triggered.py +209 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_suite_rollup.py +23 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_threshold_enforcement.py +102 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/uv.lock +1 -1
- coder_eval-0.8.7rc11/evalboard/app/trends/actions.ts +0 -10
- coder_eval-0.8.7rc11/evalboard/app/trends/page.tsx +0 -88
- coder_eval-0.8.7rc11/evalboard/app/watchlist/page.tsx +0 -12
- coder_eval-0.8.7rc11/src/coder_eval/criteria/skill_triggered.py +0 -177
- coder_eval-0.8.7rc11/src/coder_eval/reports_stats.py +0 -250
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-code-review-full.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-code-review-wf.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-create-plan.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-implement-plan.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-review.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-run-analysis.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/commands/coder-eval-task-create.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/harness-candidates.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/shared/axes.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/shared/review-rubric.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/shared/run-layout.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/workflows/cr-axis.js +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.claude/workflows/cr-parent.js +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.env.example +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/CODEOWNERS +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/code_review.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/dependabot.yml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/claude-pr-review.yml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/codeql.yml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/conventional-commits.yml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/docker-publish.yml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/pr-checks.yml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.github/workflows/publish-testpypi.yml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.pre-commit-config.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/.python-version +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/CODE_OF_CONDUCT.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/CONTRIBUTING.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/LICENSE +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/Makefile +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/NOTICE +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/SECURITY.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docker/Dockerfile +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docker/Dockerfile.runtime +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docker/coder_eval_entrypoint.sh +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docker/coder_eval_runtime_entrypoint.sh +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/IDEAS.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/docs/assets/hero.gif +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/.gitignore +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/README.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/__tests__/search-box.test.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/col-help.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/collapsible-rail.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/scroll-table.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/search-box.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/unit-toggle.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/version-list.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_components/window-selector.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_overview/daily-chart.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_overview/turn-budget-chart.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/_overview/window-summary.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/api/download/route.ts +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/api/file/route.ts +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/api/refresh/__tests__/route.test.ts +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/api/refresh/route.ts +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/error.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/globals.css +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/icon.png +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/app/layout.tsx +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/next-env.d.ts +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/next.config.mjs +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/package.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/pnpm-lock.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/postcss.config.mjs +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/public/harness/antigravity.png +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/public/harness/claude-code.png +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/public/harness/codex.png +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/public/uipath.png +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/tailwind.config.ts +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/tsconfig.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/vitest.config.ts +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/evalboard/vitest.setup.ts +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/default.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/early-stop-ab.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/model-comparison.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/permissions-smoke.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/plugin-comparison.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/prompt-mutations-example.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/experiments/smoke_variants.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/osv-scanner.toml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/.gitattributes +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agent.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/_logging.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/antigravity_agent.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/claude_code_agent.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/noop_agent.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/registry.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/agents/watchdog.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/analysis.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/aggregate_command.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/console.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/plan_command.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/report_command.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/run_command.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/run_helpers.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/run_task_internal_command.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/cli/utils.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/config.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/_classification_aggregate.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/agent_judge.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/base.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/classification_match.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/command_executed.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/commands_efficiency.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/file_check.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/file_contains.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/file_exists.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/file_matches_regex.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/json_check.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/llm_judge.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/reference_comparison.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/run_command.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/criteria/uipath_eval.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/agent.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/budget.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/categories.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/categorization.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/executor.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/judge.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/retry.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/errors/timeout.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/judge_anthropic.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/judge_bedrock.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/judge_context.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/judge_models.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/judge_persistence.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/judge_usage.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/sub_agent.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/summaries.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/evaluation/verdict_tool.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/isolation/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/isolation/docker_runner.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/logging_config.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/agent_config.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/container_paths.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/enums.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/experiment.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/judge.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/judge_defaults.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/limits.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/merge_strategy.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/mutations.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/routing.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/tasks.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/telemetry.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/models/templates.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/batch.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/config.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/config_merge.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/evaluation.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/experiment.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/overrides.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestration/task_loader.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/orchestrator.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/path_utils.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/plugins.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/pricing.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/py.typed +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/resources/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/resources/default_ignore_patterns.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/resources/tags.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/sandbox.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/ast_similarity.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/complexity.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/quality.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/signature_similarity.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/similarity.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/scoring/token_similarity.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/simulation/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/simulation/termination.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/simulation/user_simulator.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/streaming/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/streaming/callbacks.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/streaming/collector.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/streaming/events.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/streaming/renderers.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/streaming/wire.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/telemetry.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/src/coder_eval/utils.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/README.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agentless_smoke_test.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/antigravity_hello_world.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/antigravity_hello_world_docker.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/claude_hello_world.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/claude_hello_world_docker.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/claude_parallel_single_gen.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/claude_subagent_test.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_disallowed_tools_test.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_hello_world.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_parallel_commands.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_parallel_single_gen.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_skills_test.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_string_utils.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/codex_subagent_test.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/subagent_bash_long_input.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/agents/subagent_merge_sort.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/byod_smoke_test.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dataset_example.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/datasets/sentiment.jsonl +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dockerfile_build_example/dockerfile_build_example.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dockerfile_build_example/environment/Dockerfile +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dockerfile_build_example/environment/Dockerfile.workdir +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dockerfile_build_example/environment/input.txt +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dockerfile_build_example/working_dir_auto_example.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/dockerfile_build_example/working_dir_concrete_example.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/fibonacci_with_template.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/hello_date.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/inline_starter_example.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/internal/session_resumption.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/mock_path_dirs_smoke.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/mock_path_dirs_template_dir/mock-cli-bins/README.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/echo_args +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/fixtures/config.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/say_hello +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/mock_path_dirs_template_dir/task.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/python_cli_simulated_judged/echo_simulated_judged.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/3d-scan-calc/3d-scan-calc.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/3d-scan-calc/environment/Dockerfile +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/3d-scan-calc/environment/material_density_table.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/3d-scan-calc/environment/scan_data.stl +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/3d-scan-calc/verifier/test.sh +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/3d-scan-calc/verifier/test_outputs.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/README.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/court-form-filling/court-form-filling.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/court-form-filling/environment/Dockerfile +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/court-form-filling/environment/sc100-blank.pdf +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/court-form-filling/verifier/test.sh +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/court-form-filling/verifier/test_outputs.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/dialogue-parser/dialogue-parser.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/dialogue-parser/environment/Dockerfile +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/dialogue-parser/environment/script.txt +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/dialogue-parser/verifier/test.sh +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/samples/skillsbench/dialogue-parser/verifier/test_outputs.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/sentiment_classification.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_agent_judge.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_budget_exceeded.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_cost_budget_exceeded.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_llm_judge.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_negative_path.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_task_timeout.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/smoke_variants.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/test_sandbox.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tasks/token_check.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/templates/byod_smoke_test/Dockerfile +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/templates/fibonacci-starter/README.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/templates/fibonacci-starter/src/main.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/templates/fibonacci-starter/tests/test_main.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/_scrub.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/claude_fixtures.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/codex_fixtures.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_a_single_text_turn.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_b_tool_use_result.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_c_multi_emission_delta.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_d_subagent_terminal.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_e_model_usage_and_backfill.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_f_orphaned_tool.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_g_crash_format_placeholder.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_h1_timeout_process_error.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_h2_process_error_crash.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/claude_i_in_loop_deadline_break.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_a_agent_message_only.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_b_command_execution.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_c_reasoning_placeholder.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_d_cross_flush_is_error.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_e_orphan_tool.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_f_collab_fallback.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_g_items_rebuild.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/golden_streams/expected/codex_h_no_turn_completed_crash.json +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/_snapshot.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/experiment_3variant.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/run_full.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_fixtures/report_snapshots/run_minimal.md +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/_path_helpers.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/conftest.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/byoa_demo_plugin/byoa_demo.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/byoa_demo_plugin/pyproject.toml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/mock_agent.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/tasks/test_task_multiple_criteria.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/tasks/test_task_pass.yaml +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/fixtures/text_stub_agent.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/__init__.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/base.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce014_merge_strategy_declared.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce015_create_subprocess_limit.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce016_no_computed_tokenusage_kwargs.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce017_models_lazy_agent_imports.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce018_no_final_status_name_denylist.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce019_telemetry_non_fatal.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce020_no_sdk_typed_base_agent_fields.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce021_guarded_evaluationresult_parse.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce022_dialog_loop_statement_cap.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce023_no_proxy_shim_import.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce024_discriminated_unions.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/ce025_live_verdict_consistency.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_agent_timing_access.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_blocking_io_in_async.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_cli_imports_in_core.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_silent_except.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_submodule_model_imports.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_top_level_run_limits_access.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_transcript_regex_in_eval.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/no_type_name_string_dispatch.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/open_explicit_encoding.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/read_text_explicit_encoding.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/register_criterion_required.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/subprocess_run_explicit_encoding.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/rules/yaml_models_forbid_extras.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/runner.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/lint/violation.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_config_no_timing_fields.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_config_optional_type.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_config_registry_dispatch.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_config_sdk_decoupling.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_golden_master.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_judge_criterion.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_telemetry.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_telemetry_advanced.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agent_timeout.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_agentless.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_aggregate.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_antigravity_agent.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_byoa_plugin.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_byoa_plugin_live.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_byod_feature.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_checker_logging.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_classification_match.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_claude_settings_enforcement_live.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cleanup_preservation_guard.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cli_backend_flag.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cli_empty_glob.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cli_sdk_options.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cli_set_overrides.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cli_telemetry.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_cli_type_flag.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_code_review_bugs.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_codex_agent_live.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_codex_agent_unit.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_codex_token_mapping.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_command_executed.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_command_statistics.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_command_telemetry_result_data.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_commands_efficiency.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_config_lineage.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_config_merge_engine.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_config_precedence.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_continuous_scoring.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_criterion_result_round_trip.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_custom_lint.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_dataset_expansion.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_debug_logging.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_docker_build_failure.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_docker_runner_container_death.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_docker_runner_mounts.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_docker_runner_stream_limit.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_docker_wildcard_env.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_docker_workdir_live.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_driver_resolver.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_error_handling.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_event_collector.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_experiment_cli.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_experiment_loader.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_experiment_models.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_experiment_resolver.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_experiment_runner.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_file_check.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_file_contains_scoring.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_formatting.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_git_clone_failure.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_heartbeat_watchdog.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_ignore_patterns_negation.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_image_from_dockerfiles.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_integration.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_json_check.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_judge_anthropic.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_judge_bedrock.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_judge_burn_in_live.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_judge_context_builder.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_judge_models.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_judge_persistence.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_lint_no_top_level_run_limits.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_lint_runner.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_llm_judge_criterion.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_log_tail_buffer.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_logging.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_logging_isolation.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_merge_characterization.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_merge_strategy_annotations.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_merge_unification.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_models.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_mutations.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_new_criteria.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_node_env_config.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_optional_dependencies.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_orchestrator.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_orchestrator_error_log_tail.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_orchestrator_telemetry.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_overrides_engine.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_parallel.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_path_utils.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_plan_command.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_plugin_processing.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_plugins.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_post_run.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_pr_review_workflow.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_pre_run.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_preservation_mode.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_pricing_registry.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reference_comparison_scoring.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reference_evaluator.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reference_missing_file.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reference_models.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reference_orchestrator.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_registry.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_report_command.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reports.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reports_experiment.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reports_html.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_reports_stats.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_resolve_task_files.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_resume.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_retry_logic_comprehensive.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_routing.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_run_command_stdout.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_run_limits_models.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_run_limits_orchestrator.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_run_limits_resolver.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_runtime_tool_versions.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sandbox.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sandbox_layer_builder.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sandbox_optional.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sandbox_security.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sandbox_symlink_preservation.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sandbox_templates.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_scorers.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_scoring_quality.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sdk_option_classification.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_simulation_config.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_simulation_integration.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_simulation_termination.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_simulation_trials.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_agent_integration.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_batch.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_callbacks.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_cli.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_events.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_orchestrator.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_renderers.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_streaming_wire.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_sub_agent_runner.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_success_criterion_union.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_summaries.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_tags.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_task_definition_unknown_fields.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_teardown_interrupt.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_telemetry.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_template_env_expansion.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_timeout_batch.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_timeout_categorization.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_timeout_exceptions.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_timeout_models.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_timeout_orchestrator.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_token_usage.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_uipath_eval.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_user_simulator.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_utils.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_utterance_extraction.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_variant_prompt_file.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_verdict_tool.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_watchdog.py +0 -0
- {coder_eval-0.8.7rc11 → coder_eval-0.8.9}/tests/test_yaml_migration.py +0 -0
|
@@ -12,7 +12,7 @@ description: Run a multi-model code review on uncommitted changes or a described
|
|
|
12
12
|
|
|
13
13
|
Run a thorough code review using multiple AI models in parallel, then fix all high-confidence medium-severity and above findings.
|
|
14
14
|
|
|
15
|
-
**Cost note**: This command runs `make verify` + a multi-model review (`gemini-3` + `
|
|
15
|
+
**Cost note**: This command runs `make verify` + a multi-model review (`gemini-3` + `gpt-5` via MCP, plus an Opus sub-agent) + automatic fixes. Expensive in time and tokens. Use this for changes you're about to ship; for broad codebase audits use `/coder-eval-code-review-full`; for quick local checks, run targeted tools (`ruff`, `pyright`, `pytest`) directly.
|
|
16
16
|
|
|
17
17
|
Input: $ARGUMENTS
|
|
18
18
|
|
|
@@ -65,7 +65,7 @@ If it fails, report what's failing and stop — code review on broken code is pr
|
|
|
65
65
|
|
|
66
66
|
Launch two reviews **in parallel**:
|
|
67
67
|
|
|
68
|
-
**Review A — Multi-model (via `mcp__multi__codereview`)**: run it per the shared procedure in `.claude/shared/multi-model-review.md` — `models: ["gemini-3", "
|
|
68
|
+
**Review A — Multi-model (via `mcp__multi__codereview`)**: run it per the shared procedure in `.claude/shared/multi-model-review.md` — `models: ["gemini-3", "gpt-5"]`, `relevant_files` = absolute paths of all changed files, `content` = a review request citing the Severity Standard, Review Principles, and Checklist. **Heed the multi-step protocol described there** (the step-1 response is usually an `in_progress` checklist, not findings — you must make the `step_number: 2` follow-up call with the same `thread_id`). Falls back to two Opus sub-agents if the tool is unavailable.
|
|
69
69
|
|
|
70
70
|
**Review B — Opus sub-agent**: Use the `Agent` tool with `model: "opus"`. Give it the list of changed files and the following specialized tasks to run in parallel internally:
|
|
71
71
|
|
|
@@ -120,7 +120,7 @@ across sessions and provides forensic context if a fix later proves wrong:
|
|
|
120
120
|
- Git SHA: <`git rev-parse HEAD`>
|
|
121
121
|
- Branch: <`git rev-parse --abbrev-ref HEAD`>
|
|
122
122
|
- Scope: <uncommitted | described "<input>" | last commit>
|
|
123
|
-
- Reviewers: <e.g. gemini-3,
|
|
123
|
+
- Reviewers: <e.g. gemini-3, gpt-5, opus-fallback-1, opus-fallback-2 — list actual reviewers used>
|
|
124
124
|
|
|
125
125
|
### Scope
|
|
126
126
|
- Files reviewed: (list)
|
|
@@ -14,7 +14,7 @@ If `mcp__multi__codereview` is available (check the deferred-tools list; if list
|
|
|
14
14
|
but not loaded, load it with `ToolSearch` → `select:mcp__multi__codereview`), call
|
|
15
15
|
it with:
|
|
16
16
|
|
|
17
|
-
- `models`: the strongest available (e.g. `["gemini-3", "
|
|
17
|
+
- `models`: the strongest available (e.g. `["gemini-3", "gpt-5"]` — as of July 2026 these resolve to `gemini-3.1-pro-preview` and `gpt-5.6-sol`; check `mcp__multi__models` if unsure)
|
|
18
18
|
- `relevant_files`: absolute paths of every changed / in-scope file
|
|
19
19
|
- `content`: the review request, citing the consumer's rubric (the shared **Review Criteria**, the **Severity Standard**, etc.)
|
|
20
20
|
- `base_path`: project root
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
name: Adopter — we're using coder_eval
|
|
2
|
+
description: Tell us your team uses coder_eval so we can add you to ADOPTERS.md
|
|
3
|
+
title: "[adopter] <organization>"
|
|
4
|
+
labels: ["adopter"]
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
Thanks for using coder_eval! Adopter entries help other teams see the project is
|
|
10
|
+
real and in production, and they tell us which use cases to keep supporting.
|
|
11
|
+
|
|
12
|
+
Everything below is optional except the organization and how you use it. We only
|
|
13
|
+
publish what you explicitly allow here.
|
|
14
|
+
- type: input
|
|
15
|
+
id: organization
|
|
16
|
+
attributes:
|
|
17
|
+
label: Organization
|
|
18
|
+
description: The name you'd like listed.
|
|
19
|
+
placeholder: Acme Corp
|
|
20
|
+
validations:
|
|
21
|
+
required: true
|
|
22
|
+
- type: input
|
|
23
|
+
id: website
|
|
24
|
+
attributes:
|
|
25
|
+
label: Website
|
|
26
|
+
placeholder: https://example.com
|
|
27
|
+
validations:
|
|
28
|
+
required: false
|
|
29
|
+
- type: textarea
|
|
30
|
+
id: usage
|
|
31
|
+
attributes:
|
|
32
|
+
label: How do you use coder_eval?
|
|
33
|
+
description: |
|
|
34
|
+
A sentence or two. What do you evaluate — Claude Code skills, agent A/B tests,
|
|
35
|
+
CI quality gates, your own repos — and roughly at what scale?
|
|
36
|
+
placeholder: |
|
|
37
|
+
We gate CI on a suite of ~40 YAML tasks that check our internal Claude Code
|
|
38
|
+
skills still trigger, and A/B Claude Code against Codex each release.
|
|
39
|
+
validations:
|
|
40
|
+
required: true
|
|
41
|
+
- type: dropdown
|
|
42
|
+
id: listing
|
|
43
|
+
attributes:
|
|
44
|
+
label: How may we list you?
|
|
45
|
+
description: |
|
|
46
|
+
Pick the most you're comfortable with. **Logo use needs someone who can approve
|
|
47
|
+
trademark use for your organization** — if that isn't you, choose a name-only or
|
|
48
|
+
private option and we'll follow up.
|
|
49
|
+
options:
|
|
50
|
+
- Name only, in ADOPTERS.md
|
|
51
|
+
- Name in ADOPTERS.md and on the project website
|
|
52
|
+
- Name and logo in ADOPTERS.md and on the project website
|
|
53
|
+
- Please don't list us publicly — this is just for the maintainers
|
|
54
|
+
default: 0
|
|
55
|
+
validations:
|
|
56
|
+
required: true
|
|
57
|
+
- type: checkboxes
|
|
58
|
+
id: logo-permission
|
|
59
|
+
attributes:
|
|
60
|
+
label: Trademark permission
|
|
61
|
+
description: Only required if you selected a logo option above.
|
|
62
|
+
options:
|
|
63
|
+
- label: >-
|
|
64
|
+
I am authorized to grant this permission on behalf of my organization, and I
|
|
65
|
+
grant the coder_eval maintainers a non-exclusive, revocable license to display
|
|
66
|
+
our name and logo as an adopter in ADOPTERS.md and on the project website. We
|
|
67
|
+
can withdraw it at any time by commenting on this issue.
|
|
68
|
+
required: false
|
|
69
|
+
- type: input
|
|
70
|
+
id: contact
|
|
71
|
+
attributes:
|
|
72
|
+
label: Contact
|
|
73
|
+
description: GitHub handle or email, so we can reach you before publishing anything.
|
|
74
|
+
validations:
|
|
75
|
+
required: false
|
|
76
|
+
- type: checkboxes
|
|
77
|
+
id: case-study
|
|
78
|
+
attributes:
|
|
79
|
+
label: Anything else?
|
|
80
|
+
options:
|
|
81
|
+
- label: We'd be open to a short case study or a talk about our setup.
|
|
82
|
+
required: false
|
|
83
|
+
- label: We'd like to hear about breaking changes before they ship.
|
|
84
|
+
required: false
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
name: Docs
|
|
2
|
+
|
|
3
|
+
# Build the MkDocs Material site and publish it to the `gh-pages` branch via
|
|
4
|
+
# `mkdocs gh-deploy` — the same mechanism UiPath/uipath-python uses. This workflow
|
|
5
|
+
# only pushes a branch (needs `contents: write`); it never calls the Pages API, so
|
|
6
|
+
# it succeeds even before Pages is switched on.
|
|
7
|
+
#
|
|
8
|
+
# One-time setup (org owner): the UiPath org blocks Pages *creation*, so enable
|
|
9
|
+
# Pages for this repo once — Settings → Pages → Build and deployment →
|
|
10
|
+
# Source: "Deploy from a branch" → branch `gh-pages` / `/ (root)`. That's the same
|
|
11
|
+
# (legacy, branch-based) configuration uipath-python already runs on.
|
|
12
|
+
on:
|
|
13
|
+
push:
|
|
14
|
+
branches: [main]
|
|
15
|
+
paths:
|
|
16
|
+
- "docs/**"
|
|
17
|
+
- "mkdocs.yml"
|
|
18
|
+
- ".github/workflows/docs.yml"
|
|
19
|
+
workflow_dispatch:
|
|
20
|
+
|
|
21
|
+
permissions:
|
|
22
|
+
contents: write
|
|
23
|
+
|
|
24
|
+
concurrency:
|
|
25
|
+
group: docs-gh-pages
|
|
26
|
+
cancel-in-progress: true
|
|
27
|
+
|
|
28
|
+
jobs:
|
|
29
|
+
publish:
|
|
30
|
+
runs-on: ubuntu-latest
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/checkout@v4
|
|
33
|
+
- uses: actions/setup-python@v5
|
|
34
|
+
with:
|
|
35
|
+
python-version: "3.13"
|
|
36
|
+
- name: Install social-card system libraries
|
|
37
|
+
run: |
|
|
38
|
+
sudo apt-get update
|
|
39
|
+
sudo apt-get install -y --no-install-recommends \
|
|
40
|
+
libcairo2 libfreetype6 libjpeg-turbo8 libpng16-16 pngquant
|
|
41
|
+
- name: Install MkDocs Material
|
|
42
|
+
run: pip install "mkdocs-material[imaging]>=9.5,<10"
|
|
43
|
+
- name: Configure git identity for gh-pages commits
|
|
44
|
+
run: |
|
|
45
|
+
git config user.name "coder-eval"
|
|
46
|
+
git config user.email "coder-eval@uipath.com"
|
|
47
|
+
- name: Build strictly and publish to gh-pages
|
|
48
|
+
run: mkdocs gh-deploy --force --strict
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Adopters
|
|
2
|
+
|
|
3
|
+
Teams and organizations using `coder_eval` in their development or CI workflows.
|
|
4
|
+
|
|
5
|
+
Using it? [Open an adopter issue](https://github.com/UiPath/coder_eval/issues/new?template=adopter.yml)
|
|
6
|
+
and we'll add you here. Name-only listings are welcome — a logo is never required.
|
|
7
|
+
|
|
8
|
+
Every entry below is published with the organization's permission, and any of them can be
|
|
9
|
+
removed on request by opening an issue.
|
|
10
|
+
|
|
11
|
+
| Organization | How they use it |
|
|
12
|
+
|---|---|
|
|
13
|
+
| [UiPath](https://www.uipath.com) | Nightly evaluation of internal Claude Code skills and agent A/B experiments; maintains `coder_eval`. |
|
|
@@ -2,6 +2,212 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v0.8.9 (2026-07-23)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- Code review fixes for welch-t-test-exact ([#38](https://github.com/UiPath/coder_eval/pull/38),
|
|
10
|
+
[`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
|
|
11
|
+
|
|
12
|
+
- Render weight:0 criteria as informational on every display surface
|
|
13
|
+
([#34](https://github.com/UiPath/coder_eval/pull/34),
|
|
14
|
+
[`9a34e90`](https://github.com/UiPath/coder_eval/commit/9a34e90bba2854316149cad61613a75dd3bd91e4))
|
|
15
|
+
|
|
16
|
+
- Weight:0 un-gates criteria (informational criteria)
|
|
17
|
+
([#34](https://github.com/UiPath/coder_eval/pull/34),
|
|
18
|
+
[`9a34e90`](https://github.com/UiPath/coder_eval/commit/9a34e90bba2854316149cad61613a75dd3bd91e4))
|
|
19
|
+
|
|
20
|
+
- Weight:0 un-gates criteria and renders as informational
|
|
21
|
+
([#34](https://github.com/UiPath/coder_eval/pull/34),
|
|
22
|
+
[`9a34e90`](https://github.com/UiPath/coder_eval/commit/9a34e90bba2854316149cad61613a75dd3bd91e4))
|
|
23
|
+
|
|
24
|
+
- **early-stop**: Decide skill activation on the tool call, not its result
|
|
25
|
+
([#43](https://github.com/UiPath/coder_eval/pull/43),
|
|
26
|
+
[`d34aa97`](https://github.com/UiPath/coder_eval/commit/d34aa97416ae3af09d09cdf78cb6607b4e2e6f7c))
|
|
27
|
+
|
|
28
|
+
- **early-stop**: Latch skill activation on any engagement, not first
|
|
29
|
+
([#43](https://github.com/UiPath/coder_eval/pull/43),
|
|
30
|
+
[`d34aa97`](https://github.com/UiPath/coder_eval/commit/d34aa97416ae3af09d09cdf78cb6607b4e2e6f7c))
|
|
31
|
+
|
|
32
|
+
- **evalboard**: Match watchlist skeleton header to avoid layout shift
|
|
33
|
+
([#45](https://github.com/UiPath/coder_eval/pull/45),
|
|
34
|
+
[`acc1c86`](https://github.com/UiPath/coder_eval/commit/acc1c86bc97b80383ce1ef402356853447088e4a))
|
|
35
|
+
|
|
36
|
+
- **reports**: 1/2 — exact Student-t p-values in welch_t_test
|
|
37
|
+
([#38](https://github.com/UiPath/coder_eval/pull/38),
|
|
38
|
+
[`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
|
|
39
|
+
|
|
40
|
+
- **reports**: Exact Student-t p-values and a paired comparison section
|
|
41
|
+
([#38](https://github.com/UiPath/coder_eval/pull/38),
|
|
42
|
+
[`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
|
|
43
|
+
|
|
44
|
+
- **reports**: Fail loud on t* overflow; surface excluded paired tasks
|
|
45
|
+
([#38](https://github.com/UiPath/coder_eval/pull/38),
|
|
46
|
+
[`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
|
|
47
|
+
|
|
48
|
+
- **reports**: One source of truth for variant series and paired stats
|
|
49
|
+
([#38](https://github.com/UiPath/coder_eval/pull/38),
|
|
50
|
+
[`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
|
|
51
|
+
|
|
52
|
+
- **reports**: Validate confidence and n_resamples in bootstrap_mean_ci
|
|
53
|
+
([#38](https://github.com/UiPath/coder_eval/pull/38),
|
|
54
|
+
[`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
|
|
55
|
+
|
|
56
|
+
### Chores
|
|
57
|
+
|
|
58
|
+
- **harness**: Defer two guards from the welch-t-test-exact run
|
|
59
|
+
([#38](https://github.com/UiPath/coder_eval/pull/38),
|
|
60
|
+
[`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
|
|
61
|
+
|
|
62
|
+
### Documentation
|
|
63
|
+
|
|
64
|
+
- Add adopter issue template and ADOPTERS.md ([#40](https://github.com/UiPath/coder_eval/pull/40),
|
|
65
|
+
[`bfbed4e`](https://github.com/UiPath/coder_eval/commit/bfbed4e4a2ca857167fac2cb15462b7159e97684))
|
|
66
|
+
|
|
67
|
+
- Switch multi-model review from codex to gpt-5 alias
|
|
68
|
+
([#36](https://github.com/UiPath/coder_eval/pull/36),
|
|
69
|
+
[`0a3f2a7`](https://github.com/UiPath/coder_eval/commit/0a3f2a71a0a1e1e56f42a668fff57bac06eb99ec))
|
|
70
|
+
|
|
71
|
+
### Features
|
|
72
|
+
|
|
73
|
+
- **evalboard**: Make all pages harness-aware and stream tables
|
|
74
|
+
([#45](https://github.com/UiPath/coder_eval/pull/45),
|
|
75
|
+
[`acc1c86`](https://github.com/UiPath/coder_eval/commit/acc1c86bc97b80383ce1ef402356853447088e4a))
|
|
76
|
+
|
|
77
|
+
- **evalboard**: Make analytics surfaces harness-aware and stream tables
|
|
78
|
+
([#45](https://github.com/UiPath/coder_eval/pull/45),
|
|
79
|
+
[`acc1c86`](https://github.com/UiPath/coder_eval/commit/acc1c86bc97b80383ce1ef402356853447088e4a))
|
|
80
|
+
|
|
81
|
+
- **evalboard**: Scope task trends to one harness
|
|
82
|
+
([#45](https://github.com/UiPath/coder_eval/pull/45),
|
|
83
|
+
[`acc1c86`](https://github.com/UiPath/coder_eval/commit/acc1c86bc97b80383ce1ef402356853447088e4a))
|
|
84
|
+
|
|
85
|
+
- **reports**: 2/2 — add a Paired Comparison section to experiment reports
|
|
86
|
+
([#38](https://github.com/UiPath/coder_eval/pull/38),
|
|
87
|
+
[`6df6e9b`](https://github.com/UiPath/coder_eval/commit/6df6e9bb1f3bd009592185ec3473e8f2e67d3816))
|
|
88
|
+
|
|
89
|
+
### Refactoring
|
|
90
|
+
|
|
91
|
+
- **evalboard**: Address review nits on harness plumbing
|
|
92
|
+
([#45](https://github.com/UiPath/coder_eval/pull/45),
|
|
93
|
+
[`acc1c86`](https://github.com/UiPath/coder_eval/commit/acc1c86bc97b80383ce1ef402356853447088e4a))
|
|
94
|
+
|
|
95
|
+
### Testing
|
|
96
|
+
|
|
97
|
+
- **early-stop**: Cover second-review items (two-AgentStart, golden corpus, parity)
|
|
98
|
+
([#43](https://github.com/UiPath/coder_eval/pull/43),
|
|
99
|
+
[`d34aa97`](https://github.com/UiPath/coder_eval/commit/d34aa97416ae3af09d09cdf78cb6607b4e2e6f7c))
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
## v0.8.8 (2026-07-22)
|
|
103
|
+
|
|
104
|
+
### Bug Fixes
|
|
105
|
+
|
|
106
|
+
- **codex**: Create CODEX_HOME before pinning it in the app-server env
|
|
107
|
+
([#39](https://github.com/UiPath/coder_eval/pull/39),
|
|
108
|
+
[`8d98b91`](https://github.com/UiPath/coder_eval/commit/8d98b912ae4767904c7d1c395913c3d0aaec6c66))
|
|
109
|
+
|
|
110
|
+
### Documentation
|
|
111
|
+
|
|
112
|
+
- Add Website badge and point PyPI Homepage at coder-eval.com
|
|
113
|
+
([#41](https://github.com/UiPath/coder_eval/pull/41),
|
|
114
|
+
[`0551534`](https://github.com/UiPath/coder_eval/commit/055153409d86b8d537bba73ef7ed58dfd17fee26))
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
## v0.8.7 (2026-07-22)
|
|
118
|
+
|
|
119
|
+
### Bug Fixes
|
|
120
|
+
|
|
121
|
+
- Detect Windows skill paths in telemetry ([#24](https://github.com/UiPath/coder_eval/pull/24),
|
|
122
|
+
[`c57a6b0`](https://github.com/UiPath/coder_eval/commit/c57a6b0408ef116177b15bc9b09a768096aaa33f))
|
|
123
|
+
|
|
124
|
+
- **agents**: Run codex + antigravity harnesses on the tempdir/host path
|
|
125
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
126
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
127
|
+
|
|
128
|
+
- **antigravity**: Pin google-antigravity 0.1.7 to load on glibc 2.35
|
|
129
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
130
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
131
|
+
|
|
132
|
+
- **codex**: Always run full-access; drop the in-process OS sandbox
|
|
133
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
134
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
135
|
+
|
|
136
|
+
- **codex**: Cover zsh login shells (macOS default) in the mock-PATH home shim
|
|
137
|
+
([#26](https://github.com/UiPath/coder_eval/pull/26),
|
|
138
|
+
[`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
|
|
139
|
+
|
|
140
|
+
- **codex**: Keep mock CLIs shadowed in bash login shells
|
|
141
|
+
([#26](https://github.com/UiPath/coder_eval/pull/26),
|
|
142
|
+
[`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
|
|
143
|
+
|
|
144
|
+
- **codex**: Make login-shell temp-home lifecycle exception-safe incl. kill_sync
|
|
145
|
+
([#26](https://github.com/UiPath/coder_eval/pull/26),
|
|
146
|
+
[`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
|
|
147
|
+
|
|
148
|
+
- **codex**: Restore mock-CLI PATH prepend in login shells via per-task HOME profile
|
|
149
|
+
([#26](https://github.com/UiPath/coder_eval/pull/26),
|
|
150
|
+
[`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
|
|
151
|
+
|
|
152
|
+
- **codex**: Restore original HOME inside generated login-shell profile
|
|
153
|
+
([#26](https://github.com/UiPath/coder_eval/pull/26),
|
|
154
|
+
[`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
|
|
155
|
+
|
|
156
|
+
- **codex**: Use full-access sandbox on coder_eval-managed tempdir path
|
|
157
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
158
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
159
|
+
|
|
160
|
+
- **deps**: Bump pyasn1 to 0.6.4 for GHSA-8ppf-4f7h-5ppj / GHSA-hm4w-wwcw-mr6r
|
|
161
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
162
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
163
|
+
|
|
164
|
+
### Chores
|
|
165
|
+
|
|
166
|
+
- **deps**: Bump pyasn1 0.6.3 -> 0.6.4 (GHSA-8ppf-4f7h-5ppj, GHSA-hm4w-wwcw-mr6r)
|
|
167
|
+
([#32](https://github.com/UiPath/coder_eval/pull/32),
|
|
168
|
+
[`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
|
|
169
|
+
|
|
170
|
+
- **deps**: Upgrade agent SDKs to latest (claude 0.2.124, codex 0.144.4)
|
|
171
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
172
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
173
|
+
|
|
174
|
+
### Continuous Integration
|
|
175
|
+
|
|
176
|
+
- **release**: Publish a prerelease from a non-main branch
|
|
177
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
178
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
179
|
+
|
|
180
|
+
### Documentation
|
|
181
|
+
|
|
182
|
+
- Add MkDocs docs site, comparison page, and SEO metadata
|
|
183
|
+
([#32](https://github.com/UiPath/coder_eval/pull/32),
|
|
184
|
+
[`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
|
|
185
|
+
|
|
186
|
+
- Address PR review — Coder Eval naming, cleaner table, gh-deploy workflow
|
|
187
|
+
([#32](https://github.com/UiPath/coder_eval/pull/32),
|
|
188
|
+
[`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
|
|
189
|
+
|
|
190
|
+
- Address review — git identity for gh-pages, single strict deploy, table glyphs, uv tool install in
|
|
191
|
+
Tutorial 01 ([#32](https://github.com/UiPath/coder_eval/pull/32),
|
|
192
|
+
[`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
|
|
193
|
+
|
|
194
|
+
### Refactoring
|
|
195
|
+
|
|
196
|
+
- **codex**: Drop dead sandbox branch + honest full-access messaging
|
|
197
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
198
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
199
|
+
|
|
200
|
+
### Testing
|
|
201
|
+
|
|
202
|
+
- Accept sandbox_managed kwarg in agent test doubles
|
|
203
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
204
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
205
|
+
|
|
206
|
+
- **codex**: Pin start-to-CodexConfig env composition and tidy test imports
|
|
207
|
+
([#26](https://github.com/UiPath/coder_eval/pull/26),
|
|
208
|
+
[`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
|
|
209
|
+
|
|
210
|
+
|
|
5
211
|
## v0.8.6 (2026-07-20)
|
|
6
212
|
|
|
7
213
|
### Features
|
|
@@ -35,7 +35,7 @@ coder_eval/
|
|
|
35
35
|
│ ├── criteria.py # 14 success criterion types + base + union
|
|
36
36
|
│ ├── experiment.py # ExperimentDefinition, ExperimentVariant, ResolvedTask, result models
|
|
37
37
|
│ ├── judge_defaults.py # DEFAULT_JUDGE_MODEL constant (cycle-free leaf)
|
|
38
|
-
│ ├── mutations.py # PromptMutation variants (prefix/suffix/replace/template
|
|
38
|
+
│ ├── mutations.py # PromptMutation variants (prefix/suffix/replace/template)
|
|
39
39
|
│ ├── results.py # CriterionResult (+ ClassificationCriterionResult), TurnRecord, EvaluationResult, EarlyStopInfo/EarlyStopReason, CriterionAggregate, ThresholdCheck, SuiteRollup
|
|
40
40
|
│ ├── routing.py # ApiRoute (DirectRoute/BedrockRoute)
|
|
41
41
|
│ ├── sandbox.py # SandboxConfig, ResourceLimits
|
|
@@ -294,7 +294,7 @@ Tasks are YAML files. See [docs/TASK_DEFINITION_GUIDE.md](docs/TASK_DEFINITION_G
|
|
|
294
294
|
|
|
295
295
|
**Runtime (always)**: pydantic, pydantic-settings, pyyaml, typer, rich, python-dotenv, anthropic, claude-agent-sdk, anyio, radon, tqdm, jmespath, jsonschema
|
|
296
296
|
|
|
297
|
-
**Runtime (optional, `[uipath]` extra)**: uipath — the in-host `uipath` SDK (handy for local sandbox parity with tasks that invoke `uv run uipath eval ...`). Base installs without this extra still run end-to-end; UiPath-dependent paths fail at dispatch with a clear `pip install 'coder-eval[uipath]'` hint. The LLM judge
|
|
297
|
+
**Runtime (optional, `[uipath]` extra)**: uipath — the in-host `uipath` SDK (handy for local sandbox parity with tasks that invoke `uv run uipath eval ...`). Base installs without this extra still run end-to-end; UiPath-dependent paths fail at dispatch with a clear `pip install 'coder-eval[uipath]'` hint. The LLM judge no longer uses the LLM Gateway client — it routes through the run's backend (Bedrock / Anthropic), so `uipath-llmgw-client` is no longer a dependency.
|
|
298
298
|
|
|
299
299
|
**Dev**: pytest, pytest-asyncio, pytest-mock, pytest-cov, ruff, pyright, pip-audit, bandit, pre-commit, mcp
|
|
300
300
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: coder-eval
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.9
|
|
4
4
|
Summary: Evaluate, benchmark, and A/B-test AI coding agents (Claude Code, Codex, Gemini/Antigravity) with sandboxed, reproducible YAML task suites.
|
|
5
|
-
Project-URL: Homepage, https://
|
|
5
|
+
Project-URL: Homepage, https://coder-eval.com
|
|
6
6
|
Project-URL: Repository, https://github.com/UiPath/coder_eval
|
|
7
7
|
Project-URL: Documentation, https://github.com/UiPath/coder_eval/tree/main/docs
|
|
8
8
|
Project-URL: Issues, https://github.com/UiPath/coder_eval/issues
|
|
@@ -11,7 +11,7 @@ Author-email: UiPath <coder-eval@uipath.com>
|
|
|
11
11
|
License-Expression: Apache-2.0
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
License-File: NOTICE
|
|
14
|
-
Keywords: agent,agent-evaluation,agent-skills,ai,anthropic,antigravity,benchmark,claude,claude-code,claude-skills,code-generation,codex,coding-agent,eval,evals,evaluation,gemini,llm,llm-evaluation,sandbox,skills-evaluation,skillsbench,swe-bench
|
|
14
|
+
Keywords: agent,agent-evaluation,agent-skills,agent-testing,ai,ai-evaluation,anthropic,antigravity,benchmark,claude,claude-code,claude-code-skills,claude-skills,code-generation,codex,coding-agent,eval,evals,evaluation,gemini,llm,llm-eval,llm-evaluation,llmops,sandbox,skills-evaluation,skillsbench,swe-bench
|
|
15
15
|
Classifier: Development Status :: 4 - Beta
|
|
16
16
|
Classifier: Environment :: Console
|
|
17
17
|
Classifier: Intended Audience :: Developers
|
|
@@ -60,28 +60,37 @@ Provides-Extra: uipath
|
|
|
60
60
|
Requires-Dist: uipath>=2.10.31; extra == 'uipath'
|
|
61
61
|
Description-Content-Type: text/markdown
|
|
62
62
|
|
|
63
|
-
#
|
|
63
|
+
# Coder Eval — evaluate & benchmark AI coding agents and Claude Code skills
|
|
64
64
|
|
|
65
65
|
[](https://pypi.org/project/coder-eval/)
|
|
66
|
+
[](https://coder-eval.com)
|
|
67
|
+
[](https://uipath.github.io/coder_eval/)
|
|
66
68
|
[](LICENSE)
|
|
67
69
|
[](https://www.python.org/downloads/)
|
|
68
70
|
[](https://github.com/UiPath/coder_eval/actions/workflows/pr-checks.yml)
|
|
69
71
|
[](https://github.com/astral-sh/ruff)
|
|
70
72
|
|
|
71
|
-
|
|
73
|
+
**Coder Eval** (`pip install coder-eval` / `uv tool install coder-eval`) is an open-source framework for
|
|
74
|
+
**evaluating and benchmarking AI coding agents and their skills** — built for CLI
|
|
72
75
|
and skill builders — with sandboxing, reproducibility, and data-driven analysis.
|
|
73
|
-
|
|
74
|
-
|
|
76
|
+
It runs a real agent (**Claude Code**, **Codex**, or **Google Antigravity /
|
|
77
|
+
Gemini**) in a sandbox against declarative YAML tasks, then scores the files and
|
|
78
|
+
commands it actually produced. Not an "agentic coding" benchmark: it measures how
|
|
79
|
+
effective your CLI and skills are when used by coding agents.
|
|
80
|
+
|
|
81
|
+
Reach for it when you want to **test whether a Claude Code skill triggers**,
|
|
82
|
+
**A/B-test Claude Code vs. Codex vs. Gemini** (or model vs. model, prompt vs.
|
|
83
|
+
prompt), or **gate CI on coding-agent quality**. Unlike fixed datasets (SWE-bench,
|
|
84
|
+
SkillsBench) that rank models on a shared leaderboard, Coder Eval evaluates the
|
|
85
|
+
tasks, skills, and workflows *you* ship — with weighted 0.0–1.0 criteria, a
|
|
86
|
+
`skill_triggered` activation check, an A/B experiment layer, and per-tool cost
|
|
87
|
+
telemetry. See [How it compares](https://uipath.github.io/coder_eval/comparison/).
|
|
88
|
+
📚 **Full docs:** **[uipath.github.io/coder_eval](https://uipath.github.io/coder_eval/)**.
|
|
75
89
|
|
|
76
90
|
<p align="center">
|
|
77
|
-
<img src="docs/assets/hero.gif" alt="
|
|
91
|
+
<img src="docs/assets/hero.gif" alt="Coder Eval running the hello_date task: a sandboxed agent writes and runs a script from a YAML task, then the scored result is browsed in evalboard" width="100%">
|
|
78
92
|
</p>
|
|
79
93
|
|
|
80
|
-
> **The Coding Agents Gym.** A sandboxed, reproducible framework to evaluate,
|
|
81
|
-
> benchmark, and A/B-test AI coding agents — Claude Code, Codex, and Google
|
|
82
|
-
> Antigravity (Gemini) today, any agent via a plugin SPI — with declarative
|
|
83
|
-
> YAML tasks and weighted scoring.
|
|
84
|
-
|
|
85
94
|
- **Declarative YAML tasks** with pinned dependencies and clear success criteria
|
|
86
95
|
- **Sandboxed execution** in isolated environments with resource limits
|
|
87
96
|
- **Weighted, continuous scoring** (0.0–1.0) with fractional credit and thresholds
|
|
@@ -92,14 +101,14 @@ are when used by coding agents.
|
|
|
92
101
|
|
|
93
102
|
## What you can do with it
|
|
94
103
|
|
|
95
|
-
- **Benchmark coding agents** — score an agent across a suite of tasks with weighted
|
|
104
|
+
- **Benchmark coding agents** — score an agent across a suite of tasks with weighted scoring and pass/fail thresholds
|
|
96
105
|
- **Compare models & configs** — A/B-test Claude vs. Codex vs. Gemini, model vs. model, tool-on vs. tool-off, prompt vs. prompt
|
|
97
106
|
- **Evaluate skills** — verify an agent actually engages a target skill (`skill_triggered`) and score skill-driven suites (SkillsBench-style)
|
|
98
107
|
- **Keep skills up to date in CI** — re-validate your skills on every change or on a schedule; catch silent regressions when models, prompts, or the skills themselves drift
|
|
99
108
|
- **Gate CI on agent quality** — run the suite in GitHub Actions and fail the build on regressions
|
|
100
109
|
- **Bring your own dataset** — fan one task out over many rows for larger benchmark suites
|
|
101
110
|
|
|
102
|
-
> **Keeping skills fresh?** Run
|
|
111
|
+
> **Keeping skills fresh?** Run Coder Eval as a scheduled GitHub Actions job so your
|
|
103
112
|
> skills are continuously re-evaluated against the latest model — a skill that quietly
|
|
104
113
|
> stops triggering surfaces as a failing criterion before your users hit it. See
|
|
105
114
|
> **[Tutorial 02 — Running coder_eval in CI](docs/tutorials/02-ci-pipeline.md)**.
|
|
@@ -115,7 +124,9 @@ git clone https://github.com/UiPath/coder_eval.git
|
|
|
115
124
|
cd coder_eval
|
|
116
125
|
|
|
117
126
|
uv sync --extra dev # install core + dev tools
|
|
118
|
-
cp .env.example .env # then set ANTHROPIC_API_KEY
|
|
127
|
+
cp .env.example .env # then set ANTHROPIC_API_KEY — or skip that: an
|
|
128
|
+
# existing Claude Code login (`claude login`) is
|
|
129
|
+
# picked up automatically
|
|
119
130
|
|
|
120
131
|
uv run coder-eval plan tasks/hello_date.yaml # validate (no tokens spent)
|
|
121
132
|
uv run coder-eval run tasks/hello_date.yaml # run your first evaluation
|
|
@@ -129,11 +140,23 @@ The optional `[uipath]` extra (`uv sync --extra dev --extra uipath`) adds the in
|
|
|
129
140
|
required). Without it the framework runs end-to-end; uipath-dependent features fail
|
|
130
141
|
at dispatch with a clear hint.
|
|
131
142
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
143
|
+
**Using Coder Eval in CI or another project?** Install the published package
|
|
144
|
+
instead of cloning:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
uv tool install coder-eval # puts the `coder-eval` CLI on your PATH,
|
|
148
|
+
# in its own isolated environment
|
|
149
|
+
|
|
150
|
+
uv tool install "coder-eval[codex,antigravity]" # same, with agent extras
|
|
151
|
+
coder-eval --version # verify the install
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
To add it as a project dependency instead: `uv add coder-eval` or
|
|
155
|
+
`pip install coder-eval`. In a real CI gate, pin to a specific released version
|
|
156
|
+
so a harness upgrade can't silently move your results. (The example `tasks/`
|
|
157
|
+
live in this repo — clone it or point the CLI at your own task files.) See
|
|
158
|
+
[Tutorial 02 — Running coder_eval in CI](docs/tutorials/02-ci-pipeline.md) for
|
|
159
|
+
the full setup.
|
|
137
160
|
|
|
138
161
|
## Telemetry
|
|
139
162
|
|
|
@@ -161,17 +184,18 @@ at dispatch with a clear hint.
|
|
|
161
184
|
|
|
162
185
|
## How it compares
|
|
163
186
|
|
|
164
|
-
- **vs. SWE-bench
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
0.0–1.0) — not just a judge over a string.
|
|
187
|
+
- **vs. fixed benchmarks (SWE-bench, SkillsBench)** — they score a canonical dataset;
|
|
188
|
+
Coder Eval scores *your* tasks with continuous 0.0–1.0 weighted criteria (and can
|
|
189
|
+
still wrap a fixed dataset via [Bring Your Own Dataset](docs/BYOD.md)).
|
|
190
|
+
- **vs. large-scale / RL harnesses (Harbor)** — Harbor targets scale and RL rollouts;
|
|
191
|
+
Coder Eval targets weighted, skill-aware suites gated in CI.
|
|
192
|
+
- **vs. model-output eval tools (OpenAI Evals)** — they grade model text; Coder Eval
|
|
193
|
+
runs a full agent in a sandbox and scores the files and commands it produced.
|
|
172
194
|
- **vs. hand-rolled scripts** — reproducible sandboxes, weighted criteria,
|
|
173
195
|
cost/token telemetry, A/B experiments, and CI-ready pass/fail gates out of the box.
|
|
174
196
|
|
|
197
|
+
See the full [comparison — with sources](https://uipath.github.io/coder_eval/comparison/).
|
|
198
|
+
|
|
175
199
|
## Task Definition
|
|
176
200
|
|
|
177
201
|
A task is a YAML file: a prompt, the agent config, a sandbox, and success criteria.
|
|
@@ -221,12 +245,12 @@ extension points (new criteria, new agents).
|
|
|
221
245
|
|
|
222
246
|
## Known limits & non-goals
|
|
223
247
|
|
|
224
|
-
- **Not a fixed benchmark or leaderboard** —
|
|
248
|
+
- **Not a fixed benchmark or leaderboard** — Coder Eval scores *your* tasks and ships
|
|
225
249
|
example tasks, not a canonical scored dataset.
|
|
226
250
|
- **Tasks execute real code** — run untrusted tasks only under the container driver
|
|
227
251
|
(see [Docker Isolation](docs/DOCKER_ISOLATION.md)); the `tempdir` driver is not a
|
|
228
252
|
security boundary.
|
|
229
|
-
- **Bring your own model credentials** — Anthropic, Bedrock, or Gemini keys;
|
|
253
|
+
- **Bring your own model credentials** — Anthropic, Bedrock, or Gemini keys; Coder Eval
|
|
230
254
|
does not proxy or supply model access.
|
|
231
255
|
- **Python 3.13+ only.**
|
|
232
256
|
|