1# Checks (P4)2- Clean re-run of out/analysis.py twice: results.json byte-identical (cmp) -> PASS3- analytic rows == n_analysed: PASS4- n_unique - n_missing == n_analysed: PASS5- ledger n_before-n_removed==n_after: PASS6- ledger chained: PASS7- ledger start = rows read: PASS8- ledger end = n_analysed: PASS9- raw rows - total removed = n_analysed: PASS10- firm_id unique in analytic: PASS11- no NaN revenue_musd: PASS12- se positive: PASS13- median<=mean (right-skew) & within range: PASS14- mean_revenue_musd << raw baseline (unit mixing inflates raw): PASS15- independent recompute mean_employees: PASS16