/**
 * `check_destination` primitive — LLM-judged goal-alignment check.
 *
 * The second anti-drift category (per `docs/opensquid-real-design.md`
 * §"Anti-drift split"): a periodic check that compares the agent's recent
 * actions to the pack's declared goal and surfaces a `block` verdict when
 * the agent has drifted off-mission. Distinct from track_check (which is
 * deterministic regex / state matching) — this one delegates the judgement
 * to a classifier LLM via the model-aliased subprocess primitive.
 *
 * Model neutrality (per the "stop drifting on model names" feedback memory
 * + the model-neutral subagent-primitive memory): this file names NO
 * vendor model. The default alias is `'reasoning'` — a task-purpose label
 * that the user maps to a concrete backend in `models.yaml`. A vendor-name
 * grep over this file should return zero hits; treat any future addition
 * as a regression.
 *
 * Failure semantics:
 *
 *   - `llm_classify` clamps every classifier error to `'UNCERTAIN'` (see
 *     `src/functions/llm.ts` header). The one exception is `arg_invalid`
 *     for an unknown alias — that's a config error and surfaces as an `err`
 *     here so the user fixes their `models.yaml`.
 *
 *   - Label policy:
 *       'DRIFTING'          → block verdict, message names the goal
 *       'ON_GOAL'           → pass verdict, empty message
 *       'UNCERTAIN' / other → pass verdict (conservative — never block on
 *                             classifier confusion; auditors track the
 *                             'UNCERTAIN' rate as a misconfiguration signal)
 *
 * This is registered via `registerDestinationCheckFunction(registry)` and
 * not auto-bundled into `registerLlmFunctions` because (a) it's a composite
 * primitive (it calls `llm_classify` underneath) and (b) callers may want
 * to wire it conditionally once Phase 4.3 ships the scheduler.
 *
 * Phase 4.2 imports it into `runtime/bootstrap.ts` so the standard runtime
 * registry includes `check_destination` alongside the other primitives.
 *
 * Imports from: zod, ../runtime/result.js, ./registry.js.
 * Imported by: src/functions/index.ts, src/runtime/bootstrap.ts.
 */
import type { FunctionRegistry } from './registry.js';
export interface CheckDestinationResult {
    level: 'pass' | 'block';
    message: string;
}
export declare function registerDestinationCheckFunction(registry: FunctionRegistry): void;
//# sourceMappingURL=destination_check.d.ts.map