import { type FlywheelResult } from './harness-flywheel.js'; import { type GenerationResult } from './harness-flywheel-generations.js'; import { type DarwinInvoker, type ProposerMode, type SafetyEnvelope } from './flywheel-proposer.js'; /** * The ADR-322 retrieval safety envelope. * * It MUST describe the policy surface the proposer actually emits — * `RetrievalConfig`. The v1 envelope allowed `topK`/`rerank`, which are * `neural_patterns` search-call arguments not representable in * `RetrievalConfig`, while omitting the three weight axes that * `retrievalPolicyNeighbors` does mutate. Because `validateCandidate` checks * EVERY key of a candidate policy (candidates are full snapshots, not deltas), * that drift made every locally-proposed candidate inadmissible and the local * evaluation path unreachable — no receipt, therefore no promotion, ever. * * Every axis carries a finite bound: an allowed key WITHOUT bounds is an * unbounded key, because `validateCandidate` applies bounds only when present. * A Darwin proposer could otherwise submit arbitrary weights on the three axes. * * Exported so tests can bind the REAL envelope to the REAL proposer; the drift * survived review precisely because no test wired those two together. */ export declare function retrievalSafetyEnvelope(ref?: string): SafetyEnvelope; /** * Run one live flywheel tick against `projectRoot`. Opt-in + $0 default: with * RUFLO_HARNESS_LOOP unset it is a no-op. Best-effort; never throws. */ export declare function runFlywheelWorker(projectRoot: string, opts?: { sample?: number; optInOverride?: boolean; now?: number; receiptPrivateKeyPem?: string; receiptPublicKeyPem?: string; lineageId?: string; evaluationRunId?: string; safetyEnvelopeRef?: string; proposer?: ProposerMode; darwinInvoker?: DarwinInvoker; allowSubstitutionPromotion?: boolean; maxConcurrency?: number; evaluationTimeoutMs?: number; anchorPath?: string; anchorHash?: string; anchorManifestPath?: string; }): Promise; /** * Run ONE live COMPOUNDING generation against the persisted lineage (ADR-176 * A-P3b — the autonomy loop). Reads the current champion as baseline, evaluates * a constrained candidate on the frozen self-supervised held-out with the human * anchor guard, and — on a verified promotion — advances the champion so the * NEXT daemon tick compounds on it. Shadow-first (serve lags one tick). Opt-in, * $0 default; never throws. */ export declare function runFlywheelGenerationWorker(projectRoot: string, opts?: { sample?: number; optInOverride?: boolean; now?: number; anchorPath?: string; anchorHash?: string; anchorManifestPath?: string; }): Promise; //# sourceMappingURL=harness-flywheel-runtime.d.ts.map