Skip to content

fix(mimo): route Pro images through vision sidecar - #2031

Merged
lidge-jun merged 1 commit into
devfrom
ingw/fix-mimo-vision-1927
Aug 19, 2026
Merged

fix(mimo): route Pro images through vision sidecar#2031
lidge-jun merged 1 commit into
devfrom
ingw/fix-mimo-vision-1927

Conversation

@Ingwannu

@Ingwannu Ingwannu commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • classify only the canonical Xiaomi token-plan mimo-v2.5-pro route as text-only so image requests use the configured vision sidecar
  • keep mimo-v2.5 on its verified native image-input path
  • preserve custom-destination isolation so a hand-rolled provider named mimo does not inherit the registry capability claim
  • record the provider-scoped modality decision in the catalog architecture notes

Closes #1927.

Verification

  • bun test tests/provider-registry-parity.test.ts tests/catalog-vision-sidecar-modalities.test.ts — 50 pass
  • bun run typecheck — clean
  • bun run privacy:scan — passed
  • git diff --check — clean

The current dev stabilization work is separate; this PR's focused suites are green on exact head and full cross-platform CI must pass before merge.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or architecture notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

No separate Go-native counterpart exists for this TypeScript provider catalog/vision-sidecar metadata path.

Summary by CodeRabbit

  • Bug Fixes

    • Corrected image-input handling for Xiaomi MiMo models.
    • mimo-v2.5-pro now uses the vision sidecar when needed, while mimo-v2.5 retains native image support.
    • Custom MiMo destinations remain unaffected.
  • Documentation

    • Added documentation clarifying modality support and routing behavior.
  • Tests

    • Added coverage to verify model capability and custom-destination behavior.

@github-actions

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the bug Something isn't working label Aug 18, 2026
@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 82f81392-21ae-4916-bbc7-073813915fb4

📥 Commits

Reviewing files that changed from the base of the PR and between aaf0469 and dc0334e.

📒 Files selected for processing (4)
  • src/providers/registry.ts
  • structure/03_catalog-and-subagents.md
  • tests/catalog-vision-sidecar-modalities.test.ts
  • tests/provider-registry-parity.test.ts

Included review availability: Your plan includes up to 10 reviews per rolling hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The built-in MiMo provider now routes images for mimo-v2.5-pro through the vision sidecar while keeping native image input for mimo-v2.5. Tests cover modality enrichment, registry parity, and custom destination isolation.

Changes

MiMo vision routing

Layer / File(s) Summary
Registry classification and decision record
src/providers/registry.ts, structure/03_catalog-and-subagents.md
At lines 2473–2476, the canonical MiMo provider adds mimo-v2.5-pro to noVisionModels. Lines 258–272 document that mimo-v2.5 remains natively vision-capable and custom destinations are unaffected.
Modality and parity validation
tests/catalog-vision-sidecar-modalities.test.ts, tests/provider-registry-parity.test.ts
Lines 49–73 verify modality enrichment and custom-destination isolation. Lines 70–71 verify that only mimo-v2.5-pro appears in the provider classification.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to dc033

The change narrowly routes the canonical Pro image path through the configured vision sidecar while preserving the verified native path and custom-provider isolation; no actionable merge-blocking risk remains after normal checks and review.

Possibly related PRs

Suggested reviewers: lidge-jun

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes routing MiMo Pro image requests through the vision sidecar, which is the primary change.
Linked Issues check ✅ Passed The registry, documentation, and tests implement all requirements from issue #1927, including Pro sidecar routing, native support for v2.5, and custom-provider isolation.
Out of Scope Changes check ✅ Passed All changes support issue #1927: registry configuration, decision-log documentation, and focused regression coverage are directly related.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ingw/fix-mimo-vision-1927

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@lidge-jun
lidge-jun force-pushed the ingw/fix-mimo-vision-1927 branch from dc0334e to d86a2fa Compare August 19, 2026 11:50
@lidge-jun

Copy link
Copy Markdown
Owner

리뷰 · 우선순위 63 / 80

draft 가 아닙니다. #1927 을 canonical mimo preset 의 noVisionModels: ["mimo-v2.5-pro"] 한 줄로 닫습니다. mimo-v2.5 는 native image 를 유지하고, preserveCustomDestination 때문에 다른 host 의 손수 mimo 는 이 capability 를 받지 않습니다. 본문은 해당 테스트 50 + typecheck / privacy:scan 을 적었습니다. 이 목록을 볼 때 이 PR 의 cross-platform test shard 는 실패로 남아 있었습니다. exact-head CI 가 필요합니다.

noVisionModels 는 카탈로그에는 image 를 광고하고 실제 image 바이트는 vision sidecar 로 보내는 provider-scoped 계약입니다. 테스트가 Pro 에 inputModalities: ["text", "image"] 를 기대하고 base mimo-v2.5undefined 인 것이 그 계약입니다. Pro 를 text-only 로 카탈로그에 내려 버리면 클라이언트가 이미지를 안 보냅니다. sidecar 우회가 belies 됩니다.

enrichProviderFromRegistry("mimo", customDestination)noVisionModels 를 안 붙이는 케이스가 있습니다. 커스텀 host 가 실제로 Pro image 를 거절하면 사용자는 다시 수동으로 넣어야 합니다. Decision Log 가 그 한계를 인정합니다. live /v1/models 에 modality 가 없다는 전제도 여기에 적혀 있습니다.

변경 파일은 registry, 아키텍처 노트, 테스트 두 개입니다. Go 대응은 없다고 본문에 있습니다.

해결방안: exact-head CI 실패가 이 diff 와 무관한지 확인하십시오. 모델 id 가 mimo-v2.5-pro 가 아닌 Pro 별칭으로 오면 sidecar 를 타지 않으니, 실제 discovery id 와 문자열이 같은지 한 번 더 대조하십시오. 그 두 가지가 맞으면 범위가 작아서 merge 후보입니다.

이 댓글은 grok-bot이 작성했습니다

@lidge-jun
lidge-jun merged commit 7a2d13a into dev Aug 19, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants