/** * TRANSFER / WARM-START — the brain that remembers, and gets smarter every time. Real labs don't optimize a * brand-new process from scratch each morning; they run things that RHYME with what they ran before — the * same assay on a new compound, the same kiln with a new clay, the same model on a new dataset. A * from-scratch optimizer throws that history away and re-discovers the obvious. TRANSFER doesn't: it mines a * prior run for the regions that worked and starts the new search THERE, so you spend your first precious * experiments near the answer instead of wandering. * * warmStartSeeds pulls the diverse high-value settings out of a prior run; transferDiscover evaluates those * first on the new process, then continues the normal propose-measure loop. When the new problem is similar * to the old one, you reach a strong result in far fewer NEW experiments. * * Honest by construction (DIAKRISIS): transfer helps to the extent the new problem RESEMBLES the prior one — * the seeds are the prior's promising regions, re-measured on the new process (never assumed). If the new * optimum has moved far away, the seeds simply don't score well and the normal search takes over — no harm, * no false speed-up. The gauntlet measures the advantage on a genuinely similar problem, head-to-head * against a cold start; it abstains (falls back to cold) when there's no usable prior. */ import { type Space, type Experiment } from "./space.js"; import { type Observation, type Goal } from "./engine.js"; /** The diverse, high-value settings from a prior run — the regions worth re-checking on a similar new process. */ export declare function warmStartSeeds(priorObs: ReadonlyArray, space: Space, goal?: Goal, k?: number): Experiment[]; export interface TransferResult { best: Observation; evaluations: number; warmStarted: boolean; obs: Observation[]; } /** Run a discovery on a NEW process, warm-started from a prior (similar) run's promising regions. */ export declare function transferDiscover(opts: { space: Space; oracle: (e: Experiment) => number; priorObs?: ReadonlyArray; budget: number; goal?: Goal; seed?: number; }): TransferResult; export declare function transferGauntlet(): { score: 0 | 100; checks: Array<{ name: string; pass: boolean; detail: string; }>; }; //# sourceMappingURL=transfer.d.ts.map