export interface ArtifactValidationResult { status: "ok" | "error"; issue_count: number; issues: string[]; /** * What the DISCOVERY-based scans actually examined. * * An empty `issues` array is not evidence of a clean run — it is equally the * signature of a scan that matched nothing. Both dispatch discovery filters * matched zero files a live run produces (one scanned a retired artifact name, * the other a result filename no producer mints), so `status: "ok"` was * returned for runs whose entire submission surface went unchecked. Reporting * the counts makes "clean" and "never looked" different answers. */ scan: { /** Host submissions found under runs/ at the filenames the tool mints. */ submissions_discovered: number; /** Of those, the ones whose payload was read and contract-checked. */ submissions_validated: number; /** Cross-artifact contract-pipeline gates that actually ran. */ gates_evaluated: number; /** Gates that could not run because their input was absent or malformed. */ gates_skipped: number; }; } export declare function validateArtifacts(artifactsDir: string, root?: string): Promise; //# sourceMappingURL=artifacts.d.ts.map