From 40e33ec2f59959731a755d65019f76d180c39c19 Mon Sep 17 00:00:00 2001 From: Alex Oliveira <4482374+aroff@users.noreply.github.com> Date: Fri, 4 Sep 2026 19:56:49 +0000 Subject: [PATCH] ci: pin Claude Code's small/fast model to a group the gateway serves Claude Code keeps a separate "small/fast" model slot for background work -- session titles, compaction summaries, quick classifiers. Unset, the CLI asks for its own default haiku id, which this gateway does not register, so those calls 404 and the CLI retries them with exponential backoff. That backoff is what turned a previous run into ~4.6 min of pure sleep per affected call. Measured against a recording endpoint, a plain `-p` run issues exactly one request and it uses the main model, so the slot is not hit on every run: this is insurance, not a fix for an observed failure. It is worth taking anyway because the downside is minutes of wall clock inside a job that is already timeout-bounded, and the cost is two env lines. Both names are set because both are still read by the CLI (2.1.259): ANTHROPIC_DEFAULT_HAIKU_MODEL is the current one, ANTHROPIC_SMALL_FAST_MODEL the legacy alias. Each falls back to the agent pin, so the workflow is correct with no new secret; set ANTHROPIC_SMALL_FAST_MODEL later to point background calls at a cheaper group than the agent's without editing this file. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01DobwJ8YTnfowwqwhspU1kQ --- .github/workflows/skill-evals.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/skill-evals.yml b/.github/workflows/skill-evals.yml index 8f81ba4..1f876ae 100644 --- a/.github/workflows/skill-evals.yml +++ b/.github/workflows/skill-evals.yml @@ -390,6 +390,19 @@ jobs: # the OpenAI one -- so a model too small to drive the agent can still # be a perfectly good (and much cheaper) judge. JUDGE_MODEL: ${{ secrets.JUDGE_MODEL || secrets.LLM_GATEWAY_MODEL }} + # Claude Code's "small/fast" slot -- session titles, compaction + # summaries, quick classifiers. Left unset the CLI asks for its own + # default haiku id, which this gateway does not register: a 404 the + # CLI then retries with exponential backoff, which is how a previous + # run spent ~4.6 min of pure sleep per affected call. A plain `-p` + # run was measured making exactly one request, on the main model, so + # this is insurance rather than a fix for an observed failure -- but + # the downside is minutes of wall clock and the cost is one env line. + # DEFAULT_HAIKU is the current name, SMALL_FAST the legacy alias; + # both are still read by the CLI (2.1.259), so both are set. + # Defaults to the agent pin, so no secret is required to be correct. + ANTHROPIC_SMALL_FAST_MODEL: ${{ secrets.ANTHROPIC_SMALL_FAST_MODEL || secrets.LLM_GATEWAY_MODEL }} + ANTHROPIC_DEFAULT_HAIKU_MODEL: ${{ secrets.ANTHROPIC_SMALL_FAST_MODEL || secrets.LLM_GATEWAY_MODEL }} run: | root="${LLM_GATEWAY_URL%/}"; root="${root%/v1}" export ANTHROPIC_BASE_URL="$root"