Rename Vexer to Excititor
This commit is contained in:
26
src/StellaOps.Excititor.Core/IVexConsensusPolicy.cs
Normal file
26
src/StellaOps.Excititor.Core/IVexConsensusPolicy.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
namespace StellaOps.Excititor.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Policy abstraction supplying trust weights and gating logic for consensus decisions.
|
||||
/// </summary>
|
||||
public interface IVexConsensusPolicy
|
||||
{
|
||||
/// <summary>
|
||||
/// Semantic version describing the active policy.
|
||||
/// </summary>
|
||||
string Version { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Returns the effective weight (0-1) to apply for the provided VEX source.
|
||||
/// </summary>
|
||||
double GetProviderWeight(VexProvider provider);
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether the claim is eligible to participate in consensus.
|
||||
/// </summary>
|
||||
/// <param name="claim">Normalized claim to evaluate.</param>
|
||||
/// <param name="provider">Provider metadata for the claim.</param>
|
||||
/// <param name="rejectionReason">Textual reason when the claim is rejected.</param>
|
||||
/// <returns><c>true</c> if the claim should participate; <c>false</c> otherwise.</returns>
|
||||
bool IsClaimEligible(VexClaim claim, VexProvider provider, out string? rejectionReason);
|
||||
}
|
||||
Reference in New Issue
Block a user