/** * The `--fail-under ` CI gate (M8): a pure predicate turning a run's * headline score into an exit code. * * Honest: any run flagged partial by `isPartialRun` (cost cap, degraded profile, * skipped engines, or an engine that answered only some prompts) produces a partial * score, so the result is flagged {@link FailUnderResult.partial} and says so - * the caller (M11 CLI) decides how loudly to surface it, but the number is * never presented as a full-confidence measurement. */ import { type VisibilityEnvelope } from './envelope.js'; /** Outcome of a `--fail-under` check. */ export interface FailUnderResult { /** Whether the gate passed (no threshold, or score >= threshold). */ passed: boolean; /** Process exit code: 0 pass, 1 fail (CI convention). */ exitCode: number; /** The run was partial (see `partialCauses`); the score is an incomplete sample. */ partial: boolean; /** Human-readable one-liner explaining the outcome. */ reason: string; } /** * Evaluate the `--fail-under` gate. With no threshold the gate always passes. */ export declare function failUnder(envelope: VisibilityEnvelope, threshold?: number): FailUnderResult;