// -----------------------------------------------------------------------------
// VerifierOptions.cs
// Sprint: SPRINT_20260121_036_BinaryIndex_golden_corpus_bundle_verification
// Task: GCB-003 - Implement standalone offline verifier
// Description: Options for bundle verification
// -----------------------------------------------------------------------------
namespace StellaOps.Verifier;
///
/// Options for bundle verification.
///
public sealed class VerifierOptions
{
///
/// Path to the bundle file to verify.
///
public required string BundlePath { get; init; }
///
/// Path to trusted public keys file.
///
public string? TrustedKeysPath { get; init; }
///
/// Path to trust profile JSON file.
///
public string? TrustProfilePath { get; init; }
///
/// Path to write verification report.
///
public string? OutputPath { get; init; }
///
/// Output format for the report.
///
public ReportFormat OutputFormat { get; init; } = ReportFormat.Markdown;
///
/// Whether to verify signatures.
///
public bool VerifySignatures { get; init; } = true;
///
/// Whether to verify timestamps.
///
public bool VerifyTimestamps { get; init; } = true;
///
/// Whether to verify digests.
///
public bool VerifyDigests { get; init; } = true;
///
/// Whether to verify pair artifacts.
///
public bool VerifyPairs { get; init; } = true;
///
/// Suppress output except for errors.
///
public bool Quiet { get; init; }
///
/// Show detailed verification output.
///
public bool Verbose { get; init; }
}
///
/// Report output format.
///
public enum ReportFormat
{
///
/// Markdown format.
///
Markdown,
///
/// JSON format.
///
Json,
///
/// Plain text format (for terminal output).
///
Text
}