namespace StellaOps.Evidence.Bundle; /// Provenance attestation evidence. public sealed class ProvenanceEvidence { public required EvidenceStatus Status { get; init; } public string? Hash { get; init; } public DsseEnvelope? DsseEnvelope { get; init; } public BuildAncestry? Ancestry { get; init; } public RekorReference? RekorEntry { get; init; } public string? VerificationStatus { get; init; } public string? UnavailableReason { get; init; } } public sealed class DsseEnvelope { public required string PayloadType { get; init; } public required string Payload { get; init; } public required IReadOnlyList Signatures { get; init; } } public sealed class DsseSignature { public required string KeyId { get; init; } public required string Sig { get; init; } } public sealed class BuildAncestry { public string? ImageDigest { get; init; } public string? LayerDigest { get; init; } public string? ArtifactDigest { get; init; } public string? CommitHash { get; init; } public string? BuildId { get; init; } public DateTimeOffset? BuildTime { get; init; } } public sealed class RekorReference { public required string LogId { get; init; } public required long LogIndex { get; init; } public string? Uuid { get; init; } public DateTimeOffset? IntegratedTime { get; init; } }