# Verification checks (P4) - Clean re-run of out/analysis.py (outputs deleted first): results.json, analytic.csv, exclusions.csv byte-identical (SHA-256): PASS - data/firms.csv SHA-256 unchanged: PASS - analytic rows == n_analysed: PASS - n_unique - n_missing == n_analysed: PASS - ledger first n_before == n_input_rows: PASS - ledger last n_after == n_analysed: PASS - ledger n_before-n_removed==n_after: PASS - ledger chaining: PASS - n_input - total removed == n_analysed: PASS - firm_id unique in analytic: PASS - no NaN revenue_musd: PASS - mean recomputed: PASS - median recomputed: PASS - se>0: PASS - revenue_musd within plausible range (0,10000): PASS - raw baseline >> cleaned mean (unit inflation): PASS - range revenue_musd: 5.742 2057.575