Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
📝 WalkthroughSummary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings. WalkthroughAdds cross-provider model resolution and validation via a new ModelCatalog.IsModelAllowedForProvider method and integrates it into governance (BudgetResolver now accepts ModelCatalog); extensive docs expanded for model-catalog/provider-routing behaviors; removes MCP integration (deletes core/mcp.go); updates governance constructor usage in tests and changelogs. Changes
Sequence DiagramsequenceDiagram
participant Client as Request
participant Governance as Governance Plugin
participant BudgetResolver as BudgetResolver
participant ModelCatalog as ModelCatalog
participant Provider as Provider Catalog
Client->>Governance: incoming request (model)
Governance->>BudgetResolver: loadBalanceProvider(provider, model, allowedModels)
BudgetResolver->>ModelCatalog: IsModelAllowedForProvider(provider, model, allowedModels)
alt allowedModels is empty
ModelCatalog->>ModelCatalog: GetProvidersForModel(model)
ModelCatalog->>Provider: Query provider support (direct, OpenRouter, Vertex, Groq, Bedrock)
Provider-->>ModelCatalog: provider supports model?
ModelCatalog->>ModelCatalog: contains target provider?
else allowedModels non-empty
ModelCatalog->>Provider: GetModelsForProvider(provider)
Provider-->>ModelCatalog: provider's model list
alt direct match
ModelCatalog->>ModelCatalog: match found -> allowed
else provider-prefixed entry
ModelCatalog->>ModelCatalog: parse prefix, compare model part -> allowed?
end
end
ModelCatalog-->>BudgetResolver: isAllowed (bool)
BudgetResolver-->>Governance: validation result
Governance-->>Client: routing decision
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
🧹 Recent nitpick comments
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (11)
💤 Files with no reviewable changes (1)
🚧 Files skipped from review as they are similar to previous changes (5)
🧰 Additional context used📓 Path-based instructions (1)**⚙️ CodeRabbit configuration file
Files:
🧠 Learnings (6)📚 Learning: 2025-12-09T17:07:42.007ZApplied to files:
📚 Learning: 2025-12-29T11:54:55.836ZApplied to files:
📚 Learning: 2026-01-14T04:40:11.480ZApplied to files:
📚 Learning: 2026-01-14T13:30:28.760ZApplied to files:
📚 Learning: 2025-12-22T10:50:40.990ZApplied to files:
📚 Learning: 2025-12-30T05:37:48.365ZApplied to files:
🧬 Code graph analysis (3)plugins/governance/tracker_test.go (1)
framework/modelcatalog/main.go (2)
plugins/governance/resolver.go (3)
🪛 LanguageTooldocs/architecture/framework/model-catalog.mdx[grammar] ~253-~253: Use a hyphen to join words. (QB_NEW_EN_HYPHEN) 🔇 Additional comments (13)
✏️ Tip: You can disable this entire section by setting Comment |
🧪 Test Suite AvailableThis PR can be tested by a repository admin. |
bd950c3 to
d245177
Compare
d245177 to
6f506cb
Compare
Merge activity
|

Summary
Enhanced the Model Catalog with improved cross-provider model resolution and validation, enabling more flexible routing configurations including provider-prefixed model names in allowed lists.
Changes
IsModelAllowedForProvidermethod to validate models against allowed lists with support for provider-prefixed entriesType of change
Affected areas
How to test
Test provider-prefixed model configurations with governance routing:
Breaking changes
Related issues
Improves cross-provider routing capabilities discussed in various community threads.
Security considerations
No security implications. This change enhances model validation logic but doesn't affect authentication or authorization.
Checklist