/** * Receipt gate criterion, computed at the command layer after `evaluateGate`. * * Follows the `gate-criterion.ts` convention of `traceability/`, `tasks/` and * `compliance/`: an evaluator plus a message helper, registered in `commands/gate.ts` * and `commands/transition.ts`. It returns `null` outside the testing phase and in * solo mode, so a project that never opted in gets no field, no warning and no git * call (tool-written-test-receipts/AC-19, AC-23). * * `test-results.md` is never read here. That is what makes AC-12 hold: no prose can * pass a receipt whose exit code is not 0. * * Requirements: tool-written-test-receipts/AC-11 to AC-19, AC-23 */ export type ReceiptStatus = 'ok' | 'not-configured' | 'missing' | 'unreadable' | 'command-changed' | 'failed' | 'dirty' | 'stale'; export interface ReceiptResult { mode: 'verified'; status: ReceiptStatus; /** The receipt's commit, when one was read. */ commit: string | null; exit_code: number | null; /** The first paths that made the receipt stale, at most `MAX_CHANGED`. */ changed: string[]; warnings: string[]; } export declare function evaluateReceiptCriterion(projectRoot: string, instance: string, phase: string): ReceiptResult | null; /** One line naming why the receipt was refused (AC-18). */ export declare function receiptMessage(r: ReceiptResult, instance: string): string; //# sourceMappingURL=gate-criterion.d.ts.map