fix(vision): honor modelCapabilities text-only on native rows (#4501) - #4511
Conversation
|
✅ Deterministic PR hygiene checks passed. |
✅ READY
Review readiness checklist
✅ 4/4 boxes ticked. This pull request is already Ready for Review. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughChangesVision eligibility
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to Text-only native models are no longer eligible as vision describers when explicitly configured that way. No actionable merge risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
리뷰 · 우선순위 71 / 80이 PR은 vision describer 자격 심사에서 native 모델의 PR은 두 가지를 합니다. 첫째, 비-native 경로는 원래부터 라인 - 메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
lidge-jun
left a comment
There was a problem hiding this comment.
Approving on exact-head evidence.
Cross-platform CI run 34758154482 completed success at 6d926244101cb6234b66634464007268a06b1d89, which is the current head of this PR. That run had never executed before today: the fork workflow sat at action_required since it was opened, so this is the first time the change has been verified by repository CI rather than by author report.
On the change itself: the native arm of modelAcceptsImageInputWithCache now consults exact modelCapabilities[id].inputModalities before falling back to nativeInputModalities, which mirrors the ordering the non-native arm already used. An operator who declares a native row text-only through ocx provider edit --text-only is now honored for describer eligibility instead of having to reach for noVisionModels.
One forward-looking note rather than a change request: a separate lane is adding live inputModalities to Devin catalog rows from the provider catalog. The two compose — discovered modalities land on the row, and this change keeps the operator declaration ahead of them — so no precedence conflict is expected.
Summary
src/vision/eligibility.ts(modelAcceptsImageInputWithCache), passnativeProviderdirectly toisModelVisionSidecarConsumerinstead of an object literal that omitsmodelCapabilities.nativeProvider.modelCapabilities?.[candidate.id]?.inputModalitieson native rows before falling back tonativeInputModalities(candidate.id) ?? true.modelCapabilities[id].inputModalities = ["text"], the model is properly disqualified from vision describer eligibility.Verification
bun test tests/vision/vision-eligibility.test.ts— 20 passed, 0 failed.bun test tests/vision/sidecar-settings-vision-filter.test.ts— 14 passed, 0 failed.bun run typecheck— passed with 0 errors.bun run privacy:scan— passed.git diff --check— passed.modelCapabilities.Checklist
Review readiness checklist
This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:
All CI tests are green on my local testing.
I pushed my PR to the latest dev commit.
I resolved all correct Codex and CodeRabbit findings.
My PR is ready for review.