// ----------------------------------------------------------------------------- // IUnifiedEvidenceService.cs // Sprint: SPRINT_9200_0001_0002_SCANNER_unified_evidence_endpoint // Description: Service interface for assembling unified evidence for findings. // ----------------------------------------------------------------------------- using StellaOps.Scanner.WebService.Contracts; namespace StellaOps.Scanner.WebService.Services; /// /// Assembles unified evidence packages for findings. /// public interface IUnifiedEvidenceService { /// /// Gets the complete unified evidence package for a finding. /// /// Finding identifier. /// Options controlling what evidence to include. /// Cancellation token. /// Unified evidence package or null if finding not found. Task GetUnifiedEvidenceAsync( string findingId, UnifiedEvidenceOptions? options = null, CancellationToken cancellationToken = default); } /// /// Options for customizing unified evidence retrieval. /// public sealed record UnifiedEvidenceOptions { /// Include SBOM evidence tab. public bool IncludeSbom { get; init; } = true; /// Include reachability evidence tab. public bool IncludeReachability { get; init; } = true; /// Include VEX claims tab. public bool IncludeVexClaims { get; init; } = true; /// Include attestations tab. public bool IncludeAttestations { get; init; } = true; /// Include delta evidence tab. public bool IncludeDeltas { get; init; } = true; /// Include policy evidence tab. public bool IncludePolicy { get; init; } = true; /// Generate replay command. public bool IncludeReplayCommand { get; init; } = true; }