feat(tests): route checker LLM through litellm gpt-5.6-luna via coder-eval 0.11.5 - #2864
Conversation
|
Claude finished @akshaylive's task in 2m 9s —— View job PR Review: Route checker LLM through litellm gpt-5.6-luna
SummaryBumps coder-eval from 0.11.2 to 0.11.3 and adds an identical Change-by-Change Review1.
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | N/A | No skill frontmatter changed |
| E2E Tests | OK | Experiment config only — no task changes |
| Skill Body | N/A | No skill content changed |
| References & Assets | N/A | No references changed |
| Repo Hygiene | OK | No secrets (env var names only), scoped changes, no cross-skill refs |
Issues for Manual Review
- Confirm whether
flow-v2-preview.yamlandsame-ground-headtohead.yamlshould also route through litellm → gpt-5.6-luna, or if they intentionally use different checker infra. - Verify that the
api_version: "2024-05-01"parameter is correct for the litellm/gpt-5.6-luna endpoint being targeted.
Conclusion
Clean, well-scoped change. The checker_context block is identical across all 5 files, env var passthrough is already configured in the docker-based experiments, and no secrets are committed. Approve — only a minor question about whether the remaining experiment files need the same treatment.
--- |
bai-uipath
left a comment
There was a problem hiding this comment.
LGTM on the direction, but this has never run e2e against a real task. CI died on a missing import before a single judge call went over the wire.
-
Run one real task e2e before merge.
default.yamlis tempdir, so the checker runs on the host: install the extra locally and run the data-fabric choiceset task that errored in CI, plus one simulation task to confirm the reject. Nothing else proves the call shape, and the baregpt-5.6-lunaid carries no provider prefix where the upstream docs do. -
The litellm extra is installed nowhere, and this repo can't fix it. Under the docker driver the checker runs in-container, so the agent image needs it, as do the coder_eval_uipath host venvs and the skills workflow installs. Fix:
--extra litellmin coder_eval's agent Dockerfile, release, re-pin. -
Every
simulation.enabledtask hard-errors at route resolution. The orchestrator rejects a litellm eval route alongside simulation oragent_judge, so 318 of 1231 tasks die before any criterion runs, roughly 30% of the suite counted as misses. Fix: scope it at the task layer to the 54 llm_judge tasks without simulation.
Minor: api_version is verbatim from the upstream doc example and CODEX_API_VERSION is set nowhere in the pipelines; the activation experiment has no llm_judge criteria, so its block is dead.
0b2db79 to
28b48da
Compare
Under driver: docker the whole orchestrator, including the checker/judge,
runs inside the container — installing litellm on the GH Actions host
(via coder-eval[litellm]) doesn't reach it. skills-image extends the
coder-eval-agent base image, which is built without the litellm extra, so
checker_context.api_route: {route: litellm} (PR #2864) failed with
"checker_context route 'litellm' needs the litellm library" on smoke/
nightly runs. Bake it into the overlay Dockerfile instead.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
0e69645 to
28b48da
Compare
This comment was marked as outdated.
This comment was marked as outdated.
uipreliga
left a comment
There was a problem hiding this comment.
Fix what you agree with and 🚢
…nt defaults Addresses PR #2864 review. coder-eval rejects route: litellm outright on any task with simulation.enabled or an enabled agent_judge criterion (the simulator/agent_judge run as real Claude Code subprocesses, incompatible with an arbitrary litellm-fronted gateway) -- see orchestrator._reject_litellm_eval_route_if_unsupported. 303 of 359 llm_judge tasks in this repo have simulation.enabled, so the previous experiment-level default broke all of them at setup, including one smoke-tagged task (uipath-maestro-flow/interactive/solution_select.yaml). - Remove checker_context from experiments/{default,smoke,smoke-windows, nightly,activation}.yaml. activation.yaml has zero llm_judge criteria, so it gets no replacement. - Add checker_context.api_route directly to the 56 task YAMLs that have an llm_judge criterion and no simulation.enabled -- the only tasks it's safe and meaningful for. This also fixes same-ground-headtohead.yaml and flow-v2-preview.yaml, which never got the experiment-level block: a task-level setting applies under any experiment that runs the task. - Fix model: azure/gpt-5.6-luna, not the bare id -- litellm resolves an unprefixed model to provider `openai`, which would silently ignore the Azure-shaped `params.api_version`. Matches coder_eval's own TASK_DEFINITION_GUIDE.md example verbatim. - tests/Makefile: install the litellm extra for local `make install`, and point at the new README section for CODEX_BASE_URL/CODEX_API_KEY. - tests/README.md: document checker_context.api_route, the litellm/ simulation incompatibility, and what each driver needs (host extra for tempdir, baked into the agent image for docker -- coder-eval-agent bags it as of 0.11.4). - smoke-skills.yml: note the one deliberate exception to "the grader stays on Claude" now that a few tasks route their own llm_judge through the gate's CODEX_* endpoint. Windows RPA smoke (smoke-rpa-skills.yml) and skill-activation-gate.yml need no change: no task either runs carries checker_context now that it's task-scoped. run-coder-eval.yml's docker/Windows jobs already installed the litellm extra and passed CODEX_BASE_URL/CODEX_API_KEY through. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…-eval 0.11.3 Bump coder-eval to 0.11.3 and set checker_context.api_route defaults (default/smoke/smoke-windows/nightly/activation experiments) so the success-checker/judge calls litellm -> gpt-5.6-luna instead of the built-in default, resolving credentials from CODEX_BASE_URL/CODEX_API_KEY. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
0.11.4 bakes --extra litellm into the coder-eval-agent base image (UiPath/coder_eval#142), which tests/experiments/*.yaml's litellm-routed checker_context needs available in-container under driver: docker. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…nt defaults Addresses PR #2864 review. coder-eval rejects route: litellm outright on any task with simulation.enabled or an enabled agent_judge criterion (the simulator/agent_judge run as real Claude Code subprocesses, incompatible with an arbitrary litellm-fronted gateway) -- see orchestrator._reject_litellm_eval_route_if_unsupported. 303 of 359 llm_judge tasks in this repo have simulation.enabled, so the previous experiment-level default broke all of them at setup, including one smoke-tagged task (uipath-maestro-flow/interactive/solution_select.yaml). - Remove checker_context from experiments/{default,smoke,smoke-windows, nightly,activation}.yaml. activation.yaml has zero llm_judge criteria, so it gets no replacement. - Add checker_context.api_route directly to the 56 task YAMLs that have an llm_judge criterion and no simulation.enabled -- the only tasks it's safe and meaningful for. This also fixes same-ground-headtohead.yaml and flow-v2-preview.yaml, which never got the experiment-level block: a task-level setting applies under any experiment that runs the task. - Fix model: azure/gpt-5.6-luna, not the bare id -- litellm resolves an unprefixed model to provider `openai`, which would silently ignore the Azure-shaped `params.api_version`. Matches coder_eval's own TASK_DEFINITION_GUIDE.md example verbatim. - tests/Makefile: install the litellm extra for local `make install`, and point at the new README section for CODEX_BASE_URL/CODEX_API_KEY. - tests/README.md: document checker_context.api_route, the litellm/ simulation incompatibility, and what each driver needs (host extra for tempdir, baked into the agent image for docker -- coder-eval-agent bags it as of 0.11.4). - smoke-skills.yml: note the one deliberate exception to "the grader stays on Claude" now that a few tasks route their own llm_judge through the gate's CODEX_* endpoint. Windows RPA smoke (smoke-rpa-skills.yml) and skill-activation-gate.yml need no change: no task either runs carries checker_context now that it's task-scoped. run-coder-eval.yml's docker/Windows jobs already installed the litellm extra and passed CODEX_BASE_URL/CODEX_API_KEY through. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
bd7740d to
892d55f
Compare
…ault Reverts e36dce6. The per-task scoping worked around coder_eval rejecting route: litellm on any task with simulation.enabled or an enabled agent_judge criterion -- but the real fix belongs upstream. coder_eval now resolves the simulator's route independently of checker_context.api_route entirely (Orchestrator.simulator_route), so route: litellm is safe as an experiment default even with simulation.enabled: true. - Restore checker_context.api_route to defaults/{default,smoke, smoke-windows,nightly,activation}.yaml, keeping the azure/gpt-5.6-luna model fix (bare gpt-5.6-luna resolves to provider openai, which silently ignores the Azure-shaped params.api_version). - Remove the 56 per-task checker_context blocks -- redundant now that the experiment default covers every llm_judge task safely. - tests/Makefile: keep the [litellm] extra for local `make install` (still needed for driver: tempdir now that this is the default, not a per-task exception). - tests/README.md: rewrite Checker Context to describe the new simulator-decoupled default instead of "set this per-task, never as an experiment default." Still calls out that agent_judge + route: litellm remains unsupported (no agent_judge criteria in this repo today). - smoke-skills.yml: drop the per-task-exception comment on AGENT_MODEL, no longer accurate now that ~all llm_judge tasks route through litellm by default, not "a handful." NOT bumping tests/.coder-eval-version yet -- the coder_eval fix (simulator_route decoupling) is committed on akshaya/scope-litellm-route-to-llm-judge but not released. Merging this against the current 0.11.4 pin would reintroduce the original CI failure (route: litellm rejected outright on simulation-enabled tasks). Bump the pin once coder_eval ships a release containing that fix. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
892d55f to
434d47e
Compare
Bump coder-eval to 0.11.5 and set checker_context.api_route defaults (default/smoke/smoke-windows/nightly/activation experiments) so the success-checker/judge calls litellm -> gpt-5.6-luna instead of the built-in default, resolving credentials from CODEX_BASE_URL/CODEX_API_KEY.