coder-eval 0.8.5__tar.gz → 0.8.7rc10__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.5 → coder_eval-0.8.7rc10}/.github/workflows/release.yml +119 -23
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/CHANGELOG.md +9 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/PKG-INFO +4 -4
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/pyproject.toml +19 -12
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/__init__.py +1 -1
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/agent.py +5 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/agents/antigravity_agent.py +9 -4
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/agents/claude_code_agent.py +4 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/agents/codex_agent.py +197 -12
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/agents/noop_agent.py +1 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/skill_triggered.py +9 -9
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/orchestrator.py +9 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/pricing.py +14 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/fixtures/mock_agent.py +8 -1
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/fixtures/text_stub_agent.py +6 -1
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_codex_agent.py +467 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_early_stop.py +8 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_orchestrator.py +4 -1
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_simulation_integration.py +6 -1
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_skill_triggered.py +16 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_user_simulator.py +2 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/uv.lock +33 -33
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/commands/coder-eval-code-review-full.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/commands/coder-eval-code-review-wf.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/commands/coder-eval-code-review.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/commands/coder-eval-create-plan.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/commands/coder-eval-implement-plan.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/commands/coder-eval-review.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/commands/coder-eval-run-analysis.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/commands/coder-eval-task-create.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/harness-candidates.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/shared/axes.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/shared/multi-model-review.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/shared/review-rubric.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/shared/run-layout.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/workflows/cr-axis.js +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.claude/workflows/cr-parent.js +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.env.example +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.github/CODEOWNERS +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.github/code_review.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.github/dependabot.yml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.github/workflows/claude-pr-review.yml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.github/workflows/codeql.yml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.github/workflows/conventional-commits.yml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.github/workflows/docker-publish.yml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.github/workflows/pr-checks.yml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.github/workflows/publish-testpypi.yml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.gitignore +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.pre-commit-config.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/.python-version +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/CLAUDE.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/CODE_OF_CONDUCT.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/CONTRIBUTING.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/LICENSE +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/Makefile +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/NOTICE +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/README.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/SECURITY.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docker/Dockerfile +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docker/Dockerfile.runtime +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docker/coder_eval_entrypoint.sh +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docker/coder_eval_runtime_entrypoint.sh +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/AB_EXPERIMENTS.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/BYOD.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/CODEX_AGENT_GUIDE.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/DOCKER_ISOLATION.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/IDEAS.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/TASK_DEFINITION_GUIDE.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/USER_GUIDE.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/assets/hero.gif +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/tutorials/01-first-evaluation.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/tutorials/02-ci-pipeline.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/tutorials/03-evalboard-local.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/tutorials/04-writing-a-task.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/tutorials/05-comparing-models.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/tutorials/06-use-docker-isolation.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/docs/tutorials/README.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/.gitignore +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/README.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_components/__tests__/search-box.test.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_components/col-help.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_components/collapsible-rail.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_components/harness-badge.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_components/scroll-table.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_components/search-box.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_components/unit-toggle.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_components/version-list.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_components/window-selector.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_overview/daily-chart.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_overview/tag-rail.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_overview/turn-budget-chart.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/_overview/window-summary.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/api/download/route.ts +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/api/file/route.ts +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/api/refresh/__tests__/route.test.ts +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/api/refresh/route.ts +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/error.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/globals.css +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/icon.png +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/layout.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/page.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/path-to-ga/page.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/trends/__tests__/trends-view.test.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/trends/actions.ts +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/trends/page.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/trends/trends-view.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/watchlist/__tests__/watchlist-view.test.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/watchlist/page.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/app/watchlist/watchlist-view.tsx +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/next-env.d.ts +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/next.config.mjs +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/package.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/pnpm-lock.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/postcss.config.mjs +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/public/harness/antigravity.png +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/public/harness/claude-code.png +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/public/harness/codex.png +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/public/uipath.png +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/tailwind.config.ts +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/tsconfig.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/vitest.config.ts +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/evalboard/vitest.setup.ts +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/experiments/default.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/experiments/early-stop-ab.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/experiments/model-comparison.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/experiments/permissions-smoke.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/experiments/plugin-comparison.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/experiments/prompt-mutations-example.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/experiments/smoke_variants.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/osv-scanner.toml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/.gitattributes +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/agents/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/agents/_logging.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/agents/registry.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/agents/watchdog.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/analysis.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/cli/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/cli/aggregate_command.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/cli/console.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/cli/evaluate_command.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/cli/plan_command.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/cli/report_command.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/cli/run_command.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/cli/run_helpers.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/cli/run_task_internal_command.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/cli/utils.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/config.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/_classification_aggregate.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/agent_judge.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/base.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/classification_match.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/command_executed.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/commands_efficiency.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/file_check.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/file_contains.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/file_exists.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/file_matches_regex.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/json_check.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/llm_judge.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/reference_comparison.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/run_command.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/criteria/uipath_eval.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/errors/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/errors/agent.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/errors/budget.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/errors/categories.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/errors/categorization.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/errors/executor.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/errors/judge.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/errors/retry.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/errors/timeout.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/evaluation/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/evaluation/checker.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/evaluation/judge_anthropic.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/evaluation/judge_bedrock.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/evaluation/judge_context.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/evaluation/judge_models.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/evaluation/judge_persistence.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/evaluation/judge_usage.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/evaluation/sub_agent.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/evaluation/summaries.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/evaluation/verdict_tool.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/formatting.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/isolation/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/isolation/docker_runner.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/logging_config.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/agent_config.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/container_paths.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/criteria.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/enums.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/experiment.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/judge.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/judge_defaults.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/limits.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/merge_strategy.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/mutations.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/results.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/routing.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/sandbox.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/tasks.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/telemetry.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/models/templates.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/orchestration/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/orchestration/batch.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/orchestration/config.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/orchestration/config_merge.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/orchestration/early_stop.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/orchestration/evaluation.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/orchestration/experiment.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/orchestration/overrides.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/orchestration/task_loader.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/path_utils.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/plugins.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/py.typed +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/reports.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/reports_experiment.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/reports_html.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/reports_stats.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/resources/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/resources/default_ignore_patterns.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/resources/tags.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/sandbox.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/scoring/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/scoring/ast_similarity.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/scoring/complexity.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/scoring/quality.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/scoring/signature_similarity.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/scoring/similarity.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/scoring/token_similarity.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/simulation/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/simulation/termination.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/simulation/user_simulator.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/streaming/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/streaming/callbacks.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/streaming/collector.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/streaming/events.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/streaming/renderers.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/streaming/wire.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/telemetry.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/src/coder_eval/utils.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/README.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agentless_smoke_test.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/antigravity_hello_world.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/antigravity_hello_world_docker.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/claude_hello_world.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/claude_hello_world_docker.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/claude_parallel_single_gen.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/claude_subagent_test.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/codex_disallowed_tools_test.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/codex_hello_world.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/codex_parallel_commands.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/codex_parallel_single_gen.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/codex_skills_test.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/codex_string_utils.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/codex_subagent_test.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/subagent_bash_long_input.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/agents/subagent_merge_sort.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/byod_smoke_test.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/dataset_example.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/datasets/sentiment.jsonl +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/dockerfile_build_example/dockerfile_build_example.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/dockerfile_build_example/environment/Dockerfile +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/dockerfile_build_example/environment/Dockerfile.workdir +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/dockerfile_build_example/environment/input.txt +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/dockerfile_build_example/working_dir_auto_example.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/dockerfile_build_example/working_dir_concrete_example.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/fibonacci_with_template.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/hello_date.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/inline_starter_example.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/internal/session_resumption.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/mock_path_dirs_smoke.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/mock_path_dirs_template_dir/mock-cli-bins/README.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/echo_args +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/fixtures/config.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/say_hello +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/mock_path_dirs_template_dir/task.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/python_cli_simulated_judged/echo_simulated_judged.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/3d-scan-calc/3d-scan-calc.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/3d-scan-calc/environment/Dockerfile +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/3d-scan-calc/environment/material_density_table.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/3d-scan-calc/environment/scan_data.stl +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/3d-scan-calc/verifier/test.sh +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/3d-scan-calc/verifier/test_outputs.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/README.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/court-form-filling/court-form-filling.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/court-form-filling/environment/Dockerfile +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/court-form-filling/environment/sc100-blank.pdf +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/court-form-filling/verifier/test.sh +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/court-form-filling/verifier/test_outputs.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/dialogue-parser/dialogue-parser.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/dialogue-parser/environment/Dockerfile +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/dialogue-parser/environment/script.txt +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/dialogue-parser/verifier/test.sh +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/samples/skillsbench/dialogue-parser/verifier/test_outputs.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/sentiment_classification.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/smoke_agent_judge.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/smoke_budget_exceeded.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/smoke_cost_budget_exceeded.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/smoke_llm_judge.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/smoke_negative_path.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/smoke_task_timeout.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/smoke_variants.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/test_sandbox.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tasks/token_check.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/templates/byod_smoke_test/Dockerfile +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/templates/fibonacci-starter/README.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/templates/fibonacci-starter/src/main.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/templates/fibonacci-starter/tests/test_main.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/_scrub.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/claude_fixtures.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/codex_fixtures.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/claude_a_single_text_turn.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/claude_b_tool_use_result.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/claude_c_multi_emission_delta.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/claude_d_subagent_terminal.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/claude_e_model_usage_and_backfill.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/claude_f_orphaned_tool.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/claude_g_crash_format_placeholder.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/claude_h1_timeout_process_error.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/claude_h2_process_error_crash.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/claude_i_in_loop_deadline_break.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/codex_a_agent_message_only.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/codex_b_command_execution.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/codex_c_reasoning_placeholder.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/codex_d_cross_flush_is_error.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/codex_e_orphan_tool.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/codex_f_collab_fallback.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/codex_g_items_rebuild.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/golden_streams/expected/codex_h_no_turn_completed_crash.json +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/report_snapshots/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/report_snapshots/_snapshot.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/report_snapshots/experiment_2variant.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/report_snapshots/experiment_3variant.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/report_snapshots/experiment_replicates.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/report_snapshots/run_full.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_fixtures/report_snapshots/run_minimal.md +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/_path_helpers.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/conftest.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/fixtures/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/fixtures/byoa_demo_plugin/byoa_demo.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/fixtures/byoa_demo_plugin/pyproject.toml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/fixtures/tasks/test_task_multiple_criteria.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/fixtures/tasks/test_task_pass.yaml +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/__init__.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/base.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/ce014_merge_strategy_declared.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/ce015_create_subprocess_limit.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/ce016_no_computed_tokenusage_kwargs.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/ce017_models_lazy_agent_imports.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/ce018_no_final_status_name_denylist.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/ce019_telemetry_non_fatal.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/ce020_no_sdk_typed_base_agent_fields.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/ce021_guarded_evaluationresult_parse.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/ce022_dialog_loop_statement_cap.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/ce023_no_proxy_shim_import.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/ce024_discriminated_unions.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/ce025_live_verdict_consistency.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/no_agent_timing_access.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/no_blocking_io_in_async.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/no_cli_imports_in_core.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/no_silent_except.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/no_submodule_model_imports.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/no_top_level_run_limits_access.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/no_transcript_regex_in_eval.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/no_type_name_string_dispatch.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/open_explicit_encoding.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/read_text_explicit_encoding.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/register_criterion_required.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/subprocess_run_explicit_encoding.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/rules/yaml_models_forbid_extras.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/runner.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/lint/violation.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_agent.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_agent_config_no_timing_fields.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_agent_config_optional_type.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_agent_config_registry_dispatch.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_agent_config_sdk_decoupling.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_agent_golden_master.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_agent_judge_criterion.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_agent_telemetry.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_agent_telemetry_advanced.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_agent_timeout.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_agentless.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_aggregate.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_antigravity_agent.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_byoa_plugin.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_byoa_plugin_live.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_byod_feature.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_checker_logging.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_classification_match.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_claude_settings_enforcement_live.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_cleanup_preservation_guard.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_cli_backend_flag.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_cli_empty_glob.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_cli_sdk_options.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_cli_set_overrides.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_cli_telemetry.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_cli_type_flag.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_code_review_bugs.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_codex_agent_live.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_codex_agent_unit.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_codex_token_mapping.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_command_executed.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_command_statistics.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_command_telemetry_result_data.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_commands_efficiency.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_config_lineage.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_config_merge_engine.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_config_precedence.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_continuous_scoring.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_criterion_result_round_trip.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_custom_lint.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_dataset_expansion.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_debug_logging.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_docker_build_failure.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_docker_runner_container_death.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_docker_runner_mounts.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_docker_runner_stream_limit.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_docker_wildcard_env.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_docker_workdir_live.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_driver_resolver.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_error_handling.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_evaluate_command.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_evaluator.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_event_collector.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_experiment_cli.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_experiment_loader.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_experiment_models.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_experiment_reports.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_experiment_resolver.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_experiment_runner.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_file_check.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_file_contains_scoring.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_formatting.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_git_clone_failure.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_heartbeat_watchdog.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_ignore_patterns_negation.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_image_from_dockerfiles.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_integration.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_json_check.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_judge_anthropic.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_judge_bedrock.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_judge_burn_in_live.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_judge_context_builder.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_judge_models.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_judge_persistence.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_lint_no_top_level_run_limits.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_lint_runner.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_llm_judge_criterion.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_log_tail_buffer.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_logging.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_logging_isolation.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_merge_characterization.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_merge_strategy_annotations.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_merge_unification.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_models.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_mutations.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_new_criteria.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_node_env_config.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_optional_dependencies.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_orchestrator_error_log_tail.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_orchestrator_telemetry.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_overrides_engine.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_parallel.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_path_utils.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_plan_command.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_plugin_processing.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_plugins.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_post_run.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_pr_review_workflow.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_pre_run.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_preservation_mode.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_pricing_registry.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_reference_comparison_scoring.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_reference_evaluator.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_reference_missing_file.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_reference_models.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_reference_orchestrator.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_registry.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_replicate_stats.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_report_command.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_reports.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_reports_experiment.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_reports_html.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_reports_stats.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_resolve_task_files.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_resume.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_retry_logic_comprehensive.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_routing.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_run_command_stdout.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_run_limits_models.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_run_limits_orchestrator.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_run_limits_resolver.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_runtime_tool_versions.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_sandbox.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_sandbox_layer_builder.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_sandbox_optional.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_sandbox_security.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_sandbox_symlink_preservation.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_sandbox_templates.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_scorers.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_scoring_quality.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_sdk_option_classification.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_simulation_config.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_simulation_termination.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_simulation_trials.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_streaming_agent_integration.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_streaming_batch.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_streaming_callbacks.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_streaming_cli.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_streaming_events.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_streaming_orchestrator.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_streaming_renderers.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_streaming_wire.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_sub_agent_runner.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_success_criterion_union.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_suite_rollup.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_summaries.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_tags.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_task_definition_unknown_fields.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_teardown_interrupt.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_telemetry.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_template_env_expansion.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_threshold_enforcement.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_timeout_batch.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_timeout_categorization.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_timeout_exceptions.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_timeout_models.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_timeout_orchestrator.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_token_usage.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_uipath_eval.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_utils.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_utterance_extraction.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_variant_prompt_file.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_verdict_tool.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_watchdog.py +0 -0
- {coder_eval-0.8.5 → coder_eval-0.8.7rc10}/tests/test_yaml_migration.py +0 -0
|
@@ -13,6 +13,13 @@ name: Release
|
|
|
13
13
|
# and push.
|
|
14
14
|
# (Continuous :latest / :sha- agent images still publish on every main push via
|
|
15
15
|
# docker-publish.yml -- only the versioned release artifacts gate on this run.)
|
|
16
|
+
#
|
|
17
|
+
# PRERELEASE mode (dispatched from a NON-main branch): instead of bumping and
|
|
18
|
+
# pushing main, stamp a throwaway `<next-patch>rc<run#>` version, then build and
|
|
19
|
+
# publish the wheel to public PyPI + a `:<version>` GHCR image. It does NOT move
|
|
20
|
+
# `:latest`, tag, commit, or push to main. This lets a branch be dry-run on the
|
|
21
|
+
# ADO nightly infra before merge (pinned via the pipeline's `coderEvalVersion`).
|
|
22
|
+
# The `bump` input is ignored off main. On `main` the behavior is unchanged.
|
|
16
23
|
|
|
17
24
|
on:
|
|
18
25
|
workflow_dispatch:
|
|
@@ -47,9 +54,9 @@ jobs:
|
|
|
47
54
|
runs-on: ubuntu-latest
|
|
48
55
|
timeout-minutes: 15
|
|
49
56
|
outputs:
|
|
50
|
-
# Exposed so the downstream publish-pypi job
|
|
51
|
-
#
|
|
52
|
-
version: ${{ steps.
|
|
57
|
+
# Exposed so the downstream publish-pypi job gates on a version having been
|
|
58
|
+
# produced (real release on main, or a stamped prerelease on a branch).
|
|
59
|
+
version: ${{ steps.ver.outputs.version }}
|
|
53
60
|
env:
|
|
54
61
|
# The self-hosted `uipath-ubuntu-latest` runners enforce a minimum
|
|
55
62
|
# package-age safe-chain check on uv installs; on GitHub-hosted runners
|
|
@@ -58,8 +65,13 @@ jobs:
|
|
|
58
65
|
SAFE_CHAIN_MINIMUM_PACKAGE_AGE_EXCLUSIONS: "openai-codex-cli-bin,openai-codex"
|
|
59
66
|
|
|
60
67
|
steps:
|
|
68
|
+
# Only a real release (main) needs the app token: semantic-release pushes the
|
|
69
|
+
# bump commit + tag to the ruleset-protected main branch, and only this app
|
|
70
|
+
# has the bypass. A prerelease from a branch never commits or pushes, so it
|
|
71
|
+
# skips the token and checks out with the default GITHUB_TOKEN.
|
|
61
72
|
- name: Mint release app token
|
|
62
73
|
id: app-token
|
|
74
|
+
if: github.ref == 'refs/heads/main'
|
|
63
75
|
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
|
|
64
76
|
with:
|
|
65
77
|
app-id: ${{ secrets.RELEASE_APP_ID }}
|
|
@@ -70,8 +82,9 @@ jobs:
|
|
|
70
82
|
with:
|
|
71
83
|
fetch-depth: 0 # semantic-release needs full history for tags + changelog
|
|
72
84
|
# Persisted in .git config so semantic-release's push to main is
|
|
73
|
-
# authenticated as the app (which bypasses the branch ruleset).
|
|
74
|
-
token
|
|
85
|
+
# authenticated as the app (which bypasses the branch ruleset). Falls back
|
|
86
|
+
# to the default token for a prerelease (no push, read-only checkout).
|
|
87
|
+
token: ${{ steps.app-token.outputs.token || github.token }}
|
|
75
88
|
|
|
76
89
|
- name: Set up Python 3.13
|
|
77
90
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
@@ -83,11 +96,38 @@ jobs:
|
|
|
83
96
|
with:
|
|
84
97
|
enable-cache: true
|
|
85
98
|
|
|
99
|
+
# Release mode is chosen by the dispatched ref: main => real release (the
|
|
100
|
+
# semantic-release path below); any other branch => prerelease (stamp a
|
|
101
|
+
# throwaway rc version, publish, never touch main). Keying off the ref (not a
|
|
102
|
+
# new input) keeps this dispatchable from a branch — a new input would have to
|
|
103
|
+
# exist on the default branch first to be accepted.
|
|
104
|
+
- name: Determine release mode
|
|
105
|
+
id: mode
|
|
106
|
+
env:
|
|
107
|
+
REF: ${{ github.ref }}
|
|
108
|
+
RUN_NUMBER: ${{ github.run_number }}
|
|
109
|
+
run: |
|
|
110
|
+
set -euo pipefail
|
|
111
|
+
if [ "$REF" = "refs/heads/main" ]; then
|
|
112
|
+
echo "prerelease=false" >> "$GITHUB_OUTPUT"
|
|
113
|
+
echo "Mode: RELEASE (main)"
|
|
114
|
+
else
|
|
115
|
+
# Next patch of the current version, suffixed with the run number so
|
|
116
|
+
# repeated dispatches never collide on PyPI. An exact `==` pin installs
|
|
117
|
+
# it even though pip/uv skip prereleases by default.
|
|
118
|
+
NEXT=$(python3 -c 'import re,tomllib; v=tomllib.load(open("pyproject.toml","rb"))["project"]["version"]; m=re.match(r"(\d+)\.(\d+)\.(\d+)",v); print("{}.{}.{}".format(int(m[1]),int(m[2]),int(m[3])+1))')
|
|
119
|
+
PRE="${NEXT}rc${RUN_NUMBER}"
|
|
120
|
+
echo "prerelease=true" >> "$GITHUB_OUTPUT"
|
|
121
|
+
echo "version=${PRE}" >> "$GITHUB_OUTPUT"
|
|
122
|
+
echo "Mode: PRERELEASE ${PRE}"
|
|
123
|
+
fi
|
|
124
|
+
|
|
86
125
|
- name: Install build + release tools
|
|
87
126
|
run: uv tool install python-semantic-release && uv tool install twine
|
|
88
127
|
|
|
89
128
|
- name: Run semantic-release (bump + tag, no push yet)
|
|
90
129
|
id: release
|
|
130
|
+
if: steps.mode.outputs.prerelease != 'true'
|
|
91
131
|
env:
|
|
92
132
|
GH_TOKEN: ${{ steps.app-token.outputs.token }}
|
|
93
133
|
# Passed via env (not interpolated into the script) per GitHub's
|
|
@@ -105,8 +145,45 @@ jobs:
|
|
|
105
145
|
# A dispatch always cuts a release; report the just-published version.
|
|
106
146
|
echo "version=$($PSR version --print)" >> "$GITHUB_OUTPUT"
|
|
107
147
|
|
|
148
|
+
# PRERELEASE: stamp the rc version into the two canonical spots (mirrors
|
|
149
|
+
# publish-testpypi.yml), then refresh uv.lock so the Dockerfile's
|
|
150
|
+
# `uv export --frozen` accepts the bumped project version. No commit is made —
|
|
151
|
+
# the working tree is what `uv build` and the image build below consume.
|
|
152
|
+
- name: Stamp prerelease version
|
|
153
|
+
if: steps.mode.outputs.prerelease == 'true'
|
|
154
|
+
env:
|
|
155
|
+
PRE_VERSION: ${{ steps.mode.outputs.version }}
|
|
156
|
+
run: |
|
|
157
|
+
set -euo pipefail
|
|
158
|
+
python3 - <<'PY'
|
|
159
|
+
import os, re, pathlib
|
|
160
|
+
version = os.environ["PRE_VERSION"]
|
|
161
|
+
for path, key in (("pyproject.toml", "version"), ("src/coder_eval/__init__.py", "__version__")):
|
|
162
|
+
p = pathlib.Path(path)
|
|
163
|
+
new, n = re.subn(rf'(?m)^{key}\s*=\s*".+?"$', f'{key} = "{version}"', p.read_text(), count=1)
|
|
164
|
+
if n != 1:
|
|
165
|
+
raise SystemExit(f"version pattern did not match {path} (matched {n})")
|
|
166
|
+
p.write_text(new)
|
|
167
|
+
print(f"Stamped prerelease version: {version}")
|
|
168
|
+
PY
|
|
169
|
+
uv lock
|
|
170
|
+
|
|
171
|
+
# Single source of truth for the steps below: the real release version (main)
|
|
172
|
+
# or the stamped prerelease version (branch).
|
|
173
|
+
- name: Resolve published version
|
|
174
|
+
id: ver
|
|
175
|
+
env:
|
|
176
|
+
REL: ${{ steps.release.outputs.version }}
|
|
177
|
+
PRE: ${{ steps.mode.outputs.version }}
|
|
178
|
+
run: |
|
|
179
|
+
set -euo pipefail
|
|
180
|
+
V="${REL:-$PRE}"
|
|
181
|
+
if [ -z "$V" ]; then echo "no version resolved" >&2; exit 1; fi
|
|
182
|
+
echo "version=$V" >> "$GITHUB_OUTPUT"
|
|
183
|
+
echo "Publishing version: $V"
|
|
184
|
+
|
|
108
185
|
- name: Regenerate uv.lock and amend release commit
|
|
109
|
-
if: steps.release.outputs.version != ''
|
|
186
|
+
if: steps.mode.outputs.prerelease != 'true' && steps.release.outputs.version != ''
|
|
110
187
|
run: |
|
|
111
188
|
uv lock
|
|
112
189
|
if ! git diff --quiet uv.lock; then
|
|
@@ -119,43 +196,64 @@ jobs:
|
|
|
119
196
|
fi
|
|
120
197
|
|
|
121
198
|
- name: Push release commit and tags
|
|
122
|
-
if: steps.release.outputs.version != ''
|
|
199
|
+
if: steps.mode.outputs.prerelease != 'true' && steps.release.outputs.version != ''
|
|
123
200
|
run: git push origin main "v${{ steps.release.outputs.version }}"
|
|
124
201
|
|
|
125
202
|
- name: Build wheel + sdist
|
|
126
|
-
if: steps.
|
|
203
|
+
if: steps.ver.outputs.version != ''
|
|
127
204
|
run: uv build
|
|
128
205
|
|
|
129
206
|
# Hand the exact built artifacts to the publish-pypi job. Publishing to
|
|
130
207
|
# public PyPI runs in its own environment-gated job (OIDC), so it must
|
|
131
208
|
# consume these files rather than rebuild them.
|
|
132
209
|
- name: Upload dist for PyPI publish
|
|
133
|
-
if: steps.
|
|
210
|
+
if: steps.ver.outputs.version != ''
|
|
134
211
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
135
212
|
with:
|
|
136
213
|
name: release-dist
|
|
137
214
|
path: dist/
|
|
138
215
|
if-no-files-found: error
|
|
139
216
|
|
|
140
|
-
# Build + push the agent image HERE, in the same job that
|
|
141
|
-
# so the `:<version>` tag is built from the
|
|
142
|
-
#
|
|
143
|
-
# runs on the triggering commit, BEFORE
|
|
144
|
-
# release version -- this is the authoritative versioned
|
|
145
|
-
# repoints `:latest
|
|
217
|
+
# Build + push the agent image HERE, in the same job that produced the
|
|
218
|
+
# version, so the `:<version>` tag is built from the correct pyproject (bumped
|
|
219
|
+
# by semantic-release on main, or the stamped rc on a prerelease).
|
|
220
|
+
# docker-publish.yml runs on the triggering commit, BEFORE a main bump, so it
|
|
221
|
+
# can never tag the release version -- this is the authoritative versioned
|
|
222
|
+
# image. A real release also repoints `:latest`; a prerelease publishes only
|
|
223
|
+
# its `:<version>` tag (see Compute image tags).
|
|
146
224
|
- name: Lowercase owner for GHCR
|
|
147
|
-
if: steps.
|
|
225
|
+
if: steps.ver.outputs.version != ''
|
|
148
226
|
id: img
|
|
149
227
|
run: echo "owner_lc=$(echo '${{ github.repository_owner }}' | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_OUTPUT"
|
|
150
228
|
|
|
229
|
+
# `:<version>` always; `:latest` only for a real release. A prerelease must
|
|
230
|
+
# not move `:latest`, which the nightly treats as tip-of-main.
|
|
231
|
+
- name: Compute image tags
|
|
232
|
+
if: steps.ver.outputs.version != ''
|
|
233
|
+
id: tags
|
|
234
|
+
env:
|
|
235
|
+
OWNER: ${{ steps.img.outputs.owner_lc }}
|
|
236
|
+
VERSION: ${{ steps.ver.outputs.version }}
|
|
237
|
+
IS_PRERELEASE: ${{ steps.mode.outputs.prerelease }}
|
|
238
|
+
run: |
|
|
239
|
+
set -euo pipefail
|
|
240
|
+
{
|
|
241
|
+
echo "tags<<EOF"
|
|
242
|
+
echo "ghcr.io/${OWNER}/coder-eval-agent:${VERSION}"
|
|
243
|
+
if [ "$IS_PRERELEASE" != "true" ]; then
|
|
244
|
+
echo "ghcr.io/${OWNER}/coder-eval-agent:latest"
|
|
245
|
+
fi
|
|
246
|
+
echo "EOF"
|
|
247
|
+
} >> "$GITHUB_OUTPUT"
|
|
248
|
+
|
|
151
249
|
- name: Set up Docker Buildx
|
|
152
250
|
continue-on-error: true # GHCR image is internal/best-effort; don't block PyPI
|
|
153
|
-
if: steps.
|
|
251
|
+
if: steps.ver.outputs.version != ''
|
|
154
252
|
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
|
|
155
253
|
|
|
156
254
|
- name: Log in to GHCR
|
|
157
255
|
continue-on-error: true # GHCR image is internal/best-effort; don't block PyPI
|
|
158
|
-
if: steps.
|
|
256
|
+
if: steps.ver.outputs.version != ''
|
|
159
257
|
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
|
|
160
258
|
with:
|
|
161
259
|
registry: ghcr.io
|
|
@@ -164,17 +262,15 @@ jobs:
|
|
|
164
262
|
|
|
165
263
|
- name: Build and push versioned agent image
|
|
166
264
|
continue-on-error: true # GHCR image is internal/best-effort; don't block PyPI
|
|
167
|
-
if: steps.
|
|
265
|
+
if: steps.ver.outputs.version != ''
|
|
168
266
|
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
|
|
169
267
|
with:
|
|
170
268
|
context: .
|
|
171
269
|
file: docker/Dockerfile
|
|
172
270
|
push: true
|
|
173
|
-
tags:
|
|
174
|
-
ghcr.io/${{ steps.img.outputs.owner_lc }}/coder-eval-agent:${{ steps.release.outputs.version }}
|
|
175
|
-
ghcr.io/${{ steps.img.outputs.owner_lc }}/coder-eval-agent:latest
|
|
271
|
+
tags: ${{ steps.tags.outputs.tags }}
|
|
176
272
|
build-args: |
|
|
177
|
-
CODER_EVAL_VERSION=${{ steps.
|
|
273
|
+
CODER_EVAL_VERSION=${{ steps.ver.outputs.version }}
|
|
178
274
|
secrets: |
|
|
179
275
|
"uv_index_username=${{ secrets.UV_INDEX_UIPATH_USERNAME }}"
|
|
180
276
|
"uv_index_password=${{ secrets.UV_INDEX_UIPATH_PASSWORD }}"
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v0.8.6 (2026-07-20)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- Add Sonnet 5 + GPT-5.6 pricing; default antigravity to gemini-3.5-flash
|
|
10
|
+
([#31](https://github.com/UiPath/coder_eval/pull/31),
|
|
11
|
+
[`4c40acd`](https://github.com/UiPath/coder_eval/commit/4c40acd64482e9ffcec66b61ac2aab57b5c89f6f))
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
## v0.8.5 (2026-07-20)
|
|
6
15
|
|
|
7
16
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: coder-eval
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.7rc10
|
|
4
4
|
Summary: Evaluate, benchmark, and A/B-test AI coding agents (Claude Code, Codex, Gemini/Antigravity) with sandboxed, reproducible YAML task suites.
|
|
5
5
|
Project-URL: Homepage, https://github.com/UiPath/coder_eval
|
|
6
6
|
Project-URL: Repository, https://github.com/UiPath/coder_eval
|
|
@@ -26,7 +26,7 @@ Requires-Python: >=3.13
|
|
|
26
26
|
Requires-Dist: anthropic>=0.86.0
|
|
27
27
|
Requires-Dist: anyio>=4.13.0
|
|
28
28
|
Requires-Dist: azure-monitor-opentelemetry-exporter<1.1.0,>=1.0.0b30
|
|
29
|
-
Requires-Dist: claude-agent-sdk>=0.2.
|
|
29
|
+
Requires-Dist: claude-agent-sdk>=0.2.124
|
|
30
30
|
Requires-Dist: click>=8.3.3
|
|
31
31
|
Requires-Dist: jmespath>=1.1.0
|
|
32
32
|
Requires-Dist: jsonschema>=4.26.0
|
|
@@ -41,9 +41,9 @@ Requires-Dist: starlette>=1.3.1
|
|
|
41
41
|
Requires-Dist: tqdm>=4.67.3
|
|
42
42
|
Requires-Dist: typer>=0.24.1
|
|
43
43
|
Provides-Extra: antigravity
|
|
44
|
-
Requires-Dist: google-antigravity==0.1.
|
|
44
|
+
Requires-Dist: google-antigravity==0.1.7; extra == 'antigravity'
|
|
45
45
|
Provides-Extra: codex
|
|
46
|
-
Requires-Dist: openai-codex>=0.
|
|
46
|
+
Requires-Dist: openai-codex>=0.144.4; extra == 'codex'
|
|
47
47
|
Provides-Extra: dev
|
|
48
48
|
Requires-Dist: bandit[toml]>=1.9.4; extra == 'dev'
|
|
49
49
|
Requires-Dist: mcp>=1.28.1; extra == 'dev'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "coder-eval"
|
|
3
|
-
version = "0.8.
|
|
3
|
+
version = "0.8.7rc10"
|
|
4
4
|
description = "Evaluate, benchmark, and A/B-test AI coding agents (Claude Code, Codex, Gemini/Antigravity) with sandboxed, reproducible YAML task suites."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -34,7 +34,7 @@ dependencies = [
|
|
|
34
34
|
"rich>=14.3.3",
|
|
35
35
|
"python-dotenv>=1.2.2",
|
|
36
36
|
"anthropic>=0.86.0",
|
|
37
|
-
"claude-agent-sdk>=0.2.
|
|
37
|
+
"claude-agent-sdk>=0.2.124",
|
|
38
38
|
"anyio>=4.13.0",
|
|
39
39
|
"radon>=6.0.1",
|
|
40
40
|
"tqdm>=4.67.3",
|
|
@@ -85,19 +85,24 @@ uipath = [
|
|
|
85
85
|
# Without this extra, the framework still installs and runs; Codex-dependent
|
|
86
86
|
# code paths fail at dispatch with a clear hint pointing back here.
|
|
87
87
|
codex = [
|
|
88
|
-
"openai-codex>=0.
|
|
88
|
+
"openai-codex>=0.144.4",
|
|
89
89
|
]
|
|
90
90
|
# Optional extra that enables Antigravity agent support:
|
|
91
91
|
# - AntigravityAgent implementation using Google's official google-antigravity SDK
|
|
92
92
|
# (drives the bundled `localharness` binary, authenticated via GEMINI_API_KEY).
|
|
93
93
|
# Pinned exactly: the harness binary is a dominant non-model driver of eval results,
|
|
94
94
|
# so it travels with the coder_eval release tag and is bumped deliberately (mirrors
|
|
95
|
-
# the claude-code CLI / codex cli-bin pins).
|
|
96
|
-
#
|
|
95
|
+
# the claude-code CLI / codex cli-bin pins).
|
|
96
|
+
# glibc note — verify before bumping: the wheel's manylinux_2_17 tag is NOT a
|
|
97
|
+
# reliable floor; the bundled `localharness` ELF can require a newer glibc than the
|
|
98
|
+
# tag advertises. Eval agents run on Ubuntu 22.04 (glibc 2.35), so the pinned build
|
|
99
|
+
# must load there. 0.1.7 links without DT_RELR (max required symbol GLIBC_2.26) and
|
|
100
|
+
# loads on 2.35+; confirm any future pin does too (readelf -d | grep RELR must be
|
|
101
|
+
# empty / max GLIBC symbol <= the oldest target's glibc).
|
|
97
102
|
# Without this extra the framework still installs and runs; Antigravity-dependent
|
|
98
103
|
# code paths fail at start() with a clear hint pointing back here.
|
|
99
104
|
antigravity = [
|
|
100
|
-
"google-antigravity==0.1.
|
|
105
|
+
"google-antigravity==0.1.7",
|
|
101
106
|
]
|
|
102
107
|
|
|
103
108
|
[project.scripts]
|
|
@@ -129,12 +134,14 @@ packages = ["src/coder_eval"]
|
|
|
129
134
|
allow-direct-references = true
|
|
130
135
|
|
|
131
136
|
[tool.uv]
|
|
132
|
-
# openai-codex 0.
|
|
133
|
-
#
|
|
134
|
-
#
|
|
135
|
-
#
|
|
136
|
-
#
|
|
137
|
-
|
|
137
|
+
# openai-codex 0.144.4 hardpins `openai-codex-cli-bin==0.144.4` (a stable
|
|
138
|
+
# release; the SDK version now tracks the codex CLI version line). Naming it
|
|
139
|
+
# here documents and holds the pinned cli-bin build — the harness binary is a
|
|
140
|
+
# dominant non-model driver of eval results, so it travels with the coder_eval
|
|
141
|
+
# release tag and is bumped deliberately (mirrors the antigravity localharness
|
|
142
|
+
# and claude-code CLI pins). 0.144.4 publishes manylinux wheels (x86_64 +
|
|
143
|
+
# aarch64), so CI/Linux installs work.
|
|
144
|
+
override-dependencies = ["openai-codex-cli-bin==0.144.4"]
|
|
138
145
|
|
|
139
146
|
constraint-dependencies = [
|
|
140
147
|
# Fix known CVEs in transitive dependencies
|
|
@@ -167,6 +167,7 @@ class Agent[ConfigT: BaseAgentConfig](ABC):
|
|
|
167
167
|
*,
|
|
168
168
|
env_path_prepend: list[str] | None = None,
|
|
169
169
|
plugin_tools_dir: str | None = None,
|
|
170
|
+
sandbox_managed: bool = False,
|
|
170
171
|
) -> None:
|
|
171
172
|
"""Initialize and start the agent.
|
|
172
173
|
|
|
@@ -180,6 +181,10 @@ class Agent[ConfigT: BaseAgentConfig](ABC):
|
|
|
180
181
|
instead of walking up from CWD. An external ``PLUGIN_TOOLS_DIR`` in
|
|
181
182
|
the process environment still wins. Implementations that don't shell
|
|
182
183
|
out may ignore this argument.
|
|
184
|
+
sandbox_managed: True when coder_eval itself provides this run's isolation
|
|
185
|
+
boundary (the ephemeral host tempdir it created for the task). Agents
|
|
186
|
+
that run their own in-process OS sandbox may use this to skip it as
|
|
187
|
+
redundant; agents without one may ignore this argument.
|
|
183
188
|
"""
|
|
184
189
|
pass
|
|
185
190
|
|
|
@@ -93,10 +93,10 @@ def _harness_spawn_lock() -> asyncio.Lock:
|
|
|
93
93
|
|
|
94
94
|
|
|
95
95
|
# Recommended Gemini coding model when a task pins no ``agent.model`` and neither
|
|
96
|
-
# ``--model`` nor ``ANTIGRAVITY_MODEL`` is set. Gemini 3.
|
|
97
|
-
#
|
|
98
|
-
# ``medium`` thinking is its
|
|
99
|
-
_DEFAULT_MODEL = "gemini-3.
|
|
96
|
+
# ``--model`` nor ``ANTIGRAVITY_MODEL`` is set. Gemini 3.5 Flash is Antigravity 2.0's
|
|
97
|
+
# default coding model (2026-05) — it outperforms the older Gemini 3.1 Pro on coding /
|
|
98
|
+
# agentic benchmarks while running faster; ``medium`` thinking is its daily-driver default.
|
|
99
|
+
_DEFAULT_MODEL = "gemini-3.5-flash"
|
|
100
100
|
|
|
101
101
|
# Antigravity builtin tool name -> canonical Claude-ish tool name, so cross-agent
|
|
102
102
|
# success criteria (command_executed / commands_efficiency / skill_triggered) and
|
|
@@ -290,9 +290,14 @@ class AntigravityAgent(Agent[AntigravityAgentConfig]):
|
|
|
290
290
|
*,
|
|
291
291
|
env_path_prepend: list[str] | None = None,
|
|
292
292
|
plugin_tools_dir: str | None = None,
|
|
293
|
+
sandbox_managed: bool = False,
|
|
293
294
|
) -> None:
|
|
294
295
|
"""Initialize and start the Antigravity agent's local harness session.
|
|
295
296
|
|
|
297
|
+
(``sandbox_managed`` is accepted for interface parity with the base
|
|
298
|
+
``Agent.start`` and ignored: the Antigravity harness has no in-process
|
|
299
|
+
OS sandbox to drop.)
|
|
300
|
+
|
|
296
301
|
Args:
|
|
297
302
|
working_directory: Path to the sandbox working directory. The primary
|
|
298
303
|
``workspace`` so file writes (and run_command) operate there —
|
|
@@ -692,6 +692,7 @@ class ClaudeCodeAgent(Agent[ClaudeCodeAgentConfig]):
|
|
|
692
692
|
*,
|
|
693
693
|
env_path_prepend: list[str] | None = None,
|
|
694
694
|
plugin_tools_dir: str | None = None,
|
|
695
|
+
sandbox_managed: bool = False,
|
|
695
696
|
) -> None:
|
|
696
697
|
"""Initialize and start the Claude Code agent.
|
|
697
698
|
|
|
@@ -701,6 +702,9 @@ class ClaudeCodeAgent(Agent[ClaudeCodeAgentConfig]):
|
|
|
701
702
|
subprocess (typically the resolved ``SandboxConfig.mock_path_dirs``).
|
|
702
703
|
plugin_tools_dir: Canonical ``node_modules/@uipath`` to export as
|
|
703
704
|
``PLUGIN_TOOLS_DIR``. An external env-var pin still wins.
|
|
705
|
+
sandbox_managed: Accepted for interface parity with the base
|
|
706
|
+
``Agent.start`` and ignored — Claude Code runs the tempdir path
|
|
707
|
+
with no in-agent OS sandbox to drop.
|
|
704
708
|
"""
|
|
705
709
|
self.working_directory = Path(working_directory)
|
|
706
710
|
self._env_path_prepend = list(env_path_prepend or [])
|