SDK Language
Python initially; evaluate TypeScript parity as each public API is designed.
Problem Statement
PR #3846 adds classifier-driven input-complexity routing while intentionally keeping model capability, quality, and price out of candidate declaration order. Several useful extensions were deferred so the initial strategy stays focused. Without one tracking issue, those extensions could be implemented inconsistently or folded into InputComplexityStrategy as unrelated policy.
Proposed Solution
Track the follow-up work as separate, composable API changes:
Use Case
Customers should be able to balance request complexity, model quality, and budget without encoding assumptions in list order or coupling cost policy to complexity classification. Deployments with private models should be able to provide their own metadata, while deployments that need external capability lookup should opt into that latency and tool surface explicitly.
Scope and Compatibility
InputComplexityStrategy remains responsible only for model-aware complexity selection and its documented recovery behavior. Runtime failover remains explicit through fallback. Existing RoutingCandidate, ModelRouter, and FallbackStrategy usage must remain compatible.
Additional Context
SDK Language
Python initially; evaluate TypeScript parity as each public API is designed.
Problem Statement
PR #3846 adds classifier-driven input-complexity routing while intentionally keeping model capability, quality, and price out of candidate declaration order. Several useful extensions were deferred so the initial strategy stays focused. Without one tracking issue, those extensions could be implemented inconsistently or folded into
InputComplexityStrategyas unrelated policy.Proposed Solution
Track the follow-up work as separate, composable API changes:
RoutingCandidatewithout breaking existing construction.InputComplexityStrategy.Use Case
Customers should be able to balance request complexity, model quality, and budget without encoding assumptions in list order or coupling cost policy to complexity classification. Deployments with private models should be able to provide their own metadata, while deployments that need external capability lookup should opt into that latency and tool surface explicitly.
Scope and Compatibility
InputComplexityStrategyremains responsible only for model-aware complexity selection and its documented recovery behavior. Runtime failover remains explicit throughfallback. ExistingRoutingCandidate,ModelRouter, andFallbackStrategyusage must remain compatible.Additional Context