pub struct RoutingDecision {
pub requested_model: String,
pub routed_model: String,
pub routed_provider: Option<String>,
pub tier: String,
pub confidence: f64,
pub reasoning: String,
pub model_changed: bool,
pub estimated_cost_ratio: Option<f64>,
}Expand description
A routing decision record — emitted for observability and future OCLA bus integration (P2). Deterministic: same input → same decision (#498).
Fields§
§requested_model: StringThe model the client originally requested.
routed_model: StringThe model after routing (may be identical if no tier matched).
routed_provider: Option<String>The provider the request is re-targeted to (None = keep upstream).
tier: StringThe classified intent tier that drove the decision.
confidence: f64Classification confidence (0.0–1.0).
reasoning: StringWhy this tier was chosen (human-readable, deterministic).
model_changed: boolWhether the model was actually changed.
estimated_cost_ratio: Option<f64>Estimated cost ratio (routed / original) when prices are known.
Trait Implementations§
Source§impl Clone for RoutingDecision
impl Clone for RoutingDecision
Source§fn clone(&self) -> RoutingDecision
fn clone(&self) -> RoutingDecision
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RoutingDecision
impl Debug for RoutingDecision
Source§impl<'de> Deserialize<'de> for RoutingDecision
impl<'de> Deserialize<'de> for RoutingDecision
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for RoutingDecision
impl PartialEq for RoutingDecision
Source§impl Serialize for RoutingDecision
impl Serialize for RoutingDecision
impl StructuralPartialEq for RoutingDecision
Auto Trait Implementations§
impl Freeze for RoutingDecision
impl RefUnwindSafe for RoutingDecision
impl Send for RoutingDecision
impl Sync for RoutingDecision
impl Unpin for RoutingDecision
impl UnsafeUnpin for RoutingDecision
impl UnwindSafe for RoutingDecision
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more