/** * Long-horizon integration. * * Routing reconsiders model/topology/retrieval/budget/review at governed phase * boundaries — never after every tool call. Phase state remains authoritative; * routing changes never rewrite history; the current transaction completes or * rolls back before an incompatible strategy change; cleanup obligations * survive routing changes; context handoff is bounded and validated. */ import type { OrchestrationCandidate, OrchestrationDecision } from "./types.js"; export type ReconsiderBoundary = "initial_planning" | "post_investigation" | "pre_mutation" | "post_validation_failure" | "pre_review" | "pre_release"; /** All governed boundaries. Routing never reconsiders between these. */ export declare const RECONSIDER_BOUNDARIES: readonly ReconsiderBoundary[]; export interface LongHorizonConstraint { /** A transaction is in progress; an incompatible strategy change must wait. */ transactionInProgress: boolean; /** TODOs remain advisory (never authoritative for routing). */ todoRemainsAdvisory: boolean; /** Outstanding cleanup obligations must survive any routing change. */ cleanupObligations: string[]; /** Configured and resolved model must stay distinct. */ configuredAndResolvedDistinct: boolean; } export interface ReconsiderResult { boundary: ReconsiderBoundary; allowed: boolean; reasonCodes: string[]; preferredCandidate?: OrchestrationCandidate; handoff: { bounded: boolean; validated: boolean; contextPacketSize: number; }; } /** * Decide whether routing may reconsider at a given boundary. * - Routing reconsiders only at governed boundaries. * - If a transaction is in progress, an incompatible strategy change is held * until the transaction completes or rolls back (allowed=false with reason). */ export declare function canReconsider(boundary: ReconsiderBoundary, _decision: OrchestrationDecision, options: { transactionInProgress?: boolean; allowedBoundaries?: readonly ReconsiderBoundary[]; }): ReconsiderResult; //# sourceMappingURL=long-horizon.d.ts.map