pub type AuditOutput = AuditOutput<AuditVerdict, AuditSummary, AuditAttribution, CheckOutput, DupesReportPayload, HealthReport>;Expand description
Concrete fallow audit envelope with this crate’s verdict, summary, and
attribution payloads filled into the generic output shell.
Aliased Type§
pub struct AuditOutput {Show 18 fields
pub schema_version: SchemaVersion,
pub version: ToolVersion,
pub command: AuditCommand,
pub verdict: AuditVerdict,
pub changed_files_count: u32,
pub base_ref: String,
pub base_description: Option<String>,
pub head_sha: Option<String>,
pub elapsed_ms: ElapsedMs,
pub base_snapshot_skipped: Option<bool>,
pub summary: AuditSummary,
pub attribution: AuditAttribution,
pub gate_outcomes: Option<GateOutcomes>,
pub meta: Option<Meta>,
pub dead_code: Option<CheckOutput>,
pub duplication: Option<DupesReportPayload>,
pub complexity: Option<HealthReport>,
pub next_steps: Vec<NextStep>,
}Fields§
§schema_version: SchemaVersionAudit output schema version.
version: ToolVersionFallow CLI version that produced this output.
command: AuditCommandCommand discriminator singleton: always audit.
verdict: AuditVerdictGate verdict for the audited change.
changed_files_count: u32Number of changed files in the audit scope.
base_ref: StringGit ref the change was diffed against.
base_description: Option<String>Human-readable provenance of base_ref, e.g. merge-base with origin/main, local main, or FALLOW_AUDIT_BASE=upstream/main.
Present when the base was auto-detected or set via FALLOW_AUDIT_BASE;
absent for an explicit --base (the ref the user typed is already
self-describing).
head_sha: Option<String>Commit SHA of the audited head tree, when resolvable.
elapsed_ms: ElapsedMsWall-clock analysis duration in milliseconds.
base_snapshot_skipped: Option<bool>True when base-snapshot analysis was skipped, so new-vs-inherited attribution could not run.
summary: AuditSummaryAggregate finding counts for the audited change.
attribution: AuditAttributionNew-vs-inherited attribution of findings against the base.
gate_outcomes: Option<GateOutcomes>Every gate this run ARMED, keyed by name, absent when it armed none.
Each entry is the same rule that decides the exit code, so a CI
integration reads the verdict instead of guessing from a process status
it usually cannot see. A gate fails the build when status is fail
AND enforced is true. Armed, not evaluated: fallow’s default severity
rules fail a run with no flag at all, so an absent object means “no gate
was asked for”, never “nothing failed”. See [crate::GateOutcomes].
meta: Option<Meta>_meta block with metric / rule definitions, when --explain was
passed.
dead_code: Option<CheckOutput>Dead-code findings scoped to the audit changeset.
duplication: Option<DupesReportPayload>Duplication findings scoped to the audit changeset.
complexity: Option<HealthReport>Complexity findings scoped to the audit changeset.
next_steps: Vec<NextStep>Read-only follow-up commands computed from this run’s findings. See
CheckOutput::next_steps for the contract.