/** * DISCOVERY EFFICIENCY η — a new equation. Every optimizer reports ONE number: the best value found. But * "best" lies. A run can post a dazzling peak that (a) is barely better than blind guessing, (b) sits on a * knife-edge that collapses the moment reality wobbles, or (c) is an artefact of a drift the variables never * caused. A single high number hides all three. η refuses to. * * η = ∛( G · R · T ) * * G — GAIN captured: how much of the *achievable* headroom you actually took, * G = (best − blind) / (ceiling − blind), blind = mean of your measurements, ceiling = Lipschitz max. * R — ROBUSTNESS of the optimum: flat plateau → 1, sharp fragile spike → 0, R = 1 / (1 + κ), * κ = the response curvature at the peak (per unit, normalised). * T — TRUST: results not confounded with time, T = 1 − driftFraction. * * The black-sheep choice is the GEOMETRIC mean, not the weighted sum everyone else uses. A sum lets a * brilliant score on one axis paper over a zero on another — exactly the lie we're trying to kill. The * geometric mean is CONJUNCTIVE: if any one of gain, robustness, or trust collapses toward zero, η collapses * with it. You cannot fake discovery efficiency by being good at one thing; you have to be good at all three * at once. That single property is what makes η honest. * * Honest by construction (DIAKRISIS): η is a NEW composite we define, and each of G, R, T is independently * measured from your own data (not assumed) — the gauntlet proves η rises only when a run is genuinely * better AND robust AND trustworthy, and that a weak link in any one factor drags it down. Robust * optimization is a known goal; the specific closed-form fusion and its falsifiable self-test are ours. It * abstains on thin data rather than invent a score. */ import { type Space } from "./space.js"; import { type Observation, type Goal } from "./engine.js"; export interface EfficiencyReport { eta: number; gain: number; robustness: number; trust: number; evaluations: number; grade: "exceptional" | "strong" | "fair" | "weak" | "unknown"; weakestLink: "gain" | "robustness" | "trust" | null; note: string; } /** Compute the Discovery Efficiency η of a finished (or in-progress) run. */ export declare function discoveryEfficiency(obs: ReadonlyArray, space: Space, goal?: Goal): EfficiencyReport; export declare function efficiencyGauntlet(): { score: 0 | 100; checks: Array<{ name: string; pass: boolean; detail: string; }>; }; //# sourceMappingURL=efficiency.d.ts.map