1# Verification checks (P4)23- clean re-run of out/analysis.py: results.json byte-identical: PASS4- analytic rows == n_analysed: PASS5- n_valid==n_analysed: PASS6- n_valid+n_unreadable==control: PASS7- sum recompute: PASS8- implied sum identity: PASS9- mean recompute: PASS10- median recompute: PASS11- ledger rows consistent: PASS12- ledger start==n_input_rows: PASS13- ledger end==n_analysed: PASS14- ids unique: PASS15- municipality gaps sum == n_unreadable: PASS16- implied unreadable mean plausible vs valid mean (within valid price range): PASS17- feasibility partial since n_unreadable>0: PASS18