fix(llm): drop deepseek v4 pro from all harness fallback chains - #2360
Conversation
Flash is the primary everywhere, but the fallback chains still hopped to pro first and Factory still defaulted to it outright. Kyber cliproxy returns 404 for deepseek-v4-pro on /api/show, so anything probing model metadata before use fails on that hop. Chain is now uniform: flash -> gemma-4-31b-it -> glm-4.7 -> minimax-m3 -> free. Pro stays in the cliproxy catalog and is addressable by explicit request. Also normalizes openclaw's hardcoded gemma/glm entries to placeholders (generated output unchanged). Entire-Checkpoint: cb2c92cc5d56
Documents the models.json -> placeholder -> llm-update.sh pipeline, the shared fallback chain and the rules governing it, per-harness model assignments (opencode, openclaw, hermes, omp, codex, pi, factory, ccs, aichat, llm, handy), fish shortcut models, and cliproxy provider priority. Entire-Checkpoint: ca7fa7ea303f
|
Warning Indent Zero is shutting down on August 7th. Please migrate over to Indent 2.0 to continue getting PR reviews.
|
|
Warning Review limit reached
Next review available in: 15 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (16)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
gpt-5.3-codex-spark was only reachable through two OMP slots (the task role and the code-explorer subagent). Both now use gpt-5.6-luna, matching the other fast-path slots, and the alias is removed from models.json. The remaining gpt-5.3-codex-spark strings in the cliproxyapi configs are inside a commented-out upstream example block and are left as synced. Entire-Checkpoint: 2c17b23a9772
There was a problem hiding this comment.
All reported issues were addressed
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Chain is now flash -> gemma-4-31b-it -> glm-4.7 -> free across opencode, openclaw, and hermes. minimax-m3 stays in the model catalogs and in the Hermes MoA reference set, which is not a fallback path. Also documents the provider prefixes in MODELS.md and qualifies the two OpenCode rows that were listed without one. Entire-Checkpoint: 999cd0db5586
Adds the missing __GPT_IMAGE__ row, documents the _PRETTY_/_NONDOT_ derived forms, and documents the two provider-specific overrides declared in llm-update.sh rather than models.json. The alias table now matches models.json key-for-key. Entire-Checkpoint: 46bcbe487816
What
Removes
deepseek-v4-profrom every automatic model path and documents the resulting layout in a newMODELS.md.Fallback chain is now uniform across all fallback-capable harnesses:
config/opencode/opencode-fallback.tpl.jsoncshunkakinoki/__DEEPSEEK_PRO__config/openclaw/openclaw.tpl.jsoncliproxy/__DEEPSEEK_PRO__; normalized hardcodedgemma-4-31b-it/glm-4.7to__GEMMA__/__GLM__config/hermes/config.tpl.yamlfallback_providersentryconfig/factory/settings.tpl.json__DEEPSEEK_PRO__->__DEEPSEEK_FLASH__Why
The flash migration (#2350, #2354, #2357) only moved primaries and the MoA reference model. Fallback chains were never touched, so every harness fell back to pro on the first hop, and Factory still had pro as its outright default.
Evidence from kyber and matic cliproxy logs:
/api/show {"name":"deepseek-v4-pro"}-> 404. Pro is not resolvable via the model-metadata endpoint, so anything probing it before use fails.POST /v1/chat/completions-> 400unknown provider for model cliproxy/deepseek-v4-flash(x2, Aug 12).auth_unavailable: no auth available (providers=openai-compatible-opencode,openai-compatible-openrouter, model=deepseek-v4-flash)(x10, Aug 10). Aliyun not in the tried set despite being configured at priority 200.Error-log model counts: kyber 26 flash / 14 pro, matic 40 flash / 0 pro. A live probe on both hosts confirmed pro and flash each route past model lookup to provider auth, so pro is not broken, just redundant.
Notes for reviewers
deepseek-v4-prostays in the cliproxy catalog (config/cliproxyapi/config.tpl.yaml) and in the opencode/openclaw model listings. It remains addressable by explicit request. It is only off the automatic paths.openclaw.template.jsonoutput is byte-identical apart from the removed pro line.MODELS.mdalso records two things that were previously implicit: thel-suffixed fish shortcuts (ocxel,coxel,pixel) run local Qwen via LM Studio rather than the cloud default, and Handy'sglm-4.7is transcript post-processing rather than transcription.claude/pi-fallback-support-335ac0is not in this tree;MODELS.mdwill need an edit once that lands.Not addressed here
Two issues surfaced by the logs that are separate from chain composition:
unknown provider for model cliproxy/<model>400 is a prefix bug. OpenCode absorbs it viaretryable_error_patterns; openclaw and hermes have no equivalent matcher and hard-fail on it.priority: 200.Testing
shellspecfull suite: 2064 examples, 0 failures. Updated assertions inspec/llm_update_spec.sh,spec/openclaw_hydrate_spec.sh,spec/hermes_hydrate_spec.sh.make check(nix flake check) was not run locally; CI covers it.Summary by cubic
Drops
deepseek-v4-proandminimax-m3from all automatic fallback chains and switches Factory’s session default todeepseek-v4-flash, eliminating first-hop failures and enforcing a flash‑first policy. Pro remains available by explicit request;minimax-m3remains in Hermes’s MoA reference set.deepseek-v4-flash -> gemma-4-31b-it -> glm-4.7 -> free; no pro or minimax on any fallback path.MODELS.md(linked fromREADME.md), completes the alias reference to matchmodels.json, and documents derived forms and provider-specific overrides; updates hydrate and LLM update specs.taskrole andcode-explorersubagent now usegpt-5.6-luna; removes thegpt-5.3-codex-sparkalias frommodels.json.Rollout
deepseek-v4-proorminimax-m3explicitly.gpt-5.3-codex-spark, usegpt-5.6-lunainstead.Written for commit 96a21d7. Summary will update on new commits.