import type { ModelFitnessReport } from "../research/model-fitness.ts"; /** * Fitness applicability doctrine: Class A autonomous adoption requires proof; Class B routed turns * are subtractive-only and pass unprobed models. Compaction is always-on subtractive composition: * digest-failed probed cheap summarizers fall back, while unprobed models pass. Class C explicit * user choices are deliberately not selection-gated here. The `search` lane is probed and reported * but has no selection-time consumer yet. */ export type FitnessGatedSurface = "compaction" | "router_cheap" | "router_medium" | "router_expensive" | "router_judge" | "executor" | "curation" | "scout_auto"; export type FitnessGateVerdict = { fit: true; probed: boolean; } | { fit: false; reason: "unprobed"; } | { fit: false; reason: "lane_failed"; lane: string; succeeded: number; total: number; }; export declare function laneMeetsFitnessBar(succeeded: number, total: number): boolean; export declare function evaluateSurfaceFitness(surface: FitnessGatedSurface, report: ModelFitnessReport | undefined): FitnessGateVerdict; //# sourceMappingURL=fitness-gate.d.ts.map