/** * TERRITORY — the leap-into-the-unknown detector. Virgin ground no optimizer maps: when the engine hands you * the next experiment, is it a SAFE REFINEMENT (sitting inside the region you've already measured, so the * prediction is supported by data) or a BOLD LEAP (out beyond everything you've tried, where the score is * essentially a guess)? * * For an expensive or dangerous experiment this is the difference between a routine tweak and a shot in the * dark that could waste a batch or stress a machine. Bayesian optimisers deliberately explore into the * unknown — but they never TELL the operator "heads up, this one is a leap". TERRITORY does: it measures how * far a proposal sits from your data relative to the data's own spacing, classifies it refine / explore / * leap, and reports how much of the space you've actually charted (the unexplored gaps). * * Honest by construction (DIAKRISIS): novelty is relative to YOUR sampling density (a leap means "much * farther than your points usually sit from each other", not an absolute safety claim); it abstains with too * little data. Decision support for where you're stepping — not a guarantee the leap is bad (leaps are often * how you find the big win) or that a refinement is correct. */ import { type Space, type Experiment } from "./space.js"; import { type Observation } from "./engine.js"; export interface TerritoryAssessment { classification: "refine" | "explore" | "leap" | "unknown"; noveltyScore: number; nearestDist: number; typicalDist: number; note: string; } /** Is `proposal` a safe refinement inside the measured region, or a leap into unmeasured territory? */ export declare function assessTerritory(proposal: Experiment, obs: ReadonlyArray, space: Space): TerritoryAssessment; /** Fraction of the search space that has been charted (a coarse grid; how many cells hold a measurement). */ export declare function coverageScore(obs: ReadonlyArray, space: Space): { coverage: number; cells: number; filled: number; }; export declare function territoryGauntlet(): { score: 0 | 100; checks: Array<{ name: string; pass: boolean; detail: string; }>; }; //# sourceMappingURL=territory.d.ts.map