Problem
A traditional audit checks 5–10% of transactions and extrapolates. That’s slow, expensive, and structurally blind: an error sitting outside the sample is never seen at all. On the bundled ledger, a 10% sample would review about 301 transactions and catch roughly 7 of the 66 real findings, leaving 34 of the 38 high-severity ones unreviewed.
System
CSV / XLSX → normalize → rules + statistics → explain → reviewer queue, with a report and a Slack alert at the end. Rules cover the categorical failures (duplicates, round-number patterns, off-schedule payments); per-cohort statistics catch the outliers a rule can’t name. Every finding carries a plain-English explanation of why it was flagged, and the queue is ranked by severity so a reviewer starts at the top and can stop when the findings get trivial.
Worth knowing
Recall is measured, not asserted. The synthetic-ledger generator writes a ground-truth manifest of what it seeded, so 66/66 is a checked number, and the zero-false-positive figure is checked against the same manifest. Detection runs with no LLM calls at all; the model is reserved for the explanations, where language is actually the product. That keeps it fast, cheap, and deterministic where determinism matters.