# Checks (P4) - Clean re-run of out/analysis.py twice: results.json byte-identical (cmp) -> PASS - analytic rows == n_analysed: PASS - n_unique - n_missing == n_analysed: PASS - ledger n_before-n_removed==n_after: PASS - ledger chained: PASS - ledger start = rows read: PASS - ledger end = n_analysed: PASS - raw rows - total removed = n_analysed: PASS - firm_id unique in analytic: PASS - no NaN revenue_musd: PASS - se positive: PASS - median<=mean (right-skew) & within range: PASS - mean_revenue_musd << raw baseline (unit mixing inflates raw): PASS - independent recompute mean_employees: PASS