/** * Evidence-backed success criteria. * * Machine-readable acceptance criteria. A required criterion can never be * silently waived; a criterion can be marked satisfied only when its required * evidence is present. Test claims require test artifacts, publication claims * require registry verification, user-observation criteria remain pending until * real user evidence is supplied, and the model cannot fabricate them. */ import type { AcceptanceCriterion } from "./types.js"; export interface EvidenceRecord { evidenceId: string; category: string; description?: string; } export interface CriteriaState { criteria: readonly AcceptanceCriterion[]; } export declare function createCriteriaState(criteria: AcceptanceCriterion[]): CriteriaState; /** * Attempt to satisfy a pending criterion from supplied evidence records. * Returns the new status and whether it changed (the model cannot self-mark * satisfied without matching evidence). */ export declare function evaluateCriteriaSatisfaction(state: CriteriaState, evidence: readonly EvidenceRecord[], _options?: { userId?: string; }): { state: CriteriaState; changed: boolean; }; /** Mark a criterion satisfied only with matching evidence; reject prose claims. */ export declare function trySatisfyCriterion(state: CriteriaState, criterionId: string, evidence: readonly EvidenceRecord[]): CriteriaState; /** Count satisfied vs pending/failed/blocked for completion evaluation. */ export declare function criterionSummary(state: CriteriaState): { satisfied: number; pending: number; failed: number; blocked: number; waived: number; total: number; }; //# sourceMappingURL=criteria.d.ts.map