fix: migrate provider catalogs to sparse route policies#2368
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Holon Reviewer: APPROVED ✅SummarySecond and final PR for #2363 — migrates Tencent TokenHub, Xiaomi, DashScope, and Volcengine catalogs to shared canonical model metadata with sparse endpoint route policies. Clean continuation of the pattern from #2367. Analysis
No blocking issues found. Ready to merge once CI passes. |
There was a problem hiding this comment.
Review: fix: migrate provider catalogs to sparse route policies
Approve. Well-structured migration that correctly consolidates duplicate provider catalog entries into canonical-model + sparse-route-policy architecture.
Verified
- All DashScope token-plan/coding-plan route overrides match old explicit entries (context windows, max output caps, capabilities).
- Volcengine coding/plan routes correctly inherit canonical capabilities from remaining
volcengine-codingentries and canonicalvolcengineentries. - Intentional behavior change (Doubao models now inherit
supports_reasoning=true, image_input=truefrom canonical) confirmed by new tests. - Tencent TokenHub dedup and Xiaomi route migration are clean.
reasoning_effort_optionsguard correctly narrows from legacy provider matching to canonical provider + endpoint guard.- New invariant test (
built_in_catalog_registers_each_canonical_model_metadata_once) and Doubao capability inheritance tests provide good regression coverage.
Minor observation
Implicit coupling: volcengine-agent@plan routes for deepseek-v4-pro, kimi-k2.7-code, glm-5.2 etc. inherit canonical metadata from volcengine-coding entries (which canonicalize to volcengine/X). A comment near those entries noting this dependency would help future maintainators avoid accidentally breaking plan routes when cleaning up coding entries.
Holon Run Report
|
Summary
models.catalogsemanticsThis is the second and final implementation PR for #2363, following #2367.
Closes #2363.
Verification
cargo fmt --all -- --checkcargo test model_catalog(55 passed)RUSTFLAGS="-D warnings" cargo check --all-targetsnpm test -- --run src/runtime/client.test.ts(26 passed)