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; } }