pub struct CheckoutReport {
pub materialized: usize,
pub skipped_present: usize,
pub bytes: u64,
pub resumed_live_tree: bool,
pub refused: usize,
pub manifest_secs: f64,
pub fetch_secs: f64,
pub commit_secs: f64,
pub reresolved: u32,
pub scope: Option<Vec<String>>,
pub out_of_scope: usize,
pub ranged: usize,
}Fields§
§materialized: usize§skipped_present: usize§bytes: u64§resumed_live_tree: boolRestart-matrix row taken.
refused: usizeCitations left in place rather than materialized (D0.3 legacy
.flint/ paths, containment refusals). Never a silent drop:
each has a conflict record.
manifest_secs: f64Phase attribution for the agent-blocking path. Without these the checkout wall clock cannot be split between the manifest GET, the fan-out fetch window, and the local commit — which is the one fact any read-path decision here rests on.
fetch_secs: f64§commit_secs: f64§reresolved: u32Passes re-run because the pointer moved past the document a pass read and a handle it cited was collected (handles design 2026-09-19): the checkout re-resolves instead of asking the caller to.
scope: Option<Vec<String>>The admitted set this checkout was scoped to, or None for the
whole manifest.
out_of_scope: usizeCitations the scope DECLINED. Zero for an unscoped checkout, and the number that says a scope did anything at all: a scope that admits everything reads exactly like no scope.
ranged: usizeObjects materialised through the RANGED path. On a cluster nothing else can tell “ranging did not help” from “ranging did not run” — the knob is a threshold and a threshold that never fires reads exactly like an optimisation that does not work.