pub struct DiagnosticBundle {
pub metadata: BundleMetadata,
pub report: InvestigationReport,
pub requirements: RequirementsProfile,
pub policy: RuntimePolicy,
pub probe_report: ProbePackReport,
pub coherence_violations: Vec<BundleCoherenceViolation>,
}Expand description
Full diagnostic bundle for a single investigation.
The bundle aggregates the investigation report, requirements, policy, built-in probe outcomes, and optional fingerprint coherence results into a single document suitable for incident response tooling.
Sensitive fields (cookies, auth headers) are redacted according to
BundleMetadata::redaction_policy.
§Format
The bundle serialises to JSON via serde. Top-level fields are:
metadata— provenance and redaction policyreport— aggregatedInvestigationReportrequirements— inferredRequirementsProfilepolicy— plannedRuntimePolicyprobe_report— outcome of the built-inchallenge_probe_packcoherence_violations— list of{ rule_id, message, paths }objects; empty when clean
§Example
use stygian_charon::bundle::{build_diagnostic_bundle, BundleRedactionPolicy};
let empty_har = r#"{"log":{"version":"1.2","creator":{"name":"test","version":"0"},"entries":[]}}"#;
let bundle = build_diagnostic_bundle(empty_har, BundleRedactionPolicy::Standard).unwrap();
assert_eq!(bundle.metadata.schema_version, "1.0");Fields§
§metadata: BundleMetadataBundle provenance and redaction policy.
report: InvestigationReportAggregated investigation report.
requirements: RequirementsProfileInferred requirements profile.
policy: RuntimePolicyPlanned runtime policy.
probe_report: ProbePackReportOutcome of running the challenge probe pack against the built-in classifier.
coherence_violations: Vec<BundleCoherenceViolation>Coherence violations across response headers in the investigation.
Only populated when a snapshot::NormalizedFingerprintSnapshot is supplied
via build_diagnostic_bundle_with_snapshot.
Trait Implementations§
Source§impl Clone for DiagnosticBundle
impl Clone for DiagnosticBundle
Source§fn clone(&self) -> DiagnosticBundle
fn clone(&self) -> DiagnosticBundle
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more