Repository navigation
fix(capabilities): resolve the MiMo v2.6 family as vision-capable (#14587) - #14595
Merged
diegosouzapw merged 1 commit intoSep 29, 2026
Conversation
Owner
|
Thanks @xiechimon, clean and well-tested fix. Your new test fails on the release tip and passes here, and Xiaomi's model page confirms V2.6-Pro takes image input. Two small things:
|
…egosouzapw#14587) The v2.6 generation flips the older '*-pro is text-only' rule: models.dev lists mimo-v2.6-pro with image input, but every capability source in the repo stops at v2.5, so resolveVisionCapability returned null and both /v1/models and the combo projection advertised the model text-only. Add the 'mimo-v2.6' fragment to VISION_MODEL_ID_FRAGMENTS (the shared last-resort heuristic, diegosouzapw#4072) and rescope the stale 'pro = text-only' comment in modelSpecs.ts to the v2.5 family. The fragment matches both provider-qualified ids from the report and cannot over-match the text-only earlier-generation pro siblings, which never contain v2.6.
xiechimon
force-pushed
the
fix/14587-mimo-v2-6-vision-fragment
branch
from
September 23, 2026 22:10
0f41541 to
f7ac29d
Compare
Contributor
Author
|
Both done in f7ac29d.
|
diegosouzapw
merged commit Sep 29, 2026
3de7912
into
diegosouzapw:release/v3.8.51
9 of 16 checks passed
5 tasks done
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.
What
Refs #14587. The MiMo v2.6 family (
mimo-v2.6-pro,mimo-v2.6-flash) is natively vision-capable but absent from every capability source in this repo: the opencode-go registry stops atmimo-v2.5, the MiMo block inmodelSpecs.tscovers only the v2.5 generation, andVISION_MODEL_ID_FRAGMENTShasmimo-vlbut nothing forv2.6.resolveVisionCapabilitytherefore returnsnull, and both/v1/modelsand the combo projection render the model text-only. Because combo capability is an intersection over members, a single unresolvable member flips the whole combo tomultimodal: false.(Changed from
FixestoRefsper review: the issue still tracks the two out-of-scope gaps below, so it should not auto-close from the release branch.)Why this fix
Adds
"mimo-v2.6-pro"and"mimo-v2.6-flash"toVISION_MODEL_ID_FRAGMENTS(src/shared/constants/visionModels.ts), the shared last-resort heuristic from #4072 that routing, the/v1/modelscatalog and lite compression all delegate to. This is the minimal fix the report proposes, and the established channel for exactly this case (same pattern asvision-models-cc-fragments.test.tscovers forgpt-5,kimi-k2.,claude-fable).Per review, the fragments are scoped to the documented pro/flash family instead of the whole
mimo-v2.6generation, so a hypotheticalmimo-v2.6-distill-qwen-9bormimo-v2.6-ttsdoes not inherit the vision verdict; the comment beside the fragments says how to extend it if Xiaomi documents image input for more v2.6 ids. The fragments match both provider-qualified ids from the report (opencode-go/mimo-v2.6-pro,command-code/xiaomi/mimo-v2.6-pro) plus bare and:freevariants. They cannot over-match the text-only earlier-generation pro siblings:mimo-v2.5-proandmimo-v2-pronever containv2.6, and their hard text-only overrides (isKnownTextOnlyDespiteSync, checked first in the cascade) stay untouched.Also rescopes the stale "MiMo
*-pro= text-only" comment inmodelSpecs.tsto the v2.5 family: the v2.6 generation flips that rule (models.dev listsmimo-v2.6-prowith image input). Comment-only change, no spec entries touched.Explicitly out of scope, per the report's own framing as separate fix gaps: (a) a first-class per-model vision override, (b) per-member resolved
supportsVisionin/v1/combos. Both are design calls beyond this fragment fix.How this was tested
New regression test
tests/unit/14587-mimo-v2-6-vision.test.ts(16 cases):mimo-v2.6-pro,:freesuffix,mimo-v2.6-flash,-ultraspeedall resolvesupportsVision === truethrough bothisVisionModelIdandgetResolvedModelCapabilities.mimo-v2.5-pro,mimo-v2-pro(bare + provider-qualified) stay non-vision,mimo-v2-flashuntouched, unrelated text model control, plus the two undocumented-sibling cases from the review (mimo-v2.6-distill-qwen-9b,opencode-go/mimo-v2.6-tts) stay non-vision.mimo-v2.5andmimo-v2-omnistill true, earlier-gen pro verdicts unchanged.Red-green (re-run after the narrowing): with both src files reverted to base
release/v3.8.51the 6 v2.6 vision cases fail (supportsVisionresolves falsy), the 10 others pass; after the fix 16/16 pass.Adjacent regression:
vision-models-cc-fragments,vision-detection-consistency,mimo-v2-5-safety,command-code-registry-vision= 56/56 after the change; the earlier wider sweep (combo/capability suites 94/94, all vision/mimo/models tests 1057 pass / 0 fail / 3 skipped, the 8 combo-suite failures identical on a clean base worktree = pre-existing) predates the narrowing and the touched code path is the same shared fragment list.prettier --checkclean,eslintexit 0 on the three touched files.No changelog fragment, following the precedent of #14300 / #14291.