fix(routing): reserve configured provider names before registry aliases - #3935
fix(routing): reserve configured provider names before registry aliases#3935luvs01 wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (8)
Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe provider alias system now treats case-insensitive configured provider names as claims on conflicting built-in aliases. Catalog generation and model routing use the configured provider name, while canonical names remain case-sensitive. Tests and localized documentation cover the behavior. ChangesProvider namespace alias handling
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to Configured provider names now claim conflicting built-in aliases case-insensitively while preserving exact canonical-name matching and unrecognized-prefix fallback behavior. Catalog and routing behavior are covered by regression tests, with no current merge-blocking risk identified. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 3 files. (5 skipped: 5 unsupported.)
✨ 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 |
|
@coderabbitai review |
✅ Action performedReview finished.
|
리뷰 · 우선순위 66 / 80이 PR은 설정한 공급자 이름이 레지스트리 기본 축약명과 대소문자만 다르게 겹칠 때, 카탈로그와 라우터가 그 축약명을 다른 공급자(예: Google Antigravity의 동작 순서는 문서와 코드가 같이 말합니다. 정식(canonical) 공급자 이름은 여전히 대소문자 완전 일치가 필요하고, Pass 1의 명시적 라인 src/providers/default-aliases.ts effectiveProviderAlias - claimedByOther에 메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
|
✅ Deterministic PR hygiene checks passed. |
✅ READY
Review readiness checklist
✅ 4/4 boxes ticked. This pull request is already Ready for Review. Hygiene✅ Deterministic PR hygiene checks passed. |
|
Carried without source changes to current dev via #3966, landed bbea77a. The original patch-id and runtime/test blobs match; intervening documentation is preserved. luvs01 remains the source author and a landed Co-authored-by. Exact-head CI34169304167 passed19 jobs with2explicit skips, including agy/AgY and warm-cache regressions. Exact-head remote Bun1.4.0 docs build produced425pages without deployment. Full landed tree matches the expected merge result. Closing this original as carried, not directly merged. |
Summary
When a configured provider is named
agy, the catalog could still advertise Google Antigravity models asagy/<model>. Selecting that name resolves to the configured provider, while the case variantAGY/<model>could activate Google's built-in alias instead.Treat configured provider names as case-insensitive claims when selecting built-in aliases, both in catalog generation and the router. Google's catalog entries then retain
google-antigravity/<model>. Exact canonical names, explicit aliases, and the existing fallback for unrecognized prefixes keep their current precedence.Carry only the two source changes and regression from
5ad6b053274b73edf0d9b3f31544fa0e21e4a34c, preserving the original author. Extend the regression toagyandAgYowners and a case-variant request that exercises the router's fallback branch. Document the behavior in the existing provider configuration pages in all five locales.Verification
Head
7ad74746ed260b441ddbceb7a46204085945aa3e, based ondev942c028735d39b2ad410b1baa95670984e16576d.bun test tests/providers/provider-model-aliases.test.ts tests/lab/core-lab-boundary.test.ts --timeout 60000passed 34 tests with 96 assertions.agyreappeared as Google's provider alias. Removing only the router ownership condition made both fail becauseAGY/<model>resolved through Google's explicit namespace. Each ablation restored the original bytes and verified SHA-256.bun run typecheck,bun run privacy:scan, andgit diff HEAD^ HEAD --checkpassed.cd docs-site && bun run buildbuilt 425 pages. Text checks verified the new section and canonical example in the generated page for every locale, without opening previews.bun run test:changed --timeout 60000reached the wrapper's 900-second suite deadline and exited 124 without a completed selection summary; this is not a passing result. The focused checks above passed separately. Full cross-platform CI completed successfully with 26/26 jobs on this exact head. CodeRabbit completed review of this head with no actionable findings and there are no unresolved review threads. Readiness is supported by this exact-head cross-platform CI; the separate local 900-second limit remains recorded above.Checklist
Review readiness checklist
Summary by CodeRabbit
Bug Fixes
Documentation