Add property-based tests for SBOM/VEX document ordering and Unicode normalization determinism

- Implement `SbomVexOrderingDeterminismProperties` for testing component list and vulnerability metadata hash consistency.
- Create `UnicodeNormalizationDeterminismProperties` to validate NFC normalization and Unicode string handling.
- Add project file for `StellaOps.Testing.Determinism.Properties` with necessary dependencies.
- Introduce CI/CD template validation tests including YAML syntax checks and documentation content verification.
- Create validation script for CI/CD templates ensuring all required files and structures are present.
This commit is contained in:
StellaOps Bot
2025-12-26 15:17:15 +02:00
parent 7792749bb4
commit 907783f625
354 changed files with 79727 additions and 1346 deletions

View File

@@ -44,6 +44,12 @@ public sealed class ConcelierOptions
/// </summary>
public FederationOptions Federation { get; set; } = new();
/// <summary>
/// Feed snapshot configuration for atomic multi-source snapshots.
/// Per DET-GAP-03 in SPRINT_20251226_007_BE_determinism_gaps.
/// </summary>
public FeedSnapshotOptions FeedSnapshot { get; set; } = new();
/// <summary>
/// Stella Router integration configuration (disabled by default).
/// When enabled, ASP.NET endpoints are automatically registered with the Router.
@@ -303,4 +309,41 @@ public sealed class ConcelierOptions
/// </summary>
public bool RequireSignature { get; set; } = true;
}
/// <summary>
/// Feed snapshot options for atomic multi-source snapshots.
/// Per DET-GAP-03 in SPRINT_20251226_007_BE_determinism_gaps.
/// </summary>
public sealed class FeedSnapshotOptions
{
/// <summary>
/// Enable feed snapshot endpoints.
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// Maximum list page size for snapshot listing.
/// </summary>
public int MaxListPageSize { get; set; } = 100;
/// <summary>
/// Maximum bundle size in bytes for import (default 1GB).
/// </summary>
public long MaxBundleSizeBytes { get; set; } = 1024L * 1024 * 1024;
/// <summary>
/// Snapshot retention days. Snapshots older than this are automatically cleaned up.
/// </summary>
public int RetentionDays { get; set; } = 90;
/// <summary>
/// Path to store snapshot bundles.
/// </summary>
public string StoragePath { get; set; } = System.IO.Path.Combine("out", "snapshots");
/// <summary>
/// Default compression algorithm for exports.
/// </summary>
public string DefaultCompression { get; set; } = "zstd";
}
}