pub enum DerivePolicy {
Legacy,
Reset {
threshold_tokens: usize,
},
}Expand description
Per-session derivation strategy selector.
Defaults to DerivePolicy::Legacy so existing code paths that do
not opt into a new policy get the Phase A behaviour unchanged.
Variants§
Legacy
Phase A clone + experimental + enforce_on_messages + pairing.
The historical pipeline.
Reset
Lu et al. (arXiv:2510.06727) reset-to-(prompt, summary).
When the request’s estimated token cost exceeds
threshold_tokens, replace everything older than the last user
turn with a single RLM-generated summary and discard the rest of
the tail. The derived context for the next provider call
contains at most [summary, last_user_turn].
Implementations§
Source§impl DerivePolicy
impl DerivePolicy
Sourcepub fn kind(&self) -> &'static str
pub fn kind(&self) -> &'static str
Human-readable short name for logs, journal entries, and telemetry.
§Examples
use codetether_agent::session::derive_policy::DerivePolicy;
assert_eq!(DerivePolicy::Legacy.kind(), "legacy");
assert_eq!(
DerivePolicy::Reset { threshold_tokens: 0 }.kind(),
"reset",
);Trait Implementations§
Source§impl Clone for DerivePolicy
impl Clone for DerivePolicy
Source§fn clone(&self) -> DerivePolicy
fn clone(&self) -> DerivePolicy
Returns a duplicate of the value. Read more
1.0.0 · 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 DerivePolicy
impl Debug for DerivePolicy
Source§impl Default for DerivePolicy
impl Default for DerivePolicy
Source§impl<'de> Deserialize<'de> for DerivePolicy
impl<'de> Deserialize<'de> for DerivePolicy
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 Serialize for DerivePolicy
impl Serialize for DerivePolicy
impl Copy for DerivePolicy
Auto Trait Implementations§
impl Freeze for DerivePolicy
impl RefUnwindSafe for DerivePolicy
impl Send for DerivePolicy
impl Sync for DerivePolicy
impl Unpin for DerivePolicy
impl UnsafeUnpin for DerivePolicy
impl UnwindSafe for DerivePolicy
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more