/** * Evidence runners. * * Cheap tier (STATIC_CHECK, COMMIT_REF) runs on every `git pull` via hooks. * Expensive tier (TEST_RESULT, EXEC_TRACE) runs only with deep=true * (`dim verify --deep`) so hook-triggered verification stays fast. */ import type { Evidence, EvidenceResult } from "../types.js"; export interface RunOutcome { evidenceId: string; type: Evidence["type"]; result: EvidenceResult | "SKIPPED"; detail: string; } export interface RunOptions { /** Run the expensive tier (TEST_RESULT, EXEC_TRACE). Default false — cheap tier only. */ deep?: boolean; /** * Trust gate for executable evidence (STATIC_CHECK/TEST_RESULT/EXEC_TRACE): * payloads run shell commands, so only locally-approved ones may execute. * Returns true if the payload is approved on this machine. Omitted = trust * everything (unit tests / explicit --trust runs). */ isTrusted?: (payload: string) => boolean; } export declare function runEvidence(ev: Evidence, repoRoot: string, opts?: RunOptions): RunOutcome;