import type { EvidenceRecord, GoalState } from "../domain/types.js"; import type { SemanticRequirementResult } from "./semantic.js"; export interface ProcessTurnExpectation { turns: number; mode: "exactly" | "atLeast"; requireMutationPerTurn: boolean; } /** * Conservatively recognize explicit process requirements that the host can * corroborate without trusting the verifier model. We intentionally do not * infer a turn count from vague phrases such as "within 10 turns" because * those describe a budget/upper bound rather than a required cadence. */ export declare function inferProcessTurnExpectation(text: string): ProcessTurnExpectation | undefined; /** * Fail closed when a verifier model claims an explicit N-turn process was * proven but host-owned runtime evidence does not establish that cadence. * * When the requirement explicitly asks for a workspace mutation in every Goal * turn, mutation fingerprints are the stronger temporal proof: the runtime * cadence boundary prevents a second successful file mutation in the same * Goal-owned turn. N distinct mutation fingerprints therefore establish N * distinct mutation turns without relying on OpenCode's lower-level assistant * message accounting, which may contain extra tool-loop messages inside one * logical Goal turn. */ export declare function guardSemanticProcessResults(goal: GoalState, results: SemanticRequirementResult[], hostEvidenceRecords: EvidenceRecord[]): SemanticRequirementResult[]; //# sourceMappingURL=process.d.ts.map