// SPDX-License-Identifier: BUSL-1.1 // Copyright (c) 2026 StellaOps // Sprint: SPRINT_20260118_030_LIB_verdict_rekor_gate_api // Task: TASK-030-005 - Gate Decision Logic (interface for TASK-030-002) using StellaOps.Signals.EvidenceWeightedScore; namespace StellaOps.DeltaVerdict.Bundles; /// /// Evaluates gate decisions based on scoring results and configuration. /// public interface IGateEvaluator { /// /// Evaluates gate decision for a single finding. /// /// Final score [0, 1]. /// Original EWS input for context. /// Gate configuration with thresholds. /// Evaluation timestamp. /// Gate decision with action, reason, and suggestions. GateDecision Evaluate( double finalScore, EvidenceWeightedScoreInput input, GateConfiguration config, DateTimeOffset evaluatedAt); /// /// Evaluates gate decisions for multiple findings in batch. /// /// Collection of score/input pairs. /// Gate configuration with thresholds. /// Evaluation timestamp. /// Gate decisions for each finding. IReadOnlyList EvaluateBatch( IReadOnlyList<(double FinalScore, EvidenceWeightedScoreInput Input)> findings, GateConfiguration config, DateTimeOffset evaluatedAt); }