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; } }