pub struct TurnObservation {
pub signals: Vec<Signal>,
pub tools_used: Vec<ToolUsage>,
pub outcome: TurnOutcome,
pub duration_ms: u64,
pub session_id: Uuid,
pub turn_number: u32,
}Expand description
Per-turn observation that aggregates multiple signals with turn-level metadata.
This is the MenteDB-aligned replacement for the legacy Observation type.
A TurnObservation is the parent (per-turn), containing child Signals
(per-event) plus tool usage, outcome, and timing data.
Fields§
§signals: Vec<Signal>Signals captured during this turn
tools_used: Vec<ToolUsage>Tools that were used during this turn
outcome: TurnOutcomeHow the turn ended
duration_ms: u64Turn duration in milliseconds
session_id: UuidSession this turn belongs to
turn_number: u32Turn number within the session
Implementations§
Source§impl TurnObservation
impl TurnObservation
Sourcepub fn new(
session_id: Uuid,
turn_number: u32,
outcome: TurnOutcome,
duration_ms: u64,
) -> Self
pub fn new( session_id: Uuid, turn_number: u32, outcome: TurnOutcome, duration_ms: u64, ) -> Self
Create a new TurnObservation with the given turn-level metadata.
Sourcepub fn add_signal(&mut self, signal: Signal)
pub fn add_signal(&mut self, signal: Signal)
Add a signal to this turn observation.
Sourcepub fn add_tool_usage(&mut self, usage: ToolUsage)
pub fn add_tool_usage(&mut self, usage: ToolUsage)
Record a tool usage for this turn.
Trait Implementations§
Source§impl Clone for TurnObservation
impl Clone for TurnObservation
Source§fn clone(&self) -> TurnObservation
fn clone(&self) -> TurnObservation
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 TurnObservation
impl Debug for TurnObservation
Source§impl<'de> Deserialize<'de> for TurnObservation
impl<'de> Deserialize<'de> for TurnObservation
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 TurnObservation
impl RefUnwindSafe for TurnObservation
impl Send for TurnObservation
impl Sync for TurnObservation
impl Unpin for TurnObservation
impl UnsafeUnpin for TurnObservation
impl UnwindSafe for TurnObservation
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