pub struct Report {Show 18 fields
pub age_reference_ns: Option<i64>,
pub format: Format,
pub status: TreeStatus,
pub provenance: ReportProvenance,
pub scope: ScanScope,
pub requested_analysis: AnalysisSet,
pub requested_views: Vec<ViewSpec>,
pub omitted_views: Vec<ViewSpec>,
pub root: PathBuf,
pub notes: Vec<String>,
pub tips: Vec<String>,
pub axes: &'static AxisNames,
pub size: SizeMetric,
pub sort_metric: Option<&'static str>,
pub analysis: Option<ContentReportMetadata>,
pub ignored_entries: IgnoredEntries,
pub ignore_rules: ControlCoverage,
pub sections: Vec<Section>,
}Expand description
A rendered answer: provenance, plus one section per requested view.
Fields§
§age_reference_ns: Option<i64>Instant used for modification age, in epoch nanoseconds; unknown outside i64.
format: FormatRequested presentation; Text resolves from each section projection.
status: TreeStatusCompleteness and bounded failure detail for this answer.
provenance: ReportProvenanceSource, currency, and timing for this answer and its retained tiers.
scope: ScanScopeThe semantic scan scope represented by this report.
A projected cache load constructs its index directly in the requested controls-off scope, so every report route reads this value from the same requested-scope index.
requested_analysis: AnalysisSetAnalyzer units requested for this answer.
requested_views: Vec<ViewSpec>Resolved views requested and answerable by this analyzer set.
omitted_views: Vec<ViewSpec>Resolved views requested but unavailable from this analyzer set.
root: PathBufAbsolute path of the indexed root.
notes: Vec<String>Remarks about the report itself, in the order a renderer should print them.
Facts about what was asked for and what could be answered – not telemetry about the run, which the schema deliberately excludes. Deliberately not serialised: a machine consumer reads the omission from which sections are absent, and adding a field to the envelope would be a schema change for something only humans read.
tips: Vec<String>Actionable suggestions, rendered once after factual notes; excluded from wire data.
axes: &'static AxisNamesSurface vocabulary for actionable display-bound suggestions.
size: SizeMetricWhich size metric this report answers in.
Carried on the report so a renderer shows the same number the ordering used; printing apparent bytes beside an allocated-bytes ranking looks like a sorting bug and is worse than either metric alone.
sort_metric: Option<&'static str>Registered numeric metric used for sorting, when selected.
analysis: Option<ContentReportMetadata>Analyzer identity when sparse content records are present.
ignored_entries: IgnoredEntriesWhich entries the rows count by .gitignore classification.
Carried for the renderer, like Self::size, and not serialised: a row whose
selection admits only ignored entries is wholly ignored, so text leaves the ignored
share off rather than repeat the size beside it.
ignore_rules: ControlCoverageWhether ignore classification applies every .gitignore in scope, serialised as
ignore_rules.
Not operational completeness: a refused control file leaves TreeStatus::complete
true and every size exact, and costs only the ignored and unignored split below
it. Self::notes names the directories and the knob that applies them.
sections: Vec<Section>One section per requested view, in request order.