/** * Rendering a result, for the two audiences that read it. * * ## Why the streams are split so strictly * * Under `--json`, standard output carries **exactly one JSON document and nothing else**. Everything * intended for a human — progress, findings, the verdict — goes to standard error. * * This is not tidiness. The review that produced this work found a case where an agent retried a * failing operation eight times because every error it captured was three hundred characters of * unrelated banner; the real failure is still unknown. A verdict an agent cannot parse is not a * verdict. So the machine channel carries one parseable thing, and anything that might contaminate * it goes elsewhere by construction rather than by care. */ import type { Finding } from "./types.js"; import type { ValidateResult } from "./run.js"; /** The machine channel: one document, nothing else. */ export declare function renderJson(result: ValidateResult): string; /** * One finding, for a human. * * Order is what / why / fix, because that is the order a reader needs them: what happened, whether * it matters, what to do. Evidence is deliberately absent — it is often large and is carried on the * JSON for whoever is debugging rather than skimming. */ export declare function renderFinding(finding: Finding): string; /** * The human channel. * * A passing run states what it proved **and what it did not** — a green line that lets a reader * infer more than was checked recreates, in a new place, the reporting problem this feature exists * to fix. */ export declare function renderHuman(result: ValidateResult): string; //# sourceMappingURL=report.d.ts.map