# Verification checks (P4) - clean re-run of out/analysis.py: results.json byte-identical: PASS - analytic rows == n_analysed: PASS - n_valid==n_analysed: PASS - n_valid+n_unreadable==control: PASS - sum recompute: PASS - implied sum identity: PASS - mean recompute: PASS - median recompute: PASS - ledger rows consistent: PASS - ledger start==n_input_rows: PASS - ledger end==n_analysed: PASS - ids unique: PASS - municipality gaps sum == n_unreadable: PASS - implied unreadable mean plausible vs valid mean (within valid price range): PASS - feasibility partial since n_unreadable>0: PASS