pub enum CapabilityDegradation {
StrictSchema,
ParallelToolCalls,
StreamingToolCalls,
PromptCaching,
ToolCalling,
ContextWindow {
needed: u32,
available: u32,
},
}Expand description
One recorded degradation: a capability the route lacks and the explicit,
invariant-preserving fallback taken instead. Every degradation is a ledger
event and is visible in perspt providers; none may silently emulate the
missing capability.
Variants§
StrictSchema
Non-strict schemas sent; arguments validated locally, violations become
ToolArgumentInvalid residuals with a directed correction.
ParallelToolCalls
One tool call per turn. Costs turns, changes no invariant.
StreamingToolCalls
Non-streaming turn; progress is turn-granular rather than token-granular.
PromptCaching
Route accounting marks the route cache-cold; routing weights it accordingly.
ToolCalling
Route is ineligible as an actuator; an explicit tool-capable fallback must be selected or the session must stop.
ContextWindow
The route’s context window is smaller than the node’s packed context; the route is ineligible for that node.
Trait Implementations§
Source§impl Clone for CapabilityDegradation
impl Clone for CapabilityDegradation
Source§fn clone(&self) -> CapabilityDegradation
fn clone(&self) -> CapabilityDegradation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CapabilityDegradation
impl Debug for CapabilityDegradation
Source§impl<'de> Deserialize<'de> for CapabilityDegradation
impl<'de> Deserialize<'de> for CapabilityDegradation
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>,
Source§impl PartialEq for CapabilityDegradation
impl PartialEq for CapabilityDegradation
Source§fn eq(&self, other: &CapabilityDegradation) -> bool
fn eq(&self, other: &CapabilityDegradation) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for CapabilityDegradation
impl Serialize for CapabilityDegradation
impl Eq for CapabilityDegradation
impl StructuralPartialEq for CapabilityDegradation
Auto Trait Implementations§
impl Freeze for CapabilityDegradation
impl RefUnwindSafe for CapabilityDegradation
impl Send for CapabilityDegradation
impl Sync for CapabilityDegradation
impl Unpin for CapabilityDegradation
impl UnsafeUnpin for CapabilityDegradation
impl UnwindSafe for CapabilityDegradation
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.