pub struct ParsedSession {
pub path: PathBuf,
pub format: Format,
pub totals: SessionTotals,
pub tool_stats: Vec<ToolStats>,
pub step_count: usize,
pub mtime_secs: Option<u64>,
pub annotation_count: usize,
pub fork_root_count: usize,
}Expand description
Result of parsing a single session file. Either a successful parse with its derived aggregates, or a format-drift error we want to surface in the corpus summary.
Serialize so downstream bindings (agx-py, agx-wasm) can
round-trip the full struct through serde_json::to_value without
hand-rolling field extraction — keeps the Python / JS surfaces
honest against any new field added here.
Fields§
§path: PathBuf§format: Format§totals: SessionTotals§tool_stats: Vec<ToolStats>§step_count: usize§mtime_secs: Option<u64>Unix timestamp in seconds of the session file’s mtime, used by the
corpus TUI to sort by recency. None when we couldn’t stat the
file (permission error, file replaced mid-walk, etc).
annotation_count: usizeNumber of annotations stored for this session at the time of the
scan (read from ~/.agx/notes/). Used by Filter::Annotated
and surfaced in --jsonl output for downstream tooling.
fork_root_count: usizeNumber of fork-root steps in this session. Non-zero only for
Claude Code sessions with edit/resume branches (Phase 5.1).
Feeds --trajectory-stats branch-rate and is surfaced in
--jsonl output.
Trait Implementations§
Source§impl Debug for ParsedSession
impl Debug for ParsedSession
Auto Trait Implementations§
impl Freeze for ParsedSession
impl RefUnwindSafe for ParsedSession
impl Send for ParsedSession
impl Sync for ParsedSession
impl Unpin for ParsedSession
impl UnsafeUnpin for ParsedSession
impl UnwindSafe for ParsedSession
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> 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>
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>
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