/** Per-instance outcome from a conformant cascade eval run on the held-out set. */ export interface CascadeOutcome { instance_id: string; /** Did the cheap tier resolve it WITHOUT escalating? */ cheapResolved: boolean; /** Did the run escalate to the frontier tier? */ escalated: boolean; /** Final resolved status (cheap OR post-escalation), from gold eval. */ resolved: boolean; /** Measured $ for this instance (cheap + any escalation). */ costUsd: number; } /** The cost-Pareto summary for one eval run (base OR adapter). */ export interface CascadeSummary { n: number; /** Fraction the CHEAP tier resolved alone. */ cheapResolveRate: number; /** Fraction of runs that escalated to the frontier tier. */ escalationRate: number; /** Final resolve rate (the headline, expected ~unchanged — ceiling unmoved). */ resolveRate: number; /** Mean $ per RESOLVED instance (the cost-Pareto figure of merit). */ costPerResolved: number; /** Total $ across the run. */ totalCostUsd: number; } /** The delta between an adapter run and the base run — the cost-Pareto win. */ export interface CostParetoDelta { base: CascadeSummary; adapter: CascadeSummary; /** adapter.cheapResolveRate − base.cheapResolveRate (want > 0). */ cheapResolveLift: number; /** base.escalationRate − adapter.escalationRate (want > 0 — FEWER escalations). */ escalationRateReduction: number; /** base.costPerResolved − adapter.costPerResolved (want > 0 — cheaper). */ costPerResolvedReduction: number; /** adapter.resolveRate − base.resolveRate (expected ≈ 0 — ceiling unmoved). */ resolveRateDelta: number; /** Honest verdict string for telemetry. */ verdict: string; } /** Fold per-instance cascade outcomes into the cost-Pareto summary. */ export declare function summarizeCascade(outcomes: CascadeOutcome[]): CascadeSummary; /** * Compute the cost-Pareto delta between an adapter run and the base run. * Stays HONEST: the headline is escalation-rate-reduction + cost/resolved, and * the verdict flags when the resolve ceiling is (as expected) unmoved. */ export declare function costParetoDelta(baseOutcomes: CascadeOutcome[], adapterOutcomes: CascadeOutcome[]): CostParetoDelta; //# sourceMappingURL=eval.d.ts.map