Class IntegrityReport
The product of a scan: what was looked at, what is wrong, what a repair would cost, and what could not be seen.
public sealed class IntegrityReport
- Inheritance
-
IntegrityReport
- Inherited Members
Remarks
This is also the interface the crash suite consumes. It needs no shadow model, so it can be asserted after any chaos cell — including ones whose correct final state the harness cannot compute.
Constructors
IntegrityReport()
public IntegrityReport()
Fields
ReportVersion
Schema version of this report's JSON form. Bumped on any breaking shape change.
public const int ReportVersion = 1
Field Value
Properties
CompletedUtc
UTC instant the scan completed.
public DateTime CompletedUtc { get; init; }
Property Value
Depth
How much work was done.
public required ScanDepth Depth { get; init; }
Property Value
Duration
Wall-clock duration of the scan.
public TimeSpan Duration { get; init; }
Property Value
ExitCode
Process exit code carrying the verdict, so typhon check drops into a cron job or a CI gate without anyone
parsing anything. Distinct codes for Divergent and
DataLoss matter: the first is "schedule a repair", the second is "stop and think".
public int ExitCode { get; }
Property Value
Findings
Every finding, severity-ranked.
public required IReadOnlyList<IntegrityFinding> Findings { get; init; }
Property Value
Identity
Identity of the scanned database.
public required DatabaseIdentity Identity { get; init; }
Property Value
IsSound
Whether the database is free of correctness problems (leaks and advisories do not count).
public bool IsSound { get; }
Property Value
Limits
What the scan could not have detected. Never null.
public required ScanLimits Limits { get; init; }
Property Value
LossSummary
Aggregate loss across every finding, grouped by archetype and component.
public IReadOnlyList<LossEstimate> LossSummary { get; }
Property Value
Mode
How the pages were reached.
public required ScanMode Mode { get; init; }
Property Value
Source
Identity of the source that was scanned, from Describe().
public required string Source { get; init; }
Property Value
Totals
What the scan looked at.
public required ScanTotals Totals { get; init; }
Property Value
Verdict
The one-word answer, derived from the most severe finding.
public IntegrityVerdict Verdict { get; }