Checkpoint
One last thing before we move on. Same surface as a write step — but the lesson doesn't complete until this passes.
Build sanity_report(data): line 1 is n, positive rate, and majority baseline (:.1%); line 2 is the amount column's mean, median, min, max (:.1f). Run it on the clean 8-row dataset, then append one corrupted row — {"amount": 4800.0, "label": 0}, a cents-for-dollars record — and run it again under a '--- corrupted ---' header. The max line should make the corruption impossible to miss.