coder-eval 0.9.3__tar.gz → 0.9.4__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.9.3 → coder_eval-0.9.4}/CHANGELOG.md +30 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/PKG-INFO +1 -1
- {coder_eval-0.9.3 → coder_eval-0.9.4}/action.yml +10 -2
- {coder_eval-0.9.3 → coder_eval-0.9.4}/litellm/README.md +4 -1
- {coder_eval-0.9.3 → coder_eval-0.9.4}/litellm/cost_logger.py +1 -1
- {coder_eval-0.9.3 → coder_eval-0.9.4}/litellm/litellm-config.yaml +4 -2
- {coder_eval-0.9.3 → coder_eval-0.9.4}/litellm/start-litellm.sh +25 -2
- {coder_eval-0.9.3 → coder_eval-0.9.4}/pyproject.toml +1 -1
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/__init__.py +1 -1
- coder_eval-0.9.4/tests/test_litellm_config.py +113 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/uv.lock +1 -1
- coder_eval-0.9.3/tests/test_litellm_config.py +0 -57
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/commands/coder-eval-code-review-full.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/commands/coder-eval-code-review-wf.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/commands/coder-eval-code-review.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/commands/coder-eval-create-plan.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/commands/coder-eval-implement-plan.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/commands/coder-eval-review.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/commands/coder-eval-run-analysis.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/commands/coder-eval-task-create.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/harness-candidates.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/shared/axes.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/shared/multi-model-review.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/shared/review-rubric.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/shared/run-layout.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/workflows/cr-axis.js +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.claude/workflows/cr-parent.js +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.env.example +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/CODEOWNERS +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/ISSUE_TEMPLATE/adopter.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/code_review.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/dependabot.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/pages-stub/index.html +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/scripts/release_notes.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/workflows/claude-pr-review.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/workflows/codeql.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/workflows/conventional-commits.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/workflows/docker-publish.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/workflows/docs.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/workflows/pr-checks.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/workflows/publish-testpypi.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.github/workflows/release.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.gitignore +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.pre-commit-config.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/.python-version +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/ADOPTERS.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/CLAUDE.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/CODE_OF_CONDUCT.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/CONTRIBUTING.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/LICENSE +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/Makefile +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/NOTICE +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/README.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/SECURITY.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docker/Dockerfile +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docker/Dockerfile.runtime +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docker/coder_eval_entrypoint.sh +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docker/coder_eval_runtime_entrypoint.sh +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/AB_EXPERIMENTS.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/CI_GATE.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/DATASETS.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/DIALOG_MODE.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/DOCKER_ISOLATION.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/EXTENDING.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/REPORT_SCHEMA.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/TASK_DEFINITION_GUIDE.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/USER_GUIDE.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/agents/ANTIGRAVITY.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/agents/CLAUDE_CODE.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/agents/CODEX.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/assets/hero.gif +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/comparison.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/index.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/llms.txt +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/tutorials/01-first-evaluation.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/tutorials/02-ci-pipeline.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/tutorials/03-evalboard-local.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/tutorials/04-writing-a-task.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/tutorials/05-comparing-models.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/tutorials/06-use-docker-isolation.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/docs/tutorials/README.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/.gitignore +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/README.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/__tests__/harness-badge.test.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/__tests__/harness-selector.test.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/__tests__/search-box.test.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/col-help.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/collapsible-rail.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/harness-badge.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/harness-selector.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/scroll-table.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/search-box.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/unit-toggle.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/version-list.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_overview/__tests__/harness-legend.test.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_overview/__tests__/harness-series.test.ts +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_overview/daily-chart.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_overview/harness-legend.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_overview/harness-series.ts +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_overview/tag-rail.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_overview/turn-budget-chart.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_overview/window-summary.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/api/download/route.ts +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/api/file/route.ts +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/api/refresh/__tests__/route.test.ts +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/api/refresh/route.ts +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/error.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/globals.css +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/icon.png +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/layout.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/page.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/path-to-ga/page.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/trends/__tests__/trends-view.test.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/trends/actions.ts +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/trends/page.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/trends/trends-view.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/watchlist/__tests__/watchlist-view.test.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/watchlist/page.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/watchlist/watchlist-view.tsx +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/next-env.d.ts +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/next.config.mjs +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/package.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/pnpm-lock.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/postcss.config.mjs +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/public/harness/antigravity.png +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/public/harness/claude-code.png +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/public/harness/codex.png +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/public/uipath.png +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/tailwind.config.ts +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/tsconfig.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/vitest.config.ts +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/vitest.setup.ts +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/experiments/default.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/experiments/early-stop-ab.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/experiments/model-comparison.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/experiments/permissions-smoke.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/experiments/plugin-comparison.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/experiments/prompt-mutations-example.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/experiments/smoke_variants.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/mkdocs.yml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/osv-scanner.toml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/scripts/check_commit_msg.sh +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/.gitattributes +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/agent.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/agents/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/agents/_logging.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/agents/antigravity_agent.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/agents/claude_code_agent.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/agents/codex_agent.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/agents/noop_agent.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/agents/registry.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/agents/watchdog.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/analysis.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/cli/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/cli/aggregate_command.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/cli/console.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/cli/evaluate_command.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/cli/plan_command.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/cli/report_command.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/cli/run_command.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/cli/run_helpers.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/cli/run_task_internal_command.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/cli/utils.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/config.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/_classification_aggregate.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/agent_judge.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/base.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/classification_match.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/command_executed.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/commands_efficiency.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/file_check.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/file_contains.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/file_exists.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/file_matches_regex.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/json_check.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/llm_judge.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/reference_comparison.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/run_command.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/skill_triggered.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/criteria/uipath_eval.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/errors/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/errors/agent.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/errors/budget.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/errors/categories.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/errors/categorization.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/errors/checker_misuse.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/errors/executor.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/errors/judge.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/errors/retry.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/errors/timeout.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/evaluation/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/evaluation/checker.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/evaluation/judge_anthropic.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/evaluation/judge_bedrock.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/evaluation/judge_context.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/evaluation/judge_models.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/evaluation/judge_persistence.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/evaluation/judge_usage.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/evaluation/sub_agent.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/evaluation/summaries.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/evaluation/verdict_tool.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/formatting.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/isolation/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/isolation/docker_runner.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/litellm_cost.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/logging_config.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/agent_config.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/container_paths.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/criteria.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/enums.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/experiment.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/judge.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/judge_defaults.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/limits.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/merge_strategy.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/mutations.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/results.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/routing.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/sandbox.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/tasks.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/telemetry.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/models/templates.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/orchestration/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/orchestration/batch.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/orchestration/config.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/orchestration/config_merge.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/orchestration/early_stop.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/orchestration/evaluation.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/orchestration/experiment.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/orchestration/overrides.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/orchestration/task_loader.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/orchestrator.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/path_utils.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/plugins.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/pricing.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/py.typed +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/reports.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/reports_experiment.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/reports_html.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/reports_junit.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/reports_stats.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/resources/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/resources/default_ignore_patterns.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/resources/tags.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/sandbox.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/scoring/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/scoring/ast_similarity.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/scoring/complexity.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/scoring/quality.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/scoring/signature_similarity.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/scoring/similarity.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/scoring/token_similarity.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/simulation/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/simulation/termination.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/simulation/user_simulator.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/streaming/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/streaming/callbacks.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/streaming/collector.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/streaming/events.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/streaming/renderers.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/streaming/wire.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/telemetry.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/src/coder_eval/utils.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/README.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agentless_smoke_test.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/antigravity_hello_world.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/antigravity_hello_world_docker.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/claude_hello_world.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/claude_hello_world_docker.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/claude_parallel_single_gen.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/claude_subagent_test.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/codex_disallowed_tools_test.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/codex_hello_world.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/codex_parallel_commands.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/codex_parallel_single_gen.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/codex_skills_test.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/codex_string_utils.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/codex_subagent_test.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/subagent_bash_long_input.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/agents/subagent_merge_sort.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/byod_smoke_test.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/dataset_example.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/datasets/sentiment.jsonl +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/dockerfile_build_example/dockerfile_build_example.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/dockerfile_build_example/environment/Dockerfile +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/dockerfile_build_example/environment/Dockerfile.workdir +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/dockerfile_build_example/environment/input.txt +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/dockerfile_build_example/working_dir_auto_example.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/dockerfile_build_example/working_dir_concrete_example.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/early_stop_decision_budget_exceeded.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/early_stop_weighted_high_weight_kills_run.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/early_stop_weighted_low_weight_absorbed.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/fibonacci_with_template.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/hello_date.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/inline_starter_example.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/internal/session_resumption.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/mock_path_dirs_smoke.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/mock_path_dirs_template_dir/mock-cli-bins/README.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/echo_args +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/fixtures/config.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/mock_path_dirs_template_dir/mock-cli-bins/mocks/say_hello +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/mock_path_dirs_template_dir/task.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/python_cli_simulated_judged/echo_simulated_judged.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/3d-scan-calc/3d-scan-calc.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/3d-scan-calc/environment/Dockerfile +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/3d-scan-calc/environment/material_density_table.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/3d-scan-calc/environment/scan_data.stl +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/3d-scan-calc/verifier/test.sh +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/3d-scan-calc/verifier/test_outputs.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/README.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/court-form-filling/court-form-filling.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/court-form-filling/environment/Dockerfile +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/court-form-filling/environment/sc100-blank.pdf +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/court-form-filling/verifier/test.sh +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/court-form-filling/verifier/test_outputs.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/dialogue-parser/dialogue-parser.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/dialogue-parser/environment/Dockerfile +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/dialogue-parser/environment/script.txt +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/dialogue-parser/verifier/test.sh +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/samples/skillsbench/dialogue-parser/verifier/test_outputs.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/sentiment_classification.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/smoke_agent_judge.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/smoke_budget_exceeded.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/smoke_cost_budget_exceeded.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/smoke_llm_judge.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/smoke_negative_path.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/smoke_task_timeout.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/smoke_variants.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/test_sandbox.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tasks/token_check.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/templates/byod_smoke_test/Dockerfile +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/templates/fibonacci-starter/README.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/templates/fibonacci-starter/src/main.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/templates/fibonacci-starter/tests/test_main.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/_scrub.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/claude_fixtures.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/codex_fixtures.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/claude_a_single_text_turn.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/claude_b_tool_use_result.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/claude_c_multi_emission_delta.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/claude_d_subagent_terminal.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/claude_e_model_usage_and_backfill.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/claude_f_orphaned_tool.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/claude_g_crash_format_placeholder.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/claude_h1_timeout_process_error.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/claude_h2_process_error_crash.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/claude_i_in_loop_deadline_break.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/codex_a_agent_message_only.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/codex_b_command_execution.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/codex_c_reasoning_placeholder.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/codex_d_cross_flush_is_error.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/codex_e_orphan_tool.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/codex_f_collab_fallback.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/codex_g_items_rebuild.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/golden_streams/expected/codex_h_no_turn_completed_crash.json +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/report_snapshots/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/report_snapshots/_snapshot.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/report_snapshots/experiment_2variant.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/report_snapshots/experiment_3variant.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/report_snapshots/experiment_replicates.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/report_snapshots/run_full.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_fixtures/report_snapshots/run_minimal.md +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/_path_helpers.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/conftest.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/fixtures/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/fixtures/byoa_demo_plugin/byoa_demo.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/fixtures/byoa_demo_plugin/pyproject.toml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/fixtures/mock_agent.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/fixtures/tasks/test_task_informational_criterion.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/fixtures/tasks/test_task_multiple_criteria.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/fixtures/tasks/test_task_pass.yaml +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/fixtures/text_stub_agent.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/dead_config_fields.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/doc_env_parity.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/doc_examples.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/doc_indexes.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/doc_schema_parity.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/__init__.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/base.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/ce014_merge_strategy_declared.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/ce015_create_subprocess_limit.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/ce016_no_computed_tokenusage_kwargs.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/ce017_models_lazy_agent_imports.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/ce018_no_final_status_name_denylist.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/ce019_telemetry_non_fatal.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/ce020_no_sdk_typed_base_agent_fields.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/ce021_guarded_evaluationresult_parse.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/ce022_dialog_loop_statement_cap.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/ce023_no_proxy_shim_import.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/ce024_discriminated_unions.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/no_agent_timing_access.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/no_blocking_io_in_async.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/no_cli_imports_in_core.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/no_silent_except.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/no_submodule_model_imports.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/no_top_level_run_limits_access.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/no_transcript_regex_in_eval.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/no_type_name_string_dispatch.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/open_explicit_encoding.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/read_text_explicit_encoding.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/register_criterion_required.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/subprocess_run_explicit_encoding.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/rules/yaml_models_forbid_extras.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/runner.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/lint/violation.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_action_version_pin.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_agent.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_agent_config_no_timing_fields.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_agent_config_optional_type.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_agent_config_registry_dispatch.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_agent_config_sdk_decoupling.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_agent_golden_master.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_agent_judge_criterion.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_agent_telemetry.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_agent_telemetry_advanced.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_agent_timeout.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_agentless.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_aggregate.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_antigravity_agent.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_byoa_plugin.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_byoa_plugin_live.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_byod_feature.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_check_all_async.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_checker_logging.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_classification_match.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_claude_settings_enforcement_live.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_cleanup_preservation_guard.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_cli_backend_flag.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_cli_empty_glob.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_cli_sdk_options.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_cli_set_overrides.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_cli_telemetry.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_cli_type_flag.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_code_review_bugs.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_codex_agent.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_codex_agent_live.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_codex_agent_unit.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_codex_token_mapping.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_command_executed.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_command_statistics.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_command_telemetry_result_data.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_commands_efficiency.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_config_lineage.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_config_merge_engine.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_config_precedence.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_continuous_scoring.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_cost_accounting_paths.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_criterion_result_round_trip.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_custom_lint.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_dataset_expansion.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_debug_logging.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_docker_build_failure.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_docker_litellm_env.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_docker_runner_container_death.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_docker_runner_mounts.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_docker_runner_stream_limit.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_docker_wildcard_env.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_docker_workdir_live.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_driver_resolver.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_early_stop.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_error_handling.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_evaluate_command.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_evaluator.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_event_collector.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_experiment_cli.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_experiment_loader.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_experiment_models.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_experiment_reports.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_experiment_resolver.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_experiment_runner.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_file_check.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_file_contains_scoring.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_formatting.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_git_clone_failure.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_heartbeat_watchdog.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_ignore_patterns_negation.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_image_from_dockerfiles.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_integration.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_json_check.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_judge_anthropic.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_judge_bedrock.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_judge_burn_in_live.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_judge_context_builder.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_judge_models.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_judge_persistence.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_lint_no_top_level_run_limits.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_lint_runner.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_litellm_cost.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_litellm_cost_logger.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_litellm_route.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_llm_judge_criterion.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_log_tail_buffer.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_logging.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_logging_isolation.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_merge_characterization.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_merge_strategy_annotations.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_merge_unification.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_models.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_mutations.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_new_criteria.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_node_env_config.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_optional_dependencies.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_orchestrator.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_orchestrator_error_log_tail.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_orchestrator_telemetry.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_overrides_engine.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_parallel.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_path_utils.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_plan_command.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_plugin_processing.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_plugins.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_post_run.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_pr_review_workflow.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_pre_run.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_preservation_mode.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_pricing_registry.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_reference_comparison_scoring.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_reference_evaluator.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_reference_missing_file.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_reference_models.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_reference_orchestrator.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_registry.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_release_notes.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_replicate_stats.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_report_command.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_reports.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_reports_experiment.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_reports_html.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_reports_junit.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_reports_stats.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_reports_stats_nonfinite.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_resolve_task_files.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_resume.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_retry_logic_comprehensive.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_route_seam_exhaustiveness.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_routing.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_run_command_junit.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_run_command_stdout.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_run_limits_models.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_run_limits_orchestrator.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_run_limits_resolver.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_run_metrics.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_runtime_tool_versions.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_sandbox.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_sandbox_layer_builder.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_sandbox_optional.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_sandbox_security.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_sandbox_symlink_preservation.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_sandbox_templates.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_scorers.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_scoring_quality.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_sdk_option_classification.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_simulation_config.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_simulation_integration.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_simulation_termination.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_simulation_trials.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_skill_triggered.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_streaming_agent_integration.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_streaming_batch.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_streaming_callbacks.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_streaming_cli.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_streaming_events.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_streaming_orchestrator.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_streaming_renderers.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_streaming_wire.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_sub_agent_runner.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_success_criterion_union.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_suite_rollup.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_summaries.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_tags.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_task_definition_unknown_fields.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_teardown_interrupt.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_telemetry.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_template_env_expansion.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_threshold_enforcement.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_timeout_batch.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_timeout_categorization.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_timeout_exceptions.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_timeout_models.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_timeout_orchestrator.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_token_usage.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_uipath_eval.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_user_simulator.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_utils.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_utterance_extraction.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_variant_prompt_file.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_verdict_tool.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_watchdog.py +0 -0
- {coder_eval-0.9.3 → coder_eval-0.9.4}/tests/test_yaml_migration.py +0 -0
|
@@ -2,6 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v0.9.4 (2026-08-04)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **litellm**: Pin litellm[proxy]==1.95.0 + fastapi==0.140.0 for proxy startup
|
|
10
|
+
([#76](https://github.com/UiPath/coder_eval/pull/76),
|
|
11
|
+
[`f2f8580`](https://github.com/UiPath/coder_eval/commit/f2f85807cff3376b7201d5d5b2f9e1c4874220d9))
|
|
12
|
+
|
|
13
|
+
- **litellm**: Pin proxy deps (litellm 1.95.0 + fastapi 0.140.0) to fix startup crash
|
|
14
|
+
([#76](https://github.com/UiPath/coder_eval/pull/76),
|
|
15
|
+
[`f2f8580`](https://github.com/UiPath/coder_eval/commit/f2f85807cff3376b7201d5d5b2f9e1c4874220d9))
|
|
16
|
+
|
|
17
|
+
### Chores
|
|
18
|
+
|
|
19
|
+
- **action**: Rename Marketplace listing to coder_eval, add author
|
|
20
|
+
([`a9c274d`](https://github.com/UiPath/coder_eval/commit/a9c274d918114df5229b20e9c65a4ce620b9f9ed))
|
|
21
|
+
|
|
22
|
+
### Documentation
|
|
23
|
+
|
|
24
|
+
- **litellm**: Surface the proxy dep-pin override vars in start script
|
|
25
|
+
([#76](https://github.com/UiPath/coder_eval/pull/76),
|
|
26
|
+
[`f2f8580`](https://github.com/UiPath/coder_eval/commit/f2f85807cff3376b7201d5d5b2f9e1c4874220d9))
|
|
27
|
+
|
|
28
|
+
### Refactoring
|
|
29
|
+
|
|
30
|
+
- **litellm**: Address PR review — pin SSOT guard, rename, doc ripple
|
|
31
|
+
([#76](https://github.com/UiPath/coder_eval/pull/76),
|
|
32
|
+
[`f2f8580`](https://github.com/UiPath/coder_eval/commit/f2f85807cff3376b7201d5d5b2f9e1c4874220d9))
|
|
33
|
+
|
|
34
|
+
|
|
5
35
|
## v0.9.3 (2026-08-04)
|
|
6
36
|
|
|
7
37
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: coder-eval
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.4
|
|
4
4
|
Summary: Evaluate, benchmark, and A/B-test AI coding agents (Claude Code, Codex, Gemini/Antigravity) with sandboxed, reproducible YAML task suites.
|
|
5
5
|
Project-URL: Homepage, https://coder-eval.com
|
|
6
6
|
Project-URL: Repository, https://github.com/UiPath/coder_eval
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
name
|
|
1
|
+
# `name` is the GitHub Marketplace listing title and must be globally unique
|
|
2
|
+
# across Marketplace actions, users, AND organizations. `coder-eval` is taken by
|
|
3
|
+
# an unrelated squatted org (github.com/coder-eval), so the listing uses the
|
|
4
|
+
# underscored repo name instead. This value is display-only: consumers reference
|
|
5
|
+
# the action by repo path (`uses: UiPath/coder_eval@v0`), never by this name.
|
|
6
|
+
name: coder_eval
|
|
7
|
+
# Matches the authorship the project already declares in pyproject.toml
|
|
8
|
+
# (`authors = [{ name = "UiPath", ... }]`) and NOTICE (`© 2026 UiPath`).
|
|
9
|
+
author: UiPath
|
|
2
10
|
description: Run coder-eval evaluation tasks as a CI gate, with JUnit XML output and a job-summary report.
|
|
3
11
|
branding:
|
|
4
12
|
icon: check-circle
|
|
@@ -33,7 +41,7 @@ inputs:
|
|
|
33
41
|
version:
|
|
34
42
|
description: coder-eval version to install from PyPI, or "local" to install from the action checkout
|
|
35
43
|
required: false
|
|
36
|
-
default: "0.9.
|
|
44
|
+
default: "0.9.4" # <-- kept in sync with releases by release.yml
|
|
37
45
|
run-dir:
|
|
38
46
|
description: Run directory (--run-dir)
|
|
39
47
|
required: false
|
|
@@ -55,7 +55,9 @@ bash litellm/start-litellm.sh # foreground on :4000, Ctrl-C to stop
|
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
Overridable via env: `LITELLM_PORT` (default 4000), `LITELLM_CONFIG`, `ENV_FILE`,
|
|
58
|
-
`LITELLM_MASTER_KEY
|
|
58
|
+
`LITELLM_MASTER_KEY`, and the proxy dep pins `LITELLM_SPEC` / `LITELLM_FASTAPI_SPEC`
|
|
59
|
+
(full pip specifiers, e.g. `litellm[proxy]==1.95.0` / `fastapi==0.140.0` — set both
|
|
60
|
+
together when bumping).
|
|
59
61
|
|
|
60
62
|
### Point coder_eval at it
|
|
61
63
|
|
|
@@ -190,4 +192,5 @@ subject to this. Bedrock models are single-provider and not affected.
|
|
|
190
192
|
| `LiteLLM proxy not reachable at ...` (coder_eval startup) | Proxy not running — start it, or unset `LITELLM_BASE_URL`. |
|
|
191
193
|
| `Invalid model name passed in model=...` | Model added to yaml but proxy not restarted — restart it. |
|
|
192
194
|
| HTTP 401 / "Unable to locate credentials" | Missing `AWS_BEARER_TOKEN_BEDROCK` / `OPENROUTER_API_KEY` in `.env`, or key mismatch between `LITELLM_AUTH_TOKEN` (client) and the proxy's master key. |
|
|
195
|
+
| `ModuleNotFoundError: No module named 'proxy_server'` (masked startup death) | fastapi drifted past 0.140.0 (`get_flat_dependant` removed). Use `start-litellm.sh` (it pins the deps), or run with `--with 'fastapi==0.140.0'`. If overriding `LITELLM_SPEC`, bump `LITELLM_FASTAPI_SPEC` to match. |
|
|
193
196
|
| evalboard cost column blank for a model | Model missing from `evalboard/lib/pricing.ts`. |
|
|
@@ -26,7 +26,7 @@ Register in ``litellm-config.yaml``::
|
|
|
26
26
|
|
|
27
27
|
This module is intentionally **self-contained** (no ``coder_eval`` import): the
|
|
28
28
|
proxy may run in its own ephemeral environment
|
|
29
|
-
(``uvx --from 'litellm[proxy]' litellm``).
|
|
29
|
+
(``uvx --from 'litellm[proxy]==1.95.0' --with 'fastapi==0.140.0' litellm``).
|
|
30
30
|
"""
|
|
31
31
|
|
|
32
32
|
from __future__ import annotations
|
|
@@ -18,8 +18,10 @@
|
|
|
18
18
|
# AWS_REGION=eu-north-1 — EU residency (Stockholm).
|
|
19
19
|
# LITELLM_MASTER_KEY — the virtual key clients present as LITELLM_AUTH_TOKEN.
|
|
20
20
|
#
|
|
21
|
-
# Run manually
|
|
22
|
-
#
|
|
21
|
+
# Run manually (pin fastapi==0.140.0 — a later 0.140.x patch removed a symbol
|
|
22
|
+
# litellm's proxy imports; start-litellm.sh does this for you):
|
|
23
|
+
# uvx --from 'litellm[proxy]==1.95.0' --with 'fastapi==0.140.0' \
|
|
24
|
+
# litellm --config litellm/litellm-config.yaml --port 4000
|
|
23
25
|
|
|
24
26
|
model_list:
|
|
25
27
|
# DeepSeek V3.2 — cost lead ($0.74 / $2.22 per Mtok).
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
# Usage:
|
|
13
13
|
# litellm/start-litellm.sh # foreground; Ctrl-C to stop
|
|
14
14
|
# Overridable via env:
|
|
15
|
-
# LITELLM_PORT (default 4000), LITELLM_CONFIG, ENV_FILE, LITELLM_MASTER_KEY
|
|
15
|
+
# LITELLM_PORT (default 4000), LITELLM_CONFIG, ENV_FILE, LITELLM_MASTER_KEY,
|
|
16
|
+
# LITELLM_SPEC / LITELLM_FASTAPI_SPEC (proxy dep pins — FULL pip specifiers,
|
|
17
|
+
# e.g. 'litellm[proxy]==1.95.0' / 'fastapi==0.140.0'; see the pin comment below)
|
|
16
18
|
set -euo pipefail
|
|
17
19
|
|
|
18
20
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd)"
|
|
@@ -69,11 +71,31 @@ if [ -z "$AWS_BEARER_TOKEN_BEDROCK" ]; then
|
|
|
69
71
|
echo " Set it in .env or 'export AWS_BEARER_TOKEN_BEDROCK=...' before running." >&2
|
|
70
72
|
exit 1
|
|
71
73
|
fi
|
|
74
|
+
# Pin the proxy deps. `uvx --from 'litellm[proxy]'` unpinned drifts: litellm 1.95.0
|
|
75
|
+
# declares `fastapi>=0.136.3,<1.0`, so uvx grabs the newest fastapi — but fastapi
|
|
76
|
+
# dropped `get_flat_dependant` (which litellm's proxy still imports) in a 0.140.x
|
|
77
|
+
# PATCH (0.140.0 has it, 0.140.13 doesn't), so a range cap isn't enough and startup
|
|
78
|
+
# dies with a (masked) `ModuleNotFoundError: proxy_server`. Pin fastapi to an exact
|
|
79
|
+
# verified-good version and pin litellm so the sidecar can't silently re-break.
|
|
80
|
+
# Both are FULL pip specifiers; override for an upgrade (set BOTH together):
|
|
81
|
+
# LITELLM_SPEC='litellm[proxy]==<ver>' LITELLM_FASTAPI_SPEC='fastapi==<ver>'.
|
|
82
|
+
LITELLM_SPEC="${LITELLM_SPEC:-litellm[proxy]==1.95.0}"
|
|
83
|
+
LITELLM_FASTAPI_SPEC="${LITELLM_FASTAPI_SPEC:-fastapi==0.140.0}"
|
|
84
|
+
# Fail loud on a bare version (e.g. '0.140.0'): `uvx --with 0.140.0` would die with
|
|
85
|
+
# an opaque 'package not found' instead of a pin error.
|
|
86
|
+
for _spec in "$LITELLM_SPEC" "$LITELLM_FASTAPI_SPEC"; do
|
|
87
|
+
case "$_spec" in
|
|
88
|
+
*[=\<\>~]*) ;;
|
|
89
|
+
*) echo "ERROR: '$_spec' is not a pip specifier (expected e.g. fastapi==0.140.0)." >&2; exit 1 ;;
|
|
90
|
+
esac
|
|
91
|
+
done
|
|
92
|
+
|
|
72
93
|
echo "config : $CONFIG"
|
|
73
94
|
echo "region : $AWS_REGION"
|
|
74
95
|
echo "bedrock tok: set (${#AWS_BEARER_TOKEN_BEDROCK} chars)"
|
|
75
96
|
echo "master key : $LITELLM_MASTER_KEY"
|
|
76
97
|
echo "cost log : $LITELLM_COST_LOG"
|
|
98
|
+
echo "proxy deps : $LITELLM_SPEC + $LITELLM_FASTAPI_SPEC"
|
|
77
99
|
|
|
78
100
|
# --- stop any stale proxy on the port (the classic 'creds-less running proxy') ---
|
|
79
101
|
existing=$(lsof -tiTCP:"$PORT" -sTCP:LISTEN 2>/dev/null || true)
|
|
@@ -96,4 +118,5 @@ Set these in coder_eval's .env (or shell) to use it:
|
|
|
96
118
|
|
|
97
119
|
EOF
|
|
98
120
|
|
|
99
|
-
|
|
121
|
+
# Launch with the pinned deps resolved above (rationale in the pin comment).
|
|
122
|
+
exec uvx --from "$LITELLM_SPEC" --with "$LITELLM_FASTAPI_SPEC" litellm --config "$CONFIG" --host 127.0.0.1 --port "$PORT"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "coder-eval"
|
|
3
|
-
version = "0.9.
|
|
3
|
+
version = "0.9.4"
|
|
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"
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"""Shape guards for the LiteLLM proxy config (litellm/litellm-config.yaml).
|
|
2
|
+
|
|
3
|
+
A typo in this YAML (a mis-spelled key, a wrong callback path) fails silently at
|
|
4
|
+
proxy startup rather than in CI, so pin the structure the open-weight cost feature
|
|
5
|
+
relies on: `usage.include` + the vetted provider pins per model, and the callback
|
|
6
|
+
registration matching the real symbol in cost_logger.py.
|
|
7
|
+
|
|
8
|
+
Same rationale covers the sidecar dependency pins: `start-litellm.sh` is the SSOT
|
|
9
|
+
for `LITELLM_SPEC` / `LITELLM_FASTAPI_SPEC`, and the pins are restated in the
|
|
10
|
+
config's `# Run manually` comment and the cost_logger docstring. Nothing else
|
|
11
|
+
mechanically checks the shell launcher (no shellcheck hook, no CI job touches
|
|
12
|
+
`litellm/`), so a future pin bump could silently desync those copies and only fail
|
|
13
|
+
at proxy startup — exactly the failure mode the pins exist to fix. These guards
|
|
14
|
+
keep the copies in lockstep and syntax-check the launcher.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
19
|
+
import importlib.util
|
|
20
|
+
import re
|
|
21
|
+
import shutil
|
|
22
|
+
import subprocess
|
|
23
|
+
from pathlib import Path
|
|
24
|
+
|
|
25
|
+
import pytest
|
|
26
|
+
import yaml
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
_REPO_ROOT = Path(__file__).resolve().parent.parent
|
|
30
|
+
_CONFIG = _REPO_ROOT / "litellm" / "litellm-config.yaml"
|
|
31
|
+
_COST_LOGGER = _REPO_ROOT / "litellm" / "cost_logger.py"
|
|
32
|
+
_START_SCRIPT = _REPO_ROOT / "litellm" / "start-litellm.sh"
|
|
33
|
+
|
|
34
|
+
_CALLBACK = "cost_logger.proxy_handler_instance"
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def _load() -> dict:
|
|
38
|
+
return yaml.safe_load(_CONFIG.read_text(encoding="utf-8"))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _pin_defaults() -> dict[str, str]:
|
|
42
|
+
"""Extract the `${VAR:-<default>}` pin defaults from start-litellm.sh (the SSOT)."""
|
|
43
|
+
text = _START_SCRIPT.read_text(encoding="utf-8")
|
|
44
|
+
pins: dict[str, str] = {}
|
|
45
|
+
for var in ("LITELLM_SPEC", "LITELLM_FASTAPI_SPEC"):
|
|
46
|
+
m = re.search(rf'{var}="\$\{{{var}:-(?P<val>[^}}]+)\}}"', text)
|
|
47
|
+
assert m, f"{var} default not found in {_START_SCRIPT.name}"
|
|
48
|
+
pins[var] = m.group("val")
|
|
49
|
+
return pins
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class TestLitellmConfigShape:
|
|
53
|
+
def test_cost_callback_registered(self):
|
|
54
|
+
assert _load()["litellm_settings"]["callbacks"] == _CALLBACK
|
|
55
|
+
|
|
56
|
+
def test_openrouter_models_capture_usage_and_pin_providers(self):
|
|
57
|
+
# Derive the OpenRouter set from the config (not a hardcoded literal) so a
|
|
58
|
+
# future openrouter/* entry missing usage.include is caught automatically —
|
|
59
|
+
# otherwise it silently regresses to static pricing.
|
|
60
|
+
models = [m for m in _load()["model_list"] if str(m["litellm_params"]["model"]).startswith("openrouter/")]
|
|
61
|
+
assert models, "no openrouter/* models in litellm-config model_list"
|
|
62
|
+
for model in models:
|
|
63
|
+
extra = model["litellm_params"]["extra_body"]
|
|
64
|
+
# usage.include drives the actual-cost capture (cost_logger reads usage.cost).
|
|
65
|
+
assert extra["usage"]["include"] is True, model["model_name"]
|
|
66
|
+
provider = extra["provider"]
|
|
67
|
+
assert provider["sort"] == "price"
|
|
68
|
+
# allow_fallbacks: true, but bounded to the vetted `only` set (fall over
|
|
69
|
+
# WITHIN the set on saturation; never outside it).
|
|
70
|
+
assert provider["allow_fallbacks"] is True
|
|
71
|
+
assert isinstance(provider["only"], list) and provider["only"]
|
|
72
|
+
|
|
73
|
+
def test_callback_symbol_exists_in_cost_logger(self):
|
|
74
|
+
# The callbacks string above names `cost_logger.proxy_handler_instance`;
|
|
75
|
+
# prove that symbol actually exists so the config and module can't drift.
|
|
76
|
+
module_name, attr = _CALLBACK.split(".")
|
|
77
|
+
spec = importlib.util.spec_from_file_location(module_name, _COST_LOGGER)
|
|
78
|
+
assert spec and spec.loader
|
|
79
|
+
module = importlib.util.module_from_spec(spec)
|
|
80
|
+
spec.loader.exec_module(module)
|
|
81
|
+
assert hasattr(module, attr)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class TestLitellmSidecarPins:
|
|
85
|
+
def test_defaults_are_full_pip_specifiers(self):
|
|
86
|
+
# A bare version (e.g. LITELLM_FASTAPI_SPEC=0.140.13) would become
|
|
87
|
+
# `uvx --with 0.140.13` and fail with an opaque 'package not found' rather
|
|
88
|
+
# than a pin error, so every default must carry a version comparator.
|
|
89
|
+
for var, spec in _pin_defaults().items():
|
|
90
|
+
assert var.endswith("_SPEC"), f"{var} holds a specifier; name it *_SPEC"
|
|
91
|
+
assert re.search(r"[=<>~]=?", spec), f"{var}={spec!r} is not a pip specifier"
|
|
92
|
+
|
|
93
|
+
def test_pins_are_restated_in_every_committed_copy(self):
|
|
94
|
+
# start-litellm.sh is the SSOT; the config's `# Run manually` comment and the
|
|
95
|
+
# cost_logger docstring each restate the invocation. Assert both exact pins
|
|
96
|
+
# appear verbatim in each, so a future bump can't silently desync them.
|
|
97
|
+
pins = _pin_defaults().values()
|
|
98
|
+
config_text = _CONFIG.read_text(encoding="utf-8")
|
|
99
|
+
cost_logger_text = _COST_LOGGER.read_text(encoding="utf-8")
|
|
100
|
+
for pin in pins:
|
|
101
|
+
assert pin in config_text, f"{pin!r} missing from litellm-config.yaml comment"
|
|
102
|
+
assert pin in cost_logger_text, f"{pin!r} missing from cost_logger.py docstring"
|
|
103
|
+
|
|
104
|
+
def test_start_script_has_valid_bash_syntax(self):
|
|
105
|
+
bash = shutil.which("bash")
|
|
106
|
+
if bash is None:
|
|
107
|
+
pytest.skip("bash not available")
|
|
108
|
+
result = subprocess.run(
|
|
109
|
+
[bash, "-n", str(_START_SCRIPT)],
|
|
110
|
+
capture_output=True,
|
|
111
|
+
text=True,
|
|
112
|
+
)
|
|
113
|
+
assert result.returncode == 0, result.stderr
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"""Shape guards for the LiteLLM proxy config (litellm/litellm-config.yaml).
|
|
2
|
-
|
|
3
|
-
A typo in this YAML (a mis-spelled key, a wrong callback path) fails silently at
|
|
4
|
-
proxy startup rather than in CI, so pin the structure the open-weight cost feature
|
|
5
|
-
relies on: `usage.include` + the vetted provider pins per model, and the callback
|
|
6
|
-
registration matching the real symbol in cost_logger.py.
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
from __future__ import annotations
|
|
10
|
-
|
|
11
|
-
import importlib.util
|
|
12
|
-
from pathlib import Path
|
|
13
|
-
|
|
14
|
-
import yaml
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
_REPO_ROOT = Path(__file__).resolve().parent.parent
|
|
18
|
-
_CONFIG = _REPO_ROOT / "litellm" / "litellm-config.yaml"
|
|
19
|
-
_COST_LOGGER = _REPO_ROOT / "litellm" / "cost_logger.py"
|
|
20
|
-
|
|
21
|
-
_CALLBACK = "cost_logger.proxy_handler_instance"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
def _load() -> dict:
|
|
25
|
-
return yaml.safe_load(_CONFIG.read_text(encoding="utf-8"))
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class TestLitellmConfigShape:
|
|
29
|
-
def test_cost_callback_registered(self):
|
|
30
|
-
assert _load()["litellm_settings"]["callbacks"] == _CALLBACK
|
|
31
|
-
|
|
32
|
-
def test_openrouter_models_capture_usage_and_pin_providers(self):
|
|
33
|
-
# Derive the OpenRouter set from the config (not a hardcoded literal) so a
|
|
34
|
-
# future openrouter/* entry missing usage.include is caught automatically —
|
|
35
|
-
# otherwise it silently regresses to static pricing.
|
|
36
|
-
models = [m for m in _load()["model_list"] if str(m["litellm_params"]["model"]).startswith("openrouter/")]
|
|
37
|
-
assert models, "no openrouter/* models in litellm-config model_list"
|
|
38
|
-
for model in models:
|
|
39
|
-
extra = model["litellm_params"]["extra_body"]
|
|
40
|
-
# usage.include drives the actual-cost capture (cost_logger reads usage.cost).
|
|
41
|
-
assert extra["usage"]["include"] is True, model["model_name"]
|
|
42
|
-
provider = extra["provider"]
|
|
43
|
-
assert provider["sort"] == "price"
|
|
44
|
-
# allow_fallbacks: true, but bounded to the vetted `only` set (fall over
|
|
45
|
-
# WITHIN the set on saturation; never outside it).
|
|
46
|
-
assert provider["allow_fallbacks"] is True
|
|
47
|
-
assert isinstance(provider["only"], list) and provider["only"]
|
|
48
|
-
|
|
49
|
-
def test_callback_symbol_exists_in_cost_logger(self):
|
|
50
|
-
# The callbacks string above names `cost_logger.proxy_handler_instance`;
|
|
51
|
-
# prove that symbol actually exists so the config and module can't drift.
|
|
52
|
-
module_name, attr = _CALLBACK.split(".")
|
|
53
|
-
spec = importlib.util.spec_from_file_location(module_name, _COST_LOGGER)
|
|
54
|
-
assert spec and spec.loader
|
|
55
|
-
module = importlib.util.module_from_spec(spec)
|
|
56
|
-
spec.loader.exec_module(module)
|
|
57
|
-
assert hasattr(module, attr)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/__tests__/harness-badge.test.tsx
RENAMED
|
File without changes
|
{coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/__tests__/harness-selector.test.tsx
RENAMED
|
File without changes
|
{coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_components/__tests__/search-box.test.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_overview/__tests__/harness-legend.test.tsx
RENAMED
|
File without changes
|
{coder_eval-0.9.3 → coder_eval-0.9.4}/evalboard/app/_overview/__tests__/harness-series.test.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|