Skip to content

fix(guardrails): pass providerId to getResolvedModelCapabilities in checkComboVision (#12112) - #12169

Merged
diegosouzapw merged 4 commits into
diegosouzapw:release/v3.8.51from
HouMinXi:fix/12112-combo-vision-provider-id
Sep 1, 2026
Merged

diegosouzapw merged 4 commits into
diegosouzapw:release/v3.8.51from
HouMinXi:fix/12112-combo-vision-provider-id

Conversation

@HouMinXi

Copy link
Copy Markdown
Contributor

Summary

Closes #12112.

checkComboVision (getComboVisionBridgeDecision) and combo compatibility predicates in open-sse/services/combo/comboStructure.ts (isVisionIncompatibleTarget, hasKnownCompatibleContextLimit, getTargetCompatibilityFailures) previously resolved model capabilities passing only the bare model string (e.g. targetModel or target.modelStr), dropping the providerId / provider. For steps targeting namespaced models with slashes (e.g. { providerId: "nvidia", model: "nvidia/nemotron-nano-12b-v2-vl" }), the capabilities resolver received provider: null and failed to match the model in the provider capability registry (supportsVision: true), causing false-negative capability evaluations and erroneously grading vision combos as no-vision.

Changes

  • src/lib/guardrails/visionBridge.ts: In getComboVisionBridgeDecision, resolve capabilities passing { provider: s.providerId || s.provider || null, model: targetModel }.
  • open-sse/services/combo/comboStructure.ts: Pass structured descriptor { provider: target.providerId || target.provider || null, model: target.modelStr } to getResolvedModelCapabilities across hasKnownCompatibleContextLimit, isVisionIncompatibleTarget, and getTargetCompatibilityFailures.
  • tests/unit/guardrails/combo-vision-provider-id-12112.test.ts: Dedicated test suite verifying that namespaced models with providerId resolve vision capability correctly.

Verification

  • npm run typecheck:core: 0 errors.
  • npm run check:cycles: PASS (no cycles).
  • node --test tests/unit/guardrails/combo-vision-provider-id-12112.test.ts tests/unit/combo-vision-*.test.ts: 9/9 PASS.
  • Full guardrails test suite: 504 passed, 0 failed.

…heckComboVision (diegosouzapw#12112)

Signed-off-by: Minxi Hou <houminxi@gmail.com>
@HouMinXi
HouMinXi requested a review from diegosouzapw as a code owner August 31, 2026 01:56
diegosouzapw added a commit that referenced this pull request Sep 1, 2026
…12248)

Merging --admin with red discrimination (merge-gates §4). The only failing check is Fast Quality Gates → `mutation-test-coverage`, which cannot be caused by this PR: the diff touches exactly one file, `CLAUDE.md` (13 deleted lines, zero .ts). The same gate is red on #12166, #12167 and #12169 — three unrelated PRs — confirming inherited base drift rather than a PR-introduced defect.
diegosouzapw and others added 2 commits September 1, 2026 09:35
Refresh the complexity-ratchets merge-base so new-code mode only sees this PR's files.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
@diegosouzapw

Copy link
Copy Markdown
Owner

Sweep-reds Fase B (round 2)

Merged origin/release/v3.8.51 (9d04995950) into this branch as 7350600269 so Fast Quality Gates complexity-ratchets new-code mode compares only this PR's files.

The previous FQG failure listed regressions in nativeCodexTurnPin.ts, kilocode.ts, streamPayloadCollector.ts, KiloPassMeter.tsx, and quotaParsing.ts — none of those files are in this PR; they were an inherited merge-base artefact. Contributor fix + stryker tap registration are unchanged.

Waiting on a fresh FQG run. No production-code change in this merge.

…ude diegosouzapw#12288)

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
@diegosouzapw
diegosouzapw merged commit 6dd82b7 into diegosouzapw:release/v3.8.51 Sep 1, 2026
16 checks passed
@HouMinXi
HouMinXi deleted the fix/12112-combo-vision-provider-id branch September 16, 2026 13:48
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…w#11770)" (diegosouzapw#12248)

Merging --admin with red discrimination (merge-gates §4). The only failing check is Fast Quality Gates → `mutation-test-coverage`, which cannot be caused by this PR: the diff touches exactly one file, `CLAUDE.md` (13 deleted lines, zero .ts). The same gate is red on diegosouzapw#12166, diegosouzapw#12167 and diegosouzapw#12169 — three unrelated PRs — confirming inherited base drift rather than a PR-introduced defect.
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…heckComboVision (diegosouzapw#12112) (diegosouzapw#12169)

* fix(guardrails): pass providerId to getResolvedModelCapabilities in checkComboVision (diegosouzapw#12112)

Signed-off-by: Minxi Hou <houminxi@gmail.com>

* chore(quality): register combo-vision providerId test in the stryker tap set

---------

Signed-off-by: Minxi Hou <houminxi@gmail.com>
Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

checkComboVision drops providerId, so explicitly vision-flagged combo members resolve as non-vision

2 participants