namespace StellaOps.Excititor.Core; /// /// Policy abstraction supplying trust weights and gating logic for consensus decisions. /// public interface IVexConsensusPolicy { /// /// Semantic version describing the active policy. /// string Version { get; } /// /// Returns the effective weight (0-1) to apply for the provided VEX source. /// double GetProviderWeight(VexProvider provider); /// /// Determines whether the claim is eligible to participate in consensus. /// /// Normalized claim to evaluate. /// Provider metadata for the claim. /// Textual reason when the claim is rejected. /// true if the claim should participate; false otherwise. bool IsClaimEligible(VexClaim claim, VexProvider provider, out string? rejectionReason); }