From bac03b758348419d38be04c03e3353f5530b03ee Mon Sep 17 00:00:00 2001 From: Adil Hafeez Date: Mon, 30 Mar 2026 15:55:01 -0700 Subject: [PATCH] make selection_policy optional, defaults to prefer: none --- config/plano_config_schema.yaml | 1 - crates/common/src/configuration.rs | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/config/plano_config_schema.yaml b/config/plano_config_schema.yaml index 276f7699..a2c34c91 100644 --- a/config/plano_config_schema.yaml +++ b/config/plano_config_schema.yaml @@ -502,7 +502,6 @@ properties: - name - description - models - - selection_policy model_metrics_sources: type: array diff --git a/crates/common/src/configuration.rs b/crates/common/src/configuration.rs index 167b9c3e..653f4d8c 100644 --- a/crates/common/src/configuration.rs +++ b/crates/common/src/configuration.rs @@ -104,16 +104,17 @@ pub enum StateStorageType { Postgres, } -#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] +#[derive(Debug, Clone, Default, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "lowercase")] pub enum SelectionPreference { Cheapest, Fastest, /// Return models in the same order they were defined — no reordering. + #[default] None, } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Default, Serialize, Deserialize)] pub struct SelectionPolicy { pub prefer: SelectionPreference, } @@ -123,6 +124,7 @@ pub struct TopLevelRoutingPreference { pub name: String, pub description: String, pub models: Vec, + #[serde(default)] pub selection_policy: SelectionPolicy, }