namespace StellaOps.Evidence.Bundle; /// SBOM/VEX diff evidence. public sealed class DiffEvidence { public required EvidenceStatus Status { get; init; } public string? Hash { get; init; } public DiffType DiffType { get; init; } public IReadOnlyList? Entries { get; init; } public string? PreviousScanId { get; init; } public DateTimeOffset? PreviousScanTime { get; init; } public string? UnavailableReason { get; init; } } public enum DiffType { Sbom, Vex, Combined } public sealed class DiffEntry { public required DiffOperation Operation { get; init; } public required string Path { get; init; } public string? OldValue { get; init; } public string? NewValue { get; init; } public string? ComponentPurl { get; init; } } public enum DiffOperation { Added, Removed, Modified }