UI work to fill SBOM sourcing management gap. UI planning remaining functionality exposure. Work on CI/Tests stabilization
Introduces CGS determinism test runs to CI workflows for Windows, macOS, Linux, Alpine, and Debian, fulfilling CGS-008 cross-platform requirements. Updates local-ci scripts to support new smoke steps, test timeouts, progress intervals, and project slicing for improved test isolation and diagnostics.
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
// -----------------------------------------------------------------------------
|
||||
// LineageExportModels.cs
|
||||
// Sprint: SPRINT_20251229_005_001_BE_sbom_lineage_api (LIN-010)
|
||||
// Task: Evidence pack export models
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
namespace StellaOps.SbomService.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Request to export an evidence pack for a lineage comparison.
|
||||
/// </summary>
|
||||
internal sealed record LineageExportRequest
|
||||
{
|
||||
public required string FromDigest { get; init; }
|
||||
public required string ToDigest { get; init; }
|
||||
public required string TenantId { get; init; }
|
||||
public bool IncludeSbomDiff { get; init; } = true;
|
||||
public bool IncludeVexDeltas { get; init; } = true;
|
||||
public bool IncludeReachabilityDiff { get; init; } = false;
|
||||
public bool IncludeAttestations { get; init; } = true;
|
||||
public bool SignWithKeyless { get; init; } = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Response containing evidence pack download URL.
|
||||
/// </summary>
|
||||
internal sealed record LineageExportResponse
|
||||
{
|
||||
public required string ExportId { get; init; }
|
||||
public required string DownloadUrl { get; init; }
|
||||
public required DateTimeOffset ExpiresAt { get; init; }
|
||||
public required long SizeBytes { get; init; }
|
||||
public string? SignatureDigest { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Evidence pack structure (NDJSON format).
|
||||
/// </summary>
|
||||
internal sealed record EvidencePack
|
||||
{
|
||||
public required string Version { get; init; }
|
||||
public required string FromDigest { get; init; }
|
||||
public required string ToDigest { get; init; }
|
||||
public required DateTimeOffset GeneratedAt { get; init; }
|
||||
public required string ReplayHash { get; init; }
|
||||
public SbomDiffSummary? SbomDiff { get; init; }
|
||||
public IReadOnlyList<VexDeltaSummary>? VexDeltas { get; init; }
|
||||
public object? ReachabilityDiff { get; init; }
|
||||
public IReadOnlyList<string>? AttestationDigests { get; init; }
|
||||
}
|
||||
Reference in New Issue
Block a user