pub struct FleetReport {
pub schema_version: u32,
pub provenance: Provenance,
pub summary: Summary,
pub vulnerabilities: Vec<VulnFinding>,
pub warnings: Vec<WarnFinding>,
pub outcomes: Vec<RepoOutcome>,
}Expand description
The complete result of one scan. Field order matches the JSON schema (§9).
Fields§
§schema_version: u32§provenance: Provenance§summary: Summary§vulnerabilities: Vec<VulnFinding>Sorted: severity desc, then advisory id (total, stable).
warnings: Vec<WarnFinding>§outcomes: Vec<RepoOutcome>Implementations§
Source§impl FleetReport
impl FleetReport
Sourcepub fn refresh_summary(&mut self)
pub fn refresh_summary(&mut self)
Recompute the summary’s finding-derived fields (vuln_count, warn_count,
max_severity) from the current findings.
The summary is a denormalized cache. Rather than each pipeline stage that
mutates the finding set (phantom drop, enrichment backfill, EPSS / reachability
/ baseline filtering) recomputing these inline — six near-identical copies that
drift, as a missed one once reported max_severity: unknown for a critical
fleet — every such stage calls this. There is exactly ONE definition of these
values, so a stage cannot get them subtly wrong, and a new stage just calls
refresh_summary(). repos_scanned / repos_errored / stale_ignores are set
once at assembly and are not touched here.
Trait Implementations§
Source§impl Clone for FleetReport
impl Clone for FleetReport
Source§fn clone(&self) -> FleetReport
fn clone(&self) -> FleetReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FleetReport
impl Debug for FleetReport
Source§impl<'de> Deserialize<'de> for FleetReport
impl<'de> Deserialize<'de> for FleetReport
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>,
Source§impl PartialEq for FleetReport
impl PartialEq for FleetReport
Source§fn eq(&self, other: &FleetReport) -> bool
fn eq(&self, other: &FleetReport) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for FleetReport
impl Serialize for FleetReport
impl StructuralPartialEq for FleetReport
Auto Trait Implementations§
impl Freeze for FleetReport
impl RefUnwindSafe for FleetReport
impl Send for FleetReport
impl Sync for FleetReport
impl Unpin for FleetReport
impl UnsafeUnpin for FleetReport
impl UnwindSafe for FleetReport
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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