EvidenceFloorGate

class EvidenceFloorGate constructor(relations: Relations, authorityResolver: AuthorityResolver = StructuralAuthorityResolver(), caseSensitive: Boolean = false) : ExtractionGate

Stops a cheap structural signal from being asserted as a strong claim.

Matches a proposition to a declared com.embabel.dice.common.Relation by checking whether the relation's predicate appears in the proposition text. If that relation declares an com.embabel.dice.common.EvidenceFloor and the proposition's decay-adjusted confidence and source authority clear it, the proposition persists. If it falls short, the gate either demotes the assertion to the floor's weaker predicate (GateDecision.Demote) or, when the floor names none, holds it for review (GateDecision.RouteToReview).

The mechanism is generic; the policy is not. DICE only checks the floor a relation declares — what "works for" demotes to, and how high its bar sits, are the consumer's to configure on each relation. The gate never mutates the proposition: it routes, leaving the proposition canonical.

Fail-open: a proposition that matches no declared relation, or matches one with no floor, persists.

Constructors

Link copied to clipboard
constructor(relations: Relations, authorityResolver: AuthorityResolver = StructuralAuthorityResolver(), caseSensitive: Boolean = false)

Functions

Link copied to clipboard
open override fun evaluate(proposition: Proposition, context: GateContext): GateEvaluation

Evaluate a single proposition against this gate's policy.