export declare const NATIVE_REPAIR_SIGNATURE_SCHEMA: "comet.native.repair-signature.v1"; export declare const NATIVE_REPAIR_STAGNATION_LIMITS: { readonly warningAtConsecutiveFailures: 2; readonly manualStopAtConsecutiveFailures: 3; readonly maxHistoryRecords: 64; readonly maxFailedAcceptanceIds: 1024; readonly maxFailedCheckIds: 128; readonly maxOverrideSummaryCharacters: 2000; }; export interface NativeRepairFailureFacts { contractHash: string; implementationScopeHash: string; artifactSnapshotHash: string; failedAcceptanceIds: readonly string[]; failedCheckIds: readonly string[]; } export interface NativeRepairSignature { schema: typeof NATIVE_REPAIR_SIGNATURE_SCHEMA; contractHash: string; failedAcceptanceIds: string[]; failedCheckIds: string[]; signatureHash: string; } export interface NativeRepairFailureRecord { kind: 'failure'; revision: number; iteration: number; signatureHash: string; failedAcceptanceIds?: string[]; failedCheckIds?: string[]; } export interface NativeRepairOverrideRecord { kind: 'override'; revision: number; iteration: number; signatureHash: string; summaryHash: string; } export type NativeRepairHistoryRecord = NativeRepairFailureRecord | NativeRepairOverrideRecord; export interface NativeRepairOverrideRequest { expectedSignatureHash: string; summary: string; } export interface NativeRepairStagnationDecision { disposition: 'continue' | 'warn' | 'manual-stop' | 'hard-stop'; reasonCode: 'new-failure-signature' | 'repeated-failure-warning' | 'repeated-failure-stop' | 'override-accepted' | 'override-already-used' | 'repair-iteration-limit'; signature: NativeRepairSignature; consecutiveFailures: number; totalRepairFailures: number; remainingIterations: number; overrideAccepted: boolean; } export declare function normalizeNativeRepairFailedCheckIds(values?: readonly string[]): string[]; export declare function buildNativeRepairSignature(facts: NativeRepairFailureFacts): NativeRepairSignature; export declare function nativeRepairConsecutiveFailures(current: Pick, failures: readonly NativeRepairFailureRecord[]): number; export declare function hashNativeRepairOverrideSummary(summary: string): string; /** * Decide an override for a failure that was already committed as a manual stop. * * Unlike `decideNativeRepairStagnation`, this function does not add another failure attempt. The * accepted override belongs to the following Build-to-Verify transition. */ export declare function decideNativeRepairOverride(options: { facts: NativeRepairFailureFacts; history: readonly NativeRepairHistoryRecord[]; override: NativeRepairOverrideRequest; maxVerifyFailures: number; }): NativeRepairStagnationDecision; /** * Decide whether another Verify-fail repair loop is useful. * * The caller persists failure/override events; this pure function never weakens a test, changes a * phase, or invents a pass result. */ export declare function decideNativeRepairStagnation(options: { facts: NativeRepairFailureFacts; history: readonly NativeRepairHistoryRecord[]; maxVerifyFailures: number; override?: NativeRepairOverrideRequest | null; }): NativeRepairStagnationDecision; //# sourceMappingURL=native-repair-stagnation.d.ts.map