Repository navigation
test(providers): pin opencode 400 model-unavailable catalog rule at registry level - #14251
Merged
diegosouzapw merged 1 commit intoSep 22, 2026
Conversation
maxmad64bis
force-pushed
the
fix/opencode-400-model-unavailable-rule
branch
from
September 20, 2026 08:38
5124ba1 to
a3504f7
Compare
maxmad64bis
marked this pull request as ready for review
September 20, 2026 08:42
maxmad64bis
force-pushed
the
fix/opencode-400-model-unavailable-rule
branch
from
September 20, 2026 09:00
a3504f7 to
5ca7ec8
Compare
diegosouzapw
merged commit Sep 22, 2026
84988bd
into
cheaper-inference:release/v3.8.51
7 of 16 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
When the upstream reports a model as unavailable with a 400, the catalog rule now pins that outcome at registry level with a model-scoped lock and a bounded cooldown. Any other 400 from the same provider stays terminal and locks nothing. This is a catalog default only; the same effect was already reachable per install through
settings.providerErrorRules.Related Issues
Validation
npm run lint— ESLint on the touched test file is clean; the full run is red on the base (🔴 Release branch not green: release/v3.8.51 #13866), unrelated to this diffTests Added Or Updated
tests/unit/opencode-400-model-unavailable-registry.test.ts(new, 3 cases: marked 400 locks the model, unmarked 400 stays terminal, cooldown comes from the rule; RED shown by local marker neutralization, restored byte-identical)Coverage Notes
git diff upstream/release/v3.8.51 -- open-sse/is empty).Reviewer Notes
HONORS_RULE_LOCK_SCOPE_PROVIDERSalready includes the provider, so no allowlist change is needed.EGRESS_OVERRIDEvsHONORS); rebase watch noted, no conflict at this base, and the inherited set matches feat(db): add per-proxy egress IP lookup by host and port #14250 (identical comparison with third-party fix(translator): parse DeepSeek Web DSML tool calls #14249, comm empty).release/v3.8.51fails the same 9 jobs (API Route Typecheck, Docs Gates, Fast Quality Gates, Merge integrity, ESLint, Unit fast-path 1-4/4); every file cited by the failing gates is outside this diff. Non-blocking for this PR.