Read-only integrity audits

Find broken links, incomplete declared provenance, and source/index drift locally—with stable evidence and no automatic repair.

A workspace can decay quietly: a renamed note leaves links behind, an imported record loses required provenance, or source files move ahead of the index. gno audit answers one bounded question: what observable integrity evidence needs attention right now?

gno audit
gno audit links --collection notes --path projects
gno audit provenance --json
gno audit freshness --max-age-days 90 --json --output audit.json

Three deterministic categories

Complete findings, honest gaps

Human output and JSON use one report. Finding IDs are stable for the same rule, subject, location, and evidence. --max-findingsbounds returned detail while exact totals remain visible. Exit 0 is clean, 4 is complete with findings, and 5 means evidence was partial, unavailable, inconclusive, cancelled, or kept changing after one bounded retry.

The read-only MCP tool gno_audit returns the same report with collection, path, tag, age, and orphan-policy inputs. Both surfaces run offline. They do not write notes, config, index rows, graph edges, daemon state, findings, baselines, or suppressions.

Deliberate non-goals

Audit v1 reports; it does not repair. There is no contradiction judge, citation generator, maintenance scheduler, hidden overnight job, or preview/apply mutation. Review the evidence and choose any follow-up yourself. gno egress-audit is unrelated: it manages content-free receipts for transport-policy decisions.