feat: Implement IsolatedReplayContext for deterministic audit replay

- Added IsolatedReplayContext class to provide an isolated environment for replaying audit bundles without external calls.
- Introduced methods for initializing the context, verifying input digests, and extracting inputs for policy evaluation.
- Created supporting interfaces and options for context configuration.

feat: Create ReplayExecutor for executing policy re-evaluation and verdict comparison

- Developed ReplayExecutor class to handle the execution of replay processes, including input verification and verdict comparison.
- Implemented detailed drift detection and error handling during replay execution.
- Added interfaces for policy evaluation and replay execution options.

feat: Add ScanSnapshotFetcher for fetching scan data and snapshots

- Introduced ScanSnapshotFetcher class to retrieve necessary scan data and snapshots for audit bundle creation.
- Implemented methods to fetch scan metadata, advisory feeds, policy snapshots, and VEX statements.
- Created supporting interfaces for scan data, feed snapshots, and policy snapshots.
This commit is contained in:
StellaOps Bot
2025-12-23 07:46:34 +02:00
parent e47627cfff
commit 7e384ab610
77 changed files with 153346 additions and 209 deletions

View File

@@ -7,10 +7,16 @@ using StellaOps.Symbols.Client;
using StellaOps.Symbols.Core.Models;
using StellaOps.Symbols.Ingestor.Cli;
const string DeprecationDate = "2025-07-01";
const string MigrationUrl = "https://docs.stellaops.io/cli/migration";
return await RunAsync(args).ConfigureAwait(false);
static async Task<int> RunAsync(string[] args)
{
// Emit deprecation warning
EmitDeprecationWarning();
// Build command structure
var rootCommand = new RootCommand("StellaOps Symbol Ingestor CLI - Ingest and publish symbol manifests");
@@ -414,3 +420,23 @@ static async Task HealthCheckAsync(string serverUrl, CancellationToken cancellat
Environment.ExitCode = 1;
}
}
static void EmitDeprecationWarning()
{
var originalColor = Console.ForegroundColor;
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Error.WriteLine();
Console.Error.WriteLine("================================================================================");
Console.Error.WriteLine("[DEPRECATED] stella-symbols is deprecated and will be removed on " + DeprecationDate + ".");
Console.Error.WriteLine();
Console.Error.WriteLine("Please migrate to the unified stella CLI:");
Console.Error.WriteLine(" stella symbols ingest --binary <path> --server <url>");
Console.Error.WriteLine(" stella symbols upload --manifest <path> --server <url>");
Console.Error.WriteLine(" stella symbols verify --path <manifest>");
Console.Error.WriteLine(" stella symbols health --server <url>");
Console.Error.WriteLine();
Console.Error.WriteLine("Migration guide: " + MigrationUrl);
Console.Error.WriteLine("================================================================================");
Console.Error.WriteLine();
Console.ForegroundColor = originalColor;
}