Reporting & result shapes

ExportSignature
CheckResult{ id, name, pass, detail, skipped?, skipReason?, destructive?, error? }
checkStatus(result)returns "PASS" | "FAIL" | "ERROR" | "SKIP"
summarize(results)returns { passed, failed, errored, skipped, exitCode }exitCode is 0 | 1 | 2, shared by both front ends so they can never disagree about the same run
errored(id, name, error)Builds an ERROR result — mostly useful writing your own check
skipped(id, name, reason)Builds a non-destructive SKIP result
skippedDestructive(id, name, reason)Builds a SKIP result for a destructive check not opted into

Every check's exact pass criteria and spec reference is in the Check Catalogue.