pub struct RoutingEvalReport {
pub suite: String,
pub requested_model: String,
pub records: Vec<RoutingTaskRecord>,
pub routed_count: usize,
pub kept_count: usize,
pub premium_downgrades: usize,
pub mean_input_rate_saving_per_mtok: f64,
}Expand description
Deterministic off-vs-on routing report — the savings_ledger’s
attribution witness for the ROUTE mechanism.
Fields§
§suite: String§requested_model: String§records: Vec<RoutingTaskRecord>§routed_count: usize§kept_count: usizeTasks classified premium that the rules downgraded anyway. The gate requires 0: premium work is never silently downgraded (enterprise#13).
mean_input_rate_saving_per_mtok: f64Mean rate saving per 1M input tokens across all tasks (kept = 0).
Implementations§
Source§impl RoutingEvalReport
impl RoutingEvalReport
Sourcepub fn to_json(&self) -> String
pub fn to_json(&self) -> String
Canonical JSON for artifacts and digests.
§Panics
Only if serde serialization of the report itself fails (plain data).
Sourcepub fn determinism_digest(&self) -> String
pub fn determinism_digest(&self) -> String
Byte-stable digest over the canonical JSON (#498).
Sourcepub fn gate_passes(&self) -> bool
pub fn gate_passes(&self) -> bool
True when the safety gate holds: routing never downgraded premium work.
Trait Implementations§
Source§impl Clone for RoutingEvalReport
impl Clone for RoutingEvalReport
Source§fn clone(&self) -> RoutingEvalReport
fn clone(&self) -> RoutingEvalReport
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 RoutingEvalReport
impl Debug for RoutingEvalReport
Source§impl<'de> Deserialize<'de> for RoutingEvalReport
impl<'de> Deserialize<'de> for RoutingEvalReport
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
Auto Trait Implementations§
impl Freeze for RoutingEvalReport
impl RefUnwindSafe for RoutingEvalReport
impl Send for RoutingEvalReport
impl Sync for RoutingEvalReport
impl Unpin for RoutingEvalReport
impl UnsafeUnpin for RoutingEvalReport
impl UnwindSafe for RoutingEvalReport
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