Runtime & Integrations · Evaluation Core

Authority Resolution

May this metric gate at all?

resolve_authority(AuthorityInputs) → ResolvedAuthority climbs a three-stage ladder: not authorized ⇒ informational, authorized but evidence unsound ⇒ blocked, fully authorized ⇒ can_gate. The reasons are typed codes, not prose.

This is the code behind Authority. It reads only typed, host-owned inputs — dataset status, metric status, threshold approval, judge calibration, data policy, baseline state — and returns a structured result the Verdict Engine consumes.

The ladder

StageTriggersResult
1 · not authorizedmetric not gating; threshold not approved (threshold_proposed); dataset proposed; judge uncalibrated/calibrating.informational
2 · evidence unsoundpolicy not in {permitted, redacted}; judge drifted/retired; dataset retired; required baseline not comparable.blocked
3 · fully authorizednone of the above.can_gate

Each non-pass stage attaches typed reason codes — threshold_proposed, judge_drifted, baseline_not_comparable, policy_forbidden — that travel onto the Scorecard’s authority block.

Data policy is a hard gate The accepted egress set is exactly {permitted, redacted} (_POLICY_OK). A forbidden, missing, or unknown policy blocks an otherwise-authorized gate — evidence you may not use cannot back a claim.

Next steps