fix(combo): resolve effort variants via base model capabilities - #11034
Merged
diegosouzapw merged 1 commit intoAug 21, 2026
Conversation
diegosouzapw
merged commit Aug 21, 2026
00dfdad
into
diegosouzapw:release/v3.8.50
7 of 16 checks passed
Sa3id23
pushed a commit
to Sa3id23/OmniRoute
that referenced
this pull request
Aug 21, 2026
…osouzapw#11034) ⭐5 — Variantes de modelo com sufixo de effort (ex: model-max/model-xhigh) são sintetizadas no catálogo a partir de supportedThinkingEfforts do modelo base, sem linha própria no registry — getResolvedModelCapabilities resolvia NULL para tool/vision/context, o que fazia combos com tools reordenar silenciosamente essas variantes para trás. Fix: quando todas as fontes diretas falham, resolve as capacidades a partir do modelo base após strip do sufixo. TDD, 65 testes focados verdes.
AndrianBalanescu
pushed a commit
to AndrianBalanescu/OmniRoute
that referenced
this pull request
Aug 21, 2026
…osouzapw#11034) ⭐5 — Variantes de modelo com sufixo de effort (ex: model-max/model-xhigh) são sintetizadas no catálogo a partir de supportedThinkingEfforts do modelo base, sem linha própria no registry — getResolvedModelCapabilities resolvia NULL para tool/vision/context, o que fazia combos com tools reordenar silenciosamente essas variantes para trás. Fix: quando todas as fontes diretas falham, resolve as capacidades a partir do modelo base após strip do sufixo. TDD, 65 testes focados verdes.
diegosouzapw
added a commit
that referenced
this pull request
Aug 21, 2026
…provider docs, orphaned suppressions (#11038) ⭐5 — Drain de base-reds v3.8.50 (#9985): corrige build-break do #10939 (import fantasma @/lib/db/connections → reroteado por getProviderConnectionById real), headers Anthropic no fallback GLM, fallthrough do reject de listing CC-compatible, no-auth leak no auto-combo, retry de mesmo-account nos combo live tests, pin onnxruntime-node ~1.24.3; + alignments de teste + gates (env-doc, docs-counts 347→348, openapi floor, i18n vi/pt-BR). Reconciliado com o tip: 5 conflitos de contagem gerada (SVGs + PROVIDER_REFERENCE — HEAD já em 348, branch em 347 stale) resolvidos ficando com o HEAD. typecheck limpo, gates verdes, 5/5 testes focados (#10939 regressão + utilização), lint limpo nos tocados. Também rebaselined neste turno via push direto ao tip: config/quality/file-size-baseline.json modelCapabilities.ts 1016→1072 (drift de PRs ja mergeadas, ex: #11034), com changelog fragment — tip estava vermelho nesse gate e travava esta PR.
diegosouzapw
added a commit
that referenced
this pull request
Aug 22, 2026
…8n parity, eslint gate (#9985) Discriminated against the pure base tip (all three reproduced without any PR diff): (1) getTokenLimit test aligned to the contract changes of #8228/#11034 with the bluesminds 200k pin kept as the original guard; (2) Vietnamese translations completed for harImport*/omni-webhooks (upstream already carried equivalent translations — conflict resolved to base); (3) eslint gate fixed by typing the dynamic core imports in capture-critical-db-state.test.ts (no-explicit-any). 41/41 tests green, typecheck clean, eslint exit 0.
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
…osouzapw#11034) ⭐5 — Variantes de modelo com sufixo de effort (ex: model-max/model-xhigh) são sintetizadas no catálogo a partir de supportedThinkingEfforts do modelo base, sem linha própria no registry — getResolvedModelCapabilities resolvia NULL para tool/vision/context, o que fazia combos com tools reordenar silenciosamente essas variantes para trás. Fix: quando todas as fontes diretas falham, resolve as capacidades a partir do modelo base após strip do sufixo. TDD, 65 testes focados verdes.
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
…provider docs, orphaned suppressions (diegosouzapw#11038) ⭐5 — Drain de base-reds v3.8.50 (diegosouzapw#9985): corrige build-break do diegosouzapw#10939 (import fantasma @/lib/db/connections → reroteado por getProviderConnectionById real), headers Anthropic no fallback GLM, fallthrough do reject de listing CC-compatible, no-auth leak no auto-combo, retry de mesmo-account nos combo live tests, pin onnxruntime-node ~1.24.3; + alignments de teste + gates (env-doc, docs-counts 347→348, openapi floor, i18n vi/pt-BR). Reconciliado com o tip: 5 conflitos de contagem gerada (SVGs + PROVIDER_REFERENCE — HEAD já em 348, branch em 347 stale) resolvidos ficando com o HEAD. typecheck limpo, gates verdes, 5/5 testes focados (diegosouzapw#10939 regressão + utilização), lint limpo nos tocados. Também rebaselined neste turno via push direto ao tip: config/quality/file-size-baseline.json modelCapabilities.ts 1016→1072 (drift de PRs ja mergeadas, ex: diegosouzapw#11034), com changelog fragment — tip estava vermelho nesse gate e travava esta PR.
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
…8n parity, eslint gate (diegosouzapw#9985) Discriminated against the pure base tip (all three reproduced without any PR diff): (1) getTokenLimit test aligned to the contract changes of diegosouzapw#8228/diegosouzapw#11034 with the bluesminds 200k pin kept as the original guard; (2) Vietnamese translations completed for harImport*/omni-webhooks (upstream already carried equivalent translations — conflict resolved to base); (3) eslint gate fixed by typing the dynamic core imports in capture-critical-db-state.test.ts (no-explicit-any). 41/41 tests green, typecheck clean, eslint exit 0.
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.
Problem
Effort-suffixed model variants (e.g.
command-code/deepseek/deepseek-v4-flash-max,command-code/meta/muse-spark-1.2-contributor-xhigh) are synthesized in the catalog from the base model'ssupportedThinkingEfforts— they have no registry row, synced row, or static spec of their own.getResolvedModelCapabilitiesresolved them to NULL tool/vision/context capabilities.Consequence: a tool-bearing combo request (OMP always sends tools) treats those targets as incompatible, silently reorders them behind models with confirmed capabilities, and the declared priority order is defeated. Live observation:
orchestratordispatchedopencode-go/mimo-v2.5-max(stored 4th) at position 2 whilecommand-code/deepseek/deepseek-v4-flash-max(stored 2nd) sat unused — verified via combo decision traces.Fix
In
getResolvedModelCapabilities, when every direct source (static spec, registry row, synced capability) misses for a provider/model, strip a known effort suffix (none/minimal/low/medium/high/xhigh/max) and resolve the variant's capabilities from its base model. The variant keeps its own model id in the result; only the capability sources fall back to the base.Verification
model_capabilitiesfor the base models and asserts the-max/-xhighvariants inherit tool/vision/context/reasoning from the base.git diff --checkclean.Note:
tests/unit/models-catalog-combo-metadata.test.ts"single-target combo respects registry reasoning overrides before specs" fails on the pristine base too (pre-existing base drift, unrelated to this change).