coder-eval 0.8.7rc10__tar.gz → 0.8.8__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.8/.github/workflows/docs.yml +48 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/release.yml +1 -1
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.gitignore +4 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/CHANGELOG.md +109 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/PKG-INFO +55 -31
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/README.md +52 -28
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/AB_EXPERIMENTS.md +7 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/BYOD.md +7 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/CODEX_AGENT_GUIDE.md +9 -2
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/DOCKER_ISOLATION.md +7 -2
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/TASK_DEFINITION_GUIDE.md +13 -2
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/USER_GUIDE.md +9 -0
- coder_eval-0.8.8/docs/comparison.md +153 -0
- coder_eval-0.8.8/docs/index.md +100 -0
- coder_eval-0.8.8/docs/llms.txt +46 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/01-first-evaluation.md +12 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/02-ci-pipeline.md +7 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/03-evalboard-local.md +7 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/04-writing-a-task.md +7 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/05-comparing-models.md +7 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/06-use-docker-isolation.md +9 -2
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/tutorials/README.md +7 -0
- coder_eval-0.8.8/mkdocs.yml +94 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/pyproject.toml +5 -4
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/__init__.py +1 -1
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agent.py +0 -5
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/antigravity_agent.py +0 -5
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/claude_code_agent.py +0 -4
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/codex_agent.py +42 -62
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/noop_agent.py +0 -1
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestrator.py +0 -9
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/mock_agent.py +0 -2
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/text_stub_agent.py +0 -1
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_codex_agent.py +49 -107
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_orchestrator.py +1 -4
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_simulation_integration.py +0 -1
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_user_simulator.py +0 -2
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/uv.lock +1 -1
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-code-review-full.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-code-review-wf.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-code-review.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-create-plan.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-implement-plan.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-review.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-run-analysis.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/commands/coder-eval-task-create.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/harness-candidates.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/shared/axes.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/shared/multi-model-review.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/shared/review-rubric.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/shared/run-layout.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/workflows/cr-axis.js +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.claude/workflows/cr-parent.js +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.env.example +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/CODEOWNERS +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/code_review.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/dependabot.yml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/claude-pr-review.yml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/codeql.yml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/conventional-commits.yml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/docker-publish.yml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/pr-checks.yml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.github/workflows/publish-testpypi.yml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.pre-commit-config.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/.python-version +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/CLAUDE.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/CODE_OF_CONDUCT.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/CONTRIBUTING.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/LICENSE +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/Makefile +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/NOTICE +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/SECURITY.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docker/Dockerfile +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docker/Dockerfile.runtime +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docker/coder_eval_entrypoint.sh +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docker/coder_eval_runtime_entrypoint.sh +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/IDEAS.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/docs/assets/hero.gif +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/.gitignore +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/README.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/__tests__/search-box.test.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/col-help.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/collapsible-rail.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/harness-badge.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/scroll-table.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/search-box.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/unit-toggle.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/version-list.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_components/window-selector.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_overview/daily-chart.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_overview/tag-rail.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_overview/turn-budget-chart.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/_overview/window-summary.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/api/download/route.ts +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/api/file/route.ts +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/api/refresh/__tests__/route.test.ts +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/api/refresh/route.ts +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/error.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/globals.css +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/icon.png +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/layout.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/page.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/path-to-ga/page.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/trends/__tests__/trends-view.test.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/trends/actions.ts +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/trends/page.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/trends/trends-view.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/watchlist/__tests__/watchlist-view.test.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/watchlist/page.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/app/watchlist/watchlist-view.tsx +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/next-env.d.ts +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/next.config.mjs +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/package.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/pnpm-lock.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/postcss.config.mjs +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/public/harness/antigravity.png +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/public/harness/claude-code.png +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/public/harness/codex.png +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/public/uipath.png +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/tailwind.config.ts +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/tsconfig.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/vitest.config.ts +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/evalboard/vitest.setup.ts +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/default.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/early-stop-ab.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/model-comparison.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/permissions-smoke.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/plugin-comparison.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/prompt-mutations-example.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/experiments/smoke_variants.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/osv-scanner.toml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/.gitattributes +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/_logging.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/registry.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/agents/watchdog.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/analysis.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/aggregate_command.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/console.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/evaluate_command.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/plan_command.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/report_command.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/run_command.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/run_helpers.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/run_task_internal_command.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/cli/utils.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/config.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/_classification_aggregate.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/agent_judge.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/base.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/classification_match.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/command_executed.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/commands_efficiency.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/file_check.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/file_contains.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/file_exists.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/file_matches_regex.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/json_check.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/llm_judge.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/reference_comparison.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/run_command.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/skill_triggered.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/criteria/uipath_eval.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/agent.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/budget.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/categories.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/categorization.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/executor.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/judge.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/retry.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/errors/timeout.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/checker.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/judge_anthropic.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/judge_bedrock.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/judge_context.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/judge_models.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/judge_persistence.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/judge_usage.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/sub_agent.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/summaries.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/evaluation/verdict_tool.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/formatting.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/isolation/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/isolation/docker_runner.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/logging_config.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/agent_config.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/container_paths.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/criteria.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/enums.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/experiment.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/judge.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/judge_defaults.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/limits.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/merge_strategy.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/mutations.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/results.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/routing.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/sandbox.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/tasks.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/telemetry.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/models/templates.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/batch.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/config.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/config_merge.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/early_stop.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/evaluation.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/experiment.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/overrides.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/orchestration/task_loader.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/path_utils.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/plugins.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/pricing.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/py.typed +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/reports.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/reports_experiment.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/reports_html.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/reports_stats.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/resources/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/resources/default_ignore_patterns.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/resources/tags.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/sandbox.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/ast_similarity.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/complexity.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/quality.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/signature_similarity.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/similarity.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/scoring/token_similarity.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/simulation/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/simulation/termination.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/simulation/user_simulator.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/streaming/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/streaming/callbacks.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/streaming/collector.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/streaming/events.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/streaming/renderers.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/streaming/wire.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/telemetry.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/src/coder_eval/utils.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/README.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agentless_smoke_test.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/antigravity_hello_world.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/antigravity_hello_world_docker.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/claude_hello_world.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/claude_hello_world_docker.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/claude_parallel_single_gen.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/claude_subagent_test.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_disallowed_tools_test.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_hello_world.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_parallel_commands.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_parallel_single_gen.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_skills_test.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_string_utils.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/codex_subagent_test.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/subagent_bash_long_input.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/agents/subagent_merge_sort.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/byod_smoke_test.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dataset_example.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/datasets/sentiment.jsonl +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dockerfile_build_example/dockerfile_build_example.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dockerfile_build_example/environment/Dockerfile +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dockerfile_build_example/environment/Dockerfile.workdir +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dockerfile_build_example/environment/input.txt +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dockerfile_build_example/working_dir_auto_example.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/dockerfile_build_example/working_dir_concrete_example.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/fibonacci_with_template.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/hello_date.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/inline_starter_example.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/internal/session_resumption.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/mock_path_dirs_smoke.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/mock_path_dirs_template_dir/mock-cli-bins/README.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/echo_args +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/fixtures/config.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/say_hello +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/mock_path_dirs_template_dir/task.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/python_cli_simulated_judged/echo_simulated_judged.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/3d-scan-calc/3d-scan-calc.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/3d-scan-calc/environment/Dockerfile +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/3d-scan-calc/environment/material_density_table.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/3d-scan-calc/environment/scan_data.stl +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/3d-scan-calc/verifier/test.sh +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/3d-scan-calc/verifier/test_outputs.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/README.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/court-form-filling/court-form-filling.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/court-form-filling/environment/Dockerfile +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/court-form-filling/environment/sc100-blank.pdf +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/court-form-filling/verifier/test.sh +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/court-form-filling/verifier/test_outputs.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/dialogue-parser/dialogue-parser.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/dialogue-parser/environment/Dockerfile +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/dialogue-parser/environment/script.txt +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/dialogue-parser/verifier/test.sh +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/samples/skillsbench/dialogue-parser/verifier/test_outputs.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/sentiment_classification.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_agent_judge.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_budget_exceeded.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_cost_budget_exceeded.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_llm_judge.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_negative_path.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_task_timeout.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/smoke_variants.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/test_sandbox.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tasks/token_check.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/templates/byod_smoke_test/Dockerfile +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/templates/fibonacci-starter/README.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/templates/fibonacci-starter/src/main.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/templates/fibonacci-starter/tests/test_main.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/_scrub.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/claude_fixtures.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/codex_fixtures.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_a_single_text_turn.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_b_tool_use_result.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_c_multi_emission_delta.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_d_subagent_terminal.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_e_model_usage_and_backfill.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_f_orphaned_tool.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_g_crash_format_placeholder.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_h1_timeout_process_error.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_h2_process_error_crash.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/claude_i_in_loop_deadline_break.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_a_agent_message_only.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_b_command_execution.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_c_reasoning_placeholder.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_d_cross_flush_is_error.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_e_orphan_tool.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_f_collab_fallback.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_g_items_rebuild.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/golden_streams/expected/codex_h_no_turn_completed_crash.json +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/_snapshot.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/experiment_2variant.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/experiment_3variant.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/experiment_replicates.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/run_full.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_fixtures/report_snapshots/run_minimal.md +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/_path_helpers.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/conftest.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/byoa_demo_plugin/byoa_demo.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/byoa_demo_plugin/pyproject.toml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/tasks/test_task_multiple_criteria.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/fixtures/tasks/test_task_pass.yaml +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/__init__.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/base.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce014_merge_strategy_declared.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce015_create_subprocess_limit.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce016_no_computed_tokenusage_kwargs.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce017_models_lazy_agent_imports.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce018_no_final_status_name_denylist.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce019_telemetry_non_fatal.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce020_no_sdk_typed_base_agent_fields.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce021_guarded_evaluationresult_parse.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce022_dialog_loop_statement_cap.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce023_no_proxy_shim_import.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce024_discriminated_unions.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/ce025_live_verdict_consistency.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_agent_timing_access.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_blocking_io_in_async.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_cli_imports_in_core.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_silent_except.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_submodule_model_imports.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_top_level_run_limits_access.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_transcript_regex_in_eval.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/no_type_name_string_dispatch.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/open_explicit_encoding.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/read_text_explicit_encoding.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/register_criterion_required.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/subprocess_run_explicit_encoding.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/rules/yaml_models_forbid_extras.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/runner.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/lint/violation.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_config_no_timing_fields.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_config_optional_type.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_config_registry_dispatch.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_config_sdk_decoupling.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_golden_master.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_judge_criterion.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_telemetry.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_telemetry_advanced.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agent_timeout.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_agentless.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_aggregate.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_antigravity_agent.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_byoa_plugin.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_byoa_plugin_live.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_byod_feature.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_checker_logging.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_classification_match.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_claude_settings_enforcement_live.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cleanup_preservation_guard.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cli_backend_flag.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cli_empty_glob.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cli_sdk_options.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cli_set_overrides.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cli_telemetry.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_cli_type_flag.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_code_review_bugs.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_codex_agent_live.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_codex_agent_unit.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_codex_token_mapping.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_command_executed.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_command_statistics.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_command_telemetry_result_data.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_commands_efficiency.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_config_lineage.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_config_merge_engine.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_config_precedence.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_continuous_scoring.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_criterion_result_round_trip.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_custom_lint.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_dataset_expansion.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_debug_logging.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_docker_build_failure.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_docker_runner_container_death.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_docker_runner_mounts.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_docker_runner_stream_limit.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_docker_wildcard_env.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_docker_workdir_live.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_driver_resolver.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_early_stop.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_error_handling.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_evaluate_command.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_evaluator.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_event_collector.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_experiment_cli.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_experiment_loader.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_experiment_models.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_experiment_reports.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_experiment_resolver.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_experiment_runner.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_file_check.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_file_contains_scoring.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_formatting.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_git_clone_failure.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_heartbeat_watchdog.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_ignore_patterns_negation.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_image_from_dockerfiles.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_integration.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_json_check.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_judge_anthropic.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_judge_bedrock.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_judge_burn_in_live.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_judge_context_builder.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_judge_models.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_judge_persistence.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_lint_no_top_level_run_limits.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_lint_runner.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_llm_judge_criterion.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_log_tail_buffer.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_logging.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_logging_isolation.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_merge_characterization.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_merge_strategy_annotations.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_merge_unification.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_models.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_mutations.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_new_criteria.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_node_env_config.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_optional_dependencies.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_orchestrator_error_log_tail.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_orchestrator_telemetry.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_overrides_engine.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_parallel.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_path_utils.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_plan_command.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_plugin_processing.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_plugins.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_post_run.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_pr_review_workflow.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_pre_run.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_preservation_mode.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_pricing_registry.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reference_comparison_scoring.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reference_evaluator.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reference_missing_file.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reference_models.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reference_orchestrator.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_registry.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_replicate_stats.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_report_command.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reports.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reports_experiment.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reports_html.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_reports_stats.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_resolve_task_files.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_resume.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_retry_logic_comprehensive.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_routing.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_run_command_stdout.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_run_limits_models.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_run_limits_orchestrator.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_run_limits_resolver.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_runtime_tool_versions.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sandbox.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sandbox_layer_builder.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sandbox_optional.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sandbox_security.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sandbox_symlink_preservation.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sandbox_templates.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_scorers.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_scoring_quality.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sdk_option_classification.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_simulation_config.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_simulation_termination.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_simulation_trials.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_skill_triggered.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_agent_integration.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_batch.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_callbacks.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_cli.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_events.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_orchestrator.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_renderers.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_streaming_wire.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_sub_agent_runner.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_success_criterion_union.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_suite_rollup.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_summaries.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_tags.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_task_definition_unknown_fields.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_teardown_interrupt.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_telemetry.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_template_env_expansion.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_threshold_enforcement.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_timeout_batch.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_timeout_categorization.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_timeout_exceptions.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_timeout_models.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_timeout_orchestrator.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_token_usage.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_uipath_eval.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_utils.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_utterance_extraction.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_variant_prompt_file.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_verdict_tool.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_watchdog.py +0 -0
- {coder_eval-0.8.7rc10 → coder_eval-0.8.8}/tests/test_yaml_migration.py +0 -0
|
@@ -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
|
|
@@ -2,6 +2,115 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v0.8.8 (2026-07-22)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **codex**: Create CODEX_HOME before pinning it in the app-server env
|
|
10
|
+
([#39](https://github.com/UiPath/coder_eval/pull/39),
|
|
11
|
+
[`8d98b91`](https://github.com/UiPath/coder_eval/commit/8d98b912ae4767904c7d1c395913c3d0aaec6c66))
|
|
12
|
+
|
|
13
|
+
### Documentation
|
|
14
|
+
|
|
15
|
+
- Add Website badge and point PyPI Homepage at coder-eval.com
|
|
16
|
+
([#41](https://github.com/UiPath/coder_eval/pull/41),
|
|
17
|
+
[`0551534`](https://github.com/UiPath/coder_eval/commit/055153409d86b8d537bba73ef7ed58dfd17fee26))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## v0.8.7 (2026-07-22)
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
- Detect Windows skill paths in telemetry ([#24](https://github.com/UiPath/coder_eval/pull/24),
|
|
25
|
+
[`c57a6b0`](https://github.com/UiPath/coder_eval/commit/c57a6b0408ef116177b15bc9b09a768096aaa33f))
|
|
26
|
+
|
|
27
|
+
- **agents**: Run codex + antigravity harnesses on the tempdir/host path
|
|
28
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
29
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
30
|
+
|
|
31
|
+
- **antigravity**: Pin google-antigravity 0.1.7 to load on glibc 2.35
|
|
32
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
33
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
34
|
+
|
|
35
|
+
- **codex**: Always run full-access; drop the in-process OS sandbox
|
|
36
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
37
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
38
|
+
|
|
39
|
+
- **codex**: Cover zsh login shells (macOS default) in the mock-PATH home shim
|
|
40
|
+
([#26](https://github.com/UiPath/coder_eval/pull/26),
|
|
41
|
+
[`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
|
|
42
|
+
|
|
43
|
+
- **codex**: Keep mock CLIs shadowed in bash login shells
|
|
44
|
+
([#26](https://github.com/UiPath/coder_eval/pull/26),
|
|
45
|
+
[`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
|
|
46
|
+
|
|
47
|
+
- **codex**: Make login-shell temp-home lifecycle exception-safe incl. kill_sync
|
|
48
|
+
([#26](https://github.com/UiPath/coder_eval/pull/26),
|
|
49
|
+
[`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
|
|
50
|
+
|
|
51
|
+
- **codex**: Restore mock-CLI PATH prepend in login shells via per-task HOME profile
|
|
52
|
+
([#26](https://github.com/UiPath/coder_eval/pull/26),
|
|
53
|
+
[`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
|
|
54
|
+
|
|
55
|
+
- **codex**: Restore original HOME inside generated login-shell profile
|
|
56
|
+
([#26](https://github.com/UiPath/coder_eval/pull/26),
|
|
57
|
+
[`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
|
|
58
|
+
|
|
59
|
+
- **codex**: Use full-access sandbox on coder_eval-managed tempdir path
|
|
60
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
61
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
62
|
+
|
|
63
|
+
- **deps**: Bump pyasn1 to 0.6.4 for GHSA-8ppf-4f7h-5ppj / GHSA-hm4w-wwcw-mr6r
|
|
64
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
65
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
66
|
+
|
|
67
|
+
### Chores
|
|
68
|
+
|
|
69
|
+
- **deps**: Bump pyasn1 0.6.3 -> 0.6.4 (GHSA-8ppf-4f7h-5ppj, GHSA-hm4w-wwcw-mr6r)
|
|
70
|
+
([#32](https://github.com/UiPath/coder_eval/pull/32),
|
|
71
|
+
[`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
|
|
72
|
+
|
|
73
|
+
- **deps**: Upgrade agent SDKs to latest (claude 0.2.124, codex 0.144.4)
|
|
74
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
75
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
76
|
+
|
|
77
|
+
### Continuous Integration
|
|
78
|
+
|
|
79
|
+
- **release**: Publish a prerelease from a non-main branch
|
|
80
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
81
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
82
|
+
|
|
83
|
+
### Documentation
|
|
84
|
+
|
|
85
|
+
- Add MkDocs docs site, comparison page, and SEO metadata
|
|
86
|
+
([#32](https://github.com/UiPath/coder_eval/pull/32),
|
|
87
|
+
[`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
|
|
88
|
+
|
|
89
|
+
- Address PR review — Coder Eval naming, cleaner table, gh-deploy workflow
|
|
90
|
+
([#32](https://github.com/UiPath/coder_eval/pull/32),
|
|
91
|
+
[`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
|
|
92
|
+
|
|
93
|
+
- Address review — git identity for gh-pages, single strict deploy, table glyphs, uv tool install in
|
|
94
|
+
Tutorial 01 ([#32](https://github.com/UiPath/coder_eval/pull/32),
|
|
95
|
+
[`f1f4f9f`](https://github.com/UiPath/coder_eval/commit/f1f4f9fba2bd034a271e50fc1a95bcc74c2ac19b))
|
|
96
|
+
|
|
97
|
+
### Refactoring
|
|
98
|
+
|
|
99
|
+
- **codex**: Drop dead sandbox branch + honest full-access messaging
|
|
100
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
101
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
102
|
+
|
|
103
|
+
### Testing
|
|
104
|
+
|
|
105
|
+
- Accept sandbox_managed kwarg in agent test doubles
|
|
106
|
+
([#33](https://github.com/UiPath/coder_eval/pull/33),
|
|
107
|
+
[`04498a9`](https://github.com/UiPath/coder_eval/commit/04498a96f6b9ac0cc5c73f36e73a361f3f3fa0ae))
|
|
108
|
+
|
|
109
|
+
- **codex**: Pin start-to-CodexConfig env composition and tidy test imports
|
|
110
|
+
([#26](https://github.com/UiPath/coder_eval/pull/26),
|
|
111
|
+
[`73f0db2`](https://github.com/UiPath/coder_eval/commit/73f0db24df0b67f82d46e3bf15c85a21837237ef))
|
|
112
|
+
|
|
113
|
+
|
|
5
114
|
## v0.8.6 (2026-07-20)
|
|
6
115
|
|
|
7
116
|
### Features
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: coder-eval
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.8
|
|
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
|
|
|
@@ -1,25 +1,34 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Coder Eval — evaluate & benchmark AI coding agents and Claude Code skills
|
|
2
2
|
|
|
3
3
|
[](https://pypi.org/project/coder-eval/)
|
|
4
|
+
[](https://coder-eval.com)
|
|
5
|
+
[](https://uipath.github.io/coder_eval/)
|
|
4
6
|
[](LICENSE)
|
|
5
7
|
[](https://www.python.org/downloads/)
|
|
6
8
|
[](https://github.com/UiPath/coder_eval/actions/workflows/pr-checks.yml)
|
|
7
9
|
[](https://github.com/astral-sh/ruff)
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
**Coder Eval** (`pip install coder-eval` / `uv tool install coder-eval`) is an open-source framework for
|
|
12
|
+
**evaluating and benchmarking AI coding agents and their skills** — built for CLI
|
|
10
13
|
and skill builders — with sandboxing, reproducibility, and data-driven analysis.
|
|
11
|
-
|
|
12
|
-
|
|
14
|
+
It runs a real agent (**Claude Code**, **Codex**, or **Google Antigravity /
|
|
15
|
+
Gemini**) in a sandbox against declarative YAML tasks, then scores the files and
|
|
16
|
+
commands it actually produced. Not an "agentic coding" benchmark: it measures how
|
|
17
|
+
effective your CLI and skills are when used by coding agents.
|
|
18
|
+
|
|
19
|
+
Reach for it when you want to **test whether a Claude Code skill triggers**,
|
|
20
|
+
**A/B-test Claude Code vs. Codex vs. Gemini** (or model vs. model, prompt vs.
|
|
21
|
+
prompt), or **gate CI on coding-agent quality**. Unlike fixed datasets (SWE-bench,
|
|
22
|
+
SkillsBench) that rank models on a shared leaderboard, Coder Eval evaluates the
|
|
23
|
+
tasks, skills, and workflows *you* ship — with weighted 0.0–1.0 criteria, a
|
|
24
|
+
`skill_triggered` activation check, an A/B experiment layer, and per-tool cost
|
|
25
|
+
telemetry. See [How it compares](https://uipath.github.io/coder_eval/comparison/).
|
|
26
|
+
📚 **Full docs:** **[uipath.github.io/coder_eval](https://uipath.github.io/coder_eval/)**.
|
|
13
27
|
|
|
14
28
|
<p align="center">
|
|
15
|
-
<img src="docs/assets/hero.gif" alt="
|
|
29
|
+
<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%">
|
|
16
30
|
</p>
|
|
17
31
|
|
|
18
|
-
> **The Coding Agents Gym.** A sandboxed, reproducible framework to evaluate,
|
|
19
|
-
> benchmark, and A/B-test AI coding agents — Claude Code, Codex, and Google
|
|
20
|
-
> Antigravity (Gemini) today, any agent via a plugin SPI — with declarative
|
|
21
|
-
> YAML tasks and weighted scoring.
|
|
22
|
-
|
|
23
32
|
- **Declarative YAML tasks** with pinned dependencies and clear success criteria
|
|
24
33
|
- **Sandboxed execution** in isolated environments with resource limits
|
|
25
34
|
- **Weighted, continuous scoring** (0.0–1.0) with fractional credit and thresholds
|
|
@@ -30,14 +39,14 @@ are when used by coding agents.
|
|
|
30
39
|
|
|
31
40
|
## What you can do with it
|
|
32
41
|
|
|
33
|
-
- **Benchmark coding agents** — score an agent across a suite of tasks with weighted
|
|
42
|
+
- **Benchmark coding agents** — score an agent across a suite of tasks with weighted scoring and pass/fail thresholds
|
|
34
43
|
- **Compare models & configs** — A/B-test Claude vs. Codex vs. Gemini, model vs. model, tool-on vs. tool-off, prompt vs. prompt
|
|
35
44
|
- **Evaluate skills** — verify an agent actually engages a target skill (`skill_triggered`) and score skill-driven suites (SkillsBench-style)
|
|
36
45
|
- **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
|
|
37
46
|
- **Gate CI on agent quality** — run the suite in GitHub Actions and fail the build on regressions
|
|
38
47
|
- **Bring your own dataset** — fan one task out over many rows for larger benchmark suites
|
|
39
48
|
|
|
40
|
-
> **Keeping skills fresh?** Run
|
|
49
|
+
> **Keeping skills fresh?** Run Coder Eval as a scheduled GitHub Actions job so your
|
|
41
50
|
> skills are continuously re-evaluated against the latest model — a skill that quietly
|
|
42
51
|
> stops triggering surfaces as a failing criterion before your users hit it. See
|
|
43
52
|
> **[Tutorial 02 — Running coder_eval in CI](docs/tutorials/02-ci-pipeline.md)**.
|
|
@@ -53,7 +62,9 @@ git clone https://github.com/UiPath/coder_eval.git
|
|
|
53
62
|
cd coder_eval
|
|
54
63
|
|
|
55
64
|
uv sync --extra dev # install core + dev tools
|
|
56
|
-
cp .env.example .env # then set ANTHROPIC_API_KEY
|
|
65
|
+
cp .env.example .env # then set ANTHROPIC_API_KEY — or skip that: an
|
|
66
|
+
# existing Claude Code login (`claude login`) is
|
|
67
|
+
# picked up automatically
|
|
57
68
|
|
|
58
69
|
uv run coder-eval plan tasks/hello_date.yaml # validate (no tokens spent)
|
|
59
70
|
uv run coder-eval run tasks/hello_date.yaml # run your first evaluation
|
|
@@ -67,11 +78,23 @@ The optional `[uipath]` extra (`uv sync --extra dev --extra uipath`) adds the in
|
|
|
67
78
|
required). Without it the framework runs end-to-end; uipath-dependent features fail
|
|
68
79
|
at dispatch with a clear hint.
|
|
69
80
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
81
|
+
**Using Coder Eval in CI or another project?** Install the published package
|
|
82
|
+
instead of cloning:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
uv tool install coder-eval # puts the `coder-eval` CLI on your PATH,
|
|
86
|
+
# in its own isolated environment
|
|
87
|
+
|
|
88
|
+
uv tool install "coder-eval[codex,antigravity]" # same, with agent extras
|
|
89
|
+
coder-eval --version # verify the install
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
To add it as a project dependency instead: `uv add coder-eval` or
|
|
93
|
+
`pip install coder-eval`. In a real CI gate, pin to a specific released version
|
|
94
|
+
so a harness upgrade can't silently move your results. (The example `tasks/`
|
|
95
|
+
live in this repo — clone it or point the CLI at your own task files.) See
|
|
96
|
+
[Tutorial 02 — Running coder_eval in CI](docs/tutorials/02-ci-pipeline.md) for
|
|
97
|
+
the full setup.
|
|
75
98
|
|
|
76
99
|
## Telemetry
|
|
77
100
|
|
|
@@ -99,17 +122,18 @@ at dispatch with a clear hint.
|
|
|
99
122
|
|
|
100
123
|
## How it compares
|
|
101
124
|
|
|
102
|
-
- **vs. SWE-bench
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
0.0–1.0) — not just a judge over a string.
|
|
125
|
+
- **vs. fixed benchmarks (SWE-bench, SkillsBench)** — they score a canonical dataset;
|
|
126
|
+
Coder Eval scores *your* tasks with continuous 0.0–1.0 weighted criteria (and can
|
|
127
|
+
still wrap a fixed dataset via [Bring Your Own Dataset](docs/BYOD.md)).
|
|
128
|
+
- **vs. large-scale / RL harnesses (Harbor)** — Harbor targets scale and RL rollouts;
|
|
129
|
+
Coder Eval targets weighted, skill-aware suites gated in CI.
|
|
130
|
+
- **vs. model-output eval tools (OpenAI Evals)** — they grade model text; Coder Eval
|
|
131
|
+
runs a full agent in a sandbox and scores the files and commands it produced.
|
|
110
132
|
- **vs. hand-rolled scripts** — reproducible sandboxes, weighted criteria,
|
|
111
133
|
cost/token telemetry, A/B experiments, and CI-ready pass/fail gates out of the box.
|
|
112
134
|
|
|
135
|
+
See the full [comparison — with sources](https://uipath.github.io/coder_eval/comparison/).
|
|
136
|
+
|
|
113
137
|
## Task Definition
|
|
114
138
|
|
|
115
139
|
A task is a YAML file: a prompt, the agent config, a sandbox, and success criteria.
|
|
@@ -159,12 +183,12 @@ extension points (new criteria, new agents).
|
|
|
159
183
|
|
|
160
184
|
## Known limits & non-goals
|
|
161
185
|
|
|
162
|
-
- **Not a fixed benchmark or leaderboard** —
|
|
186
|
+
- **Not a fixed benchmark or leaderboard** — Coder Eval scores *your* tasks and ships
|
|
163
187
|
example tasks, not a canonical scored dataset.
|
|
164
188
|
- **Tasks execute real code** — run untrusted tasks only under the container driver
|
|
165
189
|
(see [Docker Isolation](docs/DOCKER_ISOLATION.md)); the `tempdir` driver is not a
|
|
166
190
|
security boundary.
|
|
167
|
-
- **Bring your own model credentials** — Anthropic, Bedrock, or Gemini keys;
|
|
191
|
+
- **Bring your own model credentials** — Anthropic, Bedrock, or Gemini keys; Coder Eval
|
|
168
192
|
does not proxy or supply model access.
|
|
169
193
|
- **Python 3.13+ only.**
|
|
170
194
|
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
A/B-test AI coding agents with coder_eval's experiment layer — Claude Code vs.
|
|
4
|
+
Codex vs. Gemini, model vs. model, skill on vs. off, prompt vs. prompt — on
|
|
5
|
+
identical tasks.
|
|
6
|
+
---
|
|
7
|
+
|
|
1
8
|
# A/B Experiment Guide
|
|
2
9
|
|
|
3
10
|
How to run the same tasks across multiple configuration variants ("arms") and
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
Use a custom Docker image with coder_eval — extend the base coder-eval-agent
|
|
4
|
+
image with your own dependencies and tools, then point task configuration at
|
|
5
|
+
it.
|
|
6
|
+
---
|
|
7
|
+
|
|
1
8
|
# Bring Your Own Docker (BYOD)
|
|
2
9
|
|
|
3
10
|
The BYOD feature allows customers to use custom Docker images that extend the base `coder-eval-agent` image, enabling them to add custom dependencies and tools while maintaining the latest coder-eval codebase.
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
Run OpenAI Codex as the agent under evaluation in coder_eval — installation,
|
|
4
|
+
authentication, task configuration, and how Codex telemetry maps to sandboxed,
|
|
5
|
+
weighted scoring.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Running OpenAI Codex in coder_eval
|
|
2
9
|
|
|
3
10
|
## Overview
|
|
4
11
|
|
|
5
|
-
|
|
12
|
+
coder_eval can run OpenAI's Codex as the agent under evaluation, via the official Codex SDK. The `CodexAgent` mirrors the structure of `ClaudeCodeAgent` and plugs into the same sandbox, scoring, and telemetry pipeline — set `agent.type: codex` in a task and the rest of the framework works unchanged.
|
|
6
13
|
|
|
7
14
|
## Setup
|
|
8
15
|
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
Run each coder_eval task in its own fresh Docker container — strong host
|
|
4
|
+
isolation, a pinned reproducible agent runtime, and custom images for
|
|
5
|
+
task-specific dependencies.
|
|
6
|
+
---
|
|
7
|
+
|
|
1
8
|
# Docker Isolation
|
|
2
9
|
|
|
3
10
|
Run each evaluation task inside its own fresh container. Strong host isolation and a pinned, reproducible agent runtime.
|
|
4
11
|
|
|
5
|
-
> Supersedes the agent-side FS perimeter flag from #199 (reverted in 9fe4320). The container boundary subsumes what that flag tried to do at the agent level.
|
|
6
|
-
|
|
7
12
|
## When to use
|
|
8
13
|
|
|
9
14
|
Set `sandbox.driver: docker` on a task (or pass `--driver docker` on the CLI —
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
Full schema reference for coder_eval task YAML — agent config, sandboxes, run
|
|
4
|
+
limits, dataset fan-out, and all 14 success criterion types with weighted
|
|
5
|
+
0.0–1.0 scoring.
|
|
6
|
+
---
|
|
7
|
+
|
|
1
8
|
# Task Definition Guide
|
|
2
9
|
|
|
3
10
|
Complete reference for defining evaluation tasks in coder_eval.
|
|
@@ -123,11 +130,15 @@ an error.
|
|
|
123
130
|
- `plan` — Agent proposes changes, waits for approval
|
|
124
131
|
- `bypassPermissions` — No permission checks (use with caution)
|
|
125
132
|
|
|
133
|
+
> **Codex note:** `permission_mode` confines the **`claude-code`** agent only. The **`codex`** agent always runs full-access regardless of the mode — its in-process OS sandbox is redundant given coder_eval's docker/tempdir isolation and unusable on our CI hosts (and on Windows). Run adversarial or untrusted Codex evals under the **docker driver**, which is the OS-level write boundary; the tempdir/host driver is a working directory, not a confinement boundary.
|
|
134
|
+
|
|
126
135
|
**Agent Types:**
|
|
127
136
|
- `claude-code` (default) — Claude Code SDK agent. Supports `sdk_options`, `claude_settings`, and all permission modes.
|
|
128
137
|
- `codex` — OpenAI Codex agent (requires `[codex]` extra; set `CODEX_API_KEY` and optional `CODEX_BASE_URL` environment variables).
|
|
129
138
|
- `none` — No-op agent: no coding agent runs and no model API call is made. See [No-op / System Tasks](#no-op--system-tasks-type-none) below.
|
|
130
139
|
|
|
140
|
+
<a id="no-op--system-tasks-type-none"></a>
|
|
141
|
+
|
|
131
142
|
### No-op / System Tasks (`type: none`)
|
|
132
143
|
|
|
133
144
|
Set `agent: {type: none}` to run a task with **no coding agent** — "coder-eval
|
|
@@ -159,7 +170,7 @@ Contract (enforced at load): a `type: none` task must declare no `initial_prompt
|
|
|
159
170
|
every criterion must be agent-independent — criteria that inspect the agent
|
|
160
171
|
trajectory (`command_executed`, `skill_triggered`, `reference_comparison`,
|
|
161
172
|
`commands_efficiency`) are rejected. A worked example lives at
|
|
162
|
-
[`tasks/agentless_smoke_test.yaml`](
|
|
173
|
+
[`tasks/agentless_smoke_test.yaml`](https://github.com/UiPath/coder_eval/blob/main/tasks/agentless_smoke_test.yaml).
|
|
163
174
|
|
|
164
175
|
### `max_turns`, `task_timeout`, `turn_timeout` location
|
|
165
176
|
|
|
@@ -590,7 +601,7 @@ Checks whether the agent executed specific tools/commands during evaluation. Ins
|
|
|
590
601
|
|
|
591
602
|
Evaluates a UiPath agent against a named evaluation set. **Fractional scoring:** metrics passed / total metrics.
|
|
592
603
|
|
|
593
|
-
> The `uipath` CLI must be available **inside the sandbox** (typically declared in the task's own Python deps). This is independent of the host's optional `coder-eval[uipath]` extra — see the install matrix in [README.md](
|
|
604
|
+
> The `uipath` CLI must be available **inside the sandbox** (typically declared in the task's own Python deps). This is independent of the host's optional `coder-eval[uipath]` extra — see the install matrix in [README.md](https://github.com/UiPath/coder_eval/blob/main/README.md#quick-start).
|
|
594
605
|
|
|
595
606
|
```yaml
|
|
596
607
|
- type: "uipath_eval"
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
Complete coder_eval reference — every CLI command and flag, configuration
|
|
4
|
+
layers and -D overrides, environment variables, run outputs, and reports for
|
|
5
|
+
evaluating AI coding agents.
|
|
6
|
+
---
|
|
7
|
+
|
|
1
8
|
# coder_eval User Guide
|
|
2
9
|
|
|
3
10
|
The full command, configuration, and output reference. For a gentle introduction
|
|
@@ -81,6 +88,8 @@ in `.claude/commands/`, available when using Claude Code in this repository:
|
|
|
81
88
|
| `/coder-eval-run-analysis <path>` | Analyze evaluation runs and suggest improvements to tasks, config, and prompts. Works at task, variant, or run scope. |
|
|
82
89
|
| `/coder-eval-task-create` | Create evaluation task YAML files from a natural language description. |
|
|
83
90
|
|
|
91
|
+
<a id="api-routing--benchmarking"></a>
|
|
92
|
+
|
|
84
93
|
## API Routing & Benchmarking
|
|
85
94
|
|
|
86
95
|
`coder-eval` supports two API routing modes, selected via `--backend` or the
|