/** * 🛡 AEGIS — the Self-Aware Engine. Every optimizer on earth chases the single highest number. AEGIS refuses * to. A tall spike perched on a cliff edge is a trap: it scores beautifully in the lab and fails the morning * the temperature drifts 1°, the reagent batch changes, the operator's hand wobbles. AEGIS optimizes for the * value that SURVIVES the real world — it watches its own search, learns where the cliffs and fragile spikes * are, and deliberately steers toward a broad, stable optimum, even when a more fragile setting scores * slightly higher. * * This is what makes it "self-aware": the same diagnostics Melete reports to humans (local steepness, cliff * proximity, robustness) are fed back IN to drive the engine. Its acquisition isn't "highest predicted * value" — it's "highest predicted value that also holds when you nudge it." And its final answer isn't the * raw maximum, it's the best ROBUST optimum. No competitor's optimizer does this: they hand you the spike, * then act surprised when it doesn't reproduce. * * Honest by construction (DIAKRISIS): robustness is estimated from your real data — how much the value * changes for a small move, measured from the nearest measurements — not assumed. AEGIS trades a little raw * peak height for a lot of stability; if you genuinely want the absolute spike, a plain maximiser still * exists. The gauntlet proves it head-to-head: on a tall-fragile-spike-vs-broad-stable-peak landscape, AEGIS * returns the setting that survives a real-world wobble while a plain maximiser returns the one that collapses. */ import { type Space, type Experiment } from "./space.js"; import { type Observation, type Goal } from "./engine.js"; export interface AegisResult { best: Observation; rawBest: Observation; robustnessOfBest: number; tradedHeight: number; evaluations: number; obs: Observation[]; } /** * Run a self-aware discovery: search with a robustness-weighted acquisition and return the best STABLE * optimum (not the fragile spike). `robustWeight` 0 = pure height (a normal maximiser), 1 = strongly favour * flat regions. */ export declare function aegisDiscover(opts: { space: Space; oracle: (e: Experiment) => number; budget: number; goal?: Goal; seed?: number; robustWeight?: number; }): AegisResult; export declare function aegisGauntlet(): { score: 0 | 100; checks: Array<{ name: string; pass: boolean; detail: string; }>; }; //# sourceMappingURL=aegis.d.ts.map