pub struct ContextTruncation {
pub trace_id: Uuid,
pub dropped_tokens: usize,
pub kept_messages: usize,
pub archive_ref: Option<String>,
}Expand description
Emitted when the terminal truncation fallback fires.
Distinct from CompactionOutcome with FallbackStrategy::Truncate
because truncation silently drops context — consumers that care about
data loss (the TUI, the flywheel) need an explicit signal to attach
user-visible warnings and archive the dropped prefix.
§Examples
use codetether_agent::session::ContextTruncation;
use uuid::Uuid;
let t = ContextTruncation {
trace_id: Uuid::nil(),
dropped_tokens: 98_000,
kept_messages: 6,
archive_ref: Some("minio://codetether/ctx/abc123".into()),
};
assert!(t.dropped_tokens > 0);Fields§
§trace_id: UuidCorrelates with the originating CompactionStart.
dropped_tokens: usizeHow many tokens the truncation removed from the transcript.
kept_messages: usizeVerbatim messages retained after truncation.
archive_ref: Option<String>Optional pointer (e.g. MinIO URI) to the archived pre-truncation
prefix so it can be restored with a /recall action.
Trait Implementations§
Source§impl Clone for ContextTruncation
impl Clone for ContextTruncation
Source§fn clone(&self) -> ContextTruncation
fn clone(&self) -> ContextTruncation
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 ContextTruncation
impl Debug for ContextTruncation
Source§impl<'de> Deserialize<'de> for ContextTruncation
impl<'de> Deserialize<'de> for ContextTruncation
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 ContextTruncation
impl RefUnwindSafe for ContextTruncation
impl Send for ContextTruncation
impl Sync for ContextTruncation
impl Unpin for ContextTruncation
impl UnsafeUnpin for ContextTruncation
impl UnwindSafe for ContextTruncation
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