using System.Text.Json.Serialization;
namespace StellaOps.Policy.Determinization.Evidence;
///
/// VEX (Vulnerability Exploitability eXchange) claim summary.
///
public sealed record VexClaimSummary
{
///
/// VEX status.
///
[JsonPropertyName("status")]
public required string Status { get; init; } // "affected", "not_affected", "fixed", "under_investigation"
///
/// Confidence in this claim [0.0, 1.0].
/// Weighted average if multiple sources.
///
[JsonPropertyName("confidence")]
public required double Confidence { get; init; }
///
/// Number of VEX statements supporting this claim.
///
[JsonPropertyName("statement_count")]
public required int StatementCount { get; init; }
///
/// When this summary was computed (UTC).
///
[JsonPropertyName("computed_at")]
public required DateTimeOffset ComputedAt { get; init; }
///
/// Justification text (if provided).
///
[JsonPropertyName("justification")]
public string? Justification { get; init; }
}