.NET API
StatePreflightReport
Tracon.Core.dllWhat a read-only state preflight found: how many rows carry each stored schema generation, and how a small sample of them behaved when this build tried to read them.
public sealed record StatePreflightReport : IEquatable<StatePreflightReport>Inheritance
Section titled “Inheritance”Implements
Section titled “Implements”IEquatable<StatePreflightReport>
Inherited Members
Section titled “Inherited Members”object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Remarks
Section titled “Remarks”A sample is evidence, not proof. A report with no failures says the rows that WERE read came back readable — it never says every row is readable. StatePreflightReport.SamplePerGeneration is part of the report for exactly that reason: a reader who cannot see how much was checked cannot judge what the absence of failures is worth.
The generation counts, by contrast, ARE complete: they come from an aggregate over the whole table, so StatePreflightReport.HasUnreadableGeneration covers every stored row.
Constructors
Section titled “Constructors”StatePreflightReport()
Section titled “ StatePreflightReport()”public StatePreflightReport()Properties
Section titled “Properties”Checkpoints
Section titled “ Checkpoints”The workflow checkpoint rows, grouped the same way.
public required IReadOnlyList<StateGenerationCount> Checkpoints { get; init; }Property Value
Section titled “Property Value”IReadOnlyList<StateGenerationCount>
DecodedSampleCount
Section titled “ DecodedSampleCount”The number of sampled sessions this build genuinely deserialized through Microsoft Agent Framework.
public required int DecodedSampleCount { get; init; }Property Value
Section titled “Property Value”HasUnreadableGeneration
Section titled “ HasUnreadableGeneration”Whether any stored row carries a generation newer than this build understands.
public bool HasUnreadableGeneration { get; }Property Value
Section titled “Property Value”IsClean
Section titled “ IsClean”Whether nothing was found that would block this build from reading the stored state.
public bool IsClean { get; }Property Value
Section titled “Property Value”ProviderName
Section titled “ ProviderName”The persistence provider the report was read from, for example PostgreSQL.
public required string ProviderName { get; init; }Property Value
Section titled “Property Value”RunningMafVersion
Section titled “ RunningMafVersion”The Microsoft Agent Framework version this process runs.
public required string RunningMafVersion { get; init; }Property Value
Section titled “Property Value”SampleFailureCount
Section titled “ SampleFailureCount”The number of sampled rows that failed. The length of StatePreflightReport.SampleFailures.
public int SampleFailureCount { get; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”Derived rather than stored: a count kept beside the list it counts drifts away from it the first time one of the two is updated alone.
SampleFailures
Section titled “ SampleFailures”The sampled rows this build could not read, with the reason for each.
public required IReadOnlyList<StateSampleFailure> SampleFailures { get; init; }Property Value
Section titled “Property Value”IReadOnlyList<StateSampleFailure>
SamplePerGeneration
Section titled “ SamplePerGeneration”How many rows of each generation were sampled, at most.
public required int SamplePerGeneration { get; init; }Property Value
Section titled “Property Value”SampledCount
Section titled “ SampledCount”The total number of rows sampled, however deeply each was checked.
public int SampledCount { get; }Property Value
Section titled “Property Value”Sessions
Section titled “ Sessions”The session rows, grouped by the generation they were written with.
public required IReadOnlyList<StateGenerationCount> Sessions { get; init; }Property Value
Section titled “Property Value”IReadOnlyList<StateGenerationCount>
StructureOnlySampleCount
Section titled “ StructureOnlySampleCount”The number of sampled rows whose payload was only checked for structure, not decoded.
public required int StructureOnlySampleCount { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”Two rows land here. A workflow checkpoint has no decoder outside a running workflow, so only its stored shape can be checked. A session whose state is encrypted at rest cannot be decoded by a process that holds no content protection key — which a preflight run from the CLI normally does not. Neither is a failure, and neither is proof of readability.
UnreadableRecordCount
Section titled “ UnreadableRecordCount”How many stored rows carry a generation newer than this build understands.
public long UnreadableRecordCount { get; }Property Value
Section titled “Property Value”Methods
Section titled “Methods”Equals(object?)
Section titled “ Equals(object?)”public override bool Equals(object? obj)Parameters
Section titled “Parameters”obj object?
Returns
Section titled “Returns”Equals(StatePreflightReport?)
Section titled “ Equals(StatePreflightReport?)”public bool Equals(StatePreflightReport? other)Parameters
Section titled “Parameters”other StatePreflightReport?
Returns
Section titled “Returns”GetHashCode()
Section titled “ GetHashCode()”public override int GetHashCode()Returns
Section titled “Returns”ToString()
Section titled “ ToString()”public override string ToString()Returns
Section titled “Returns”Operators
Section titled “Operators”operator ==(StatePreflightReport?, StatePreflightReport?)
Section titled “ operator ==(StatePreflightReport?, StatePreflightReport?)”public static bool operator ==(StatePreflightReport? left, StatePreflightReport? right)Parameters
Section titled “Parameters”left StatePreflightReport?
right StatePreflightReport?
Returns
Section titled “Returns”operator !=(StatePreflightReport?, StatePreflightReport?)
Section titled “ operator !=(StatePreflightReport?, StatePreflightReport?)”public static bool operator !=(StatePreflightReport? left, StatePreflightReport? right)Parameters
Section titled “Parameters”left StatePreflightReport?
right StatePreflightReport?