using System;
namespace StellaOps.Provcache;
///
/// Builder for constructing from evaluation results.
/// Ensures deterministic digest computation for cache consistency.
///
public sealed partial class DecisionDigestBuilder
{
private string? _veriKey;
private string? _verdictHash;
private string? _proofRoot;
private ReplaySeed? _replaySeed;
private DateTimeOffset? _createdAt;
private DateTimeOffset? _expiresAt;
private int? _trustScore;
private TrustScoreBreakdown? _trustScoreBreakdown;
private readonly ProvcacheOptions _options;
private readonly TimeProvider _timeProvider;
///
/// Creates a new DecisionDigestBuilder with default options.
///
public DecisionDigestBuilder() : this(new ProvcacheOptions(), TimeProvider.System)
{
}
///
/// Creates a new DecisionDigestBuilder with the specified options.
///
/// Provcache configuration options.
/// Time provider for timestamps.
public DecisionDigestBuilder(ProvcacheOptions options, TimeProvider? timeProvider = null)
{
_options = options ?? throw new ArgumentNullException(nameof(options));
_timeProvider = timeProvider ?? TimeProvider.System;
}
}