# Verification checks (P2/P4) | # | check | outcome | |---|---|---| | 1 | Baseline cross-check E1: printed '% change' for 5 km = -35.0%; computed 100(exp(-0.431)-1) = -35.01 | PASS (agrees to rounding) | | 2 | Baseline cross-check E3: 100·η·g = -1.8236% vs (missing + excess jobs) = -0.03+0.012 = -0.018 (-1.8%) and abstract "2% employment decline" | PASS (consistent magnitude/sign) | | 3 | Internal identity source MW: affected employment / affected wages = -0.268/0.366 = -0.732 = printed own-wage elasticity | PASS (source internally coherent) | | 4 | E2 magnitude: 1.47/75.0 = 1.96%; compare paper's own analogue for wages (1,153/33,043 = 3.5%, printed) — same method | PASS (method consistent with paper's own convention) | | 5 | E5: -0.0962×100 = -9.62 pp; sign matches 'decreases the likelihood' in text | PASS | | 6 | E4: regex search of extract for any printed level of fatal rate → none found; also manual reading of all 134 lines | PASS (non-harmonisable justified) | | 7 | Counts: n_harmonised(4) + n_not_harmonisable(1) = n_analysed(5) = effects.json items(5); value null ⇔ harmonisable false ⇔ missing_quantity non-null | PASS | | 8 | Exclusion ledger: 5 − 0 = 5 = n_analysed | PASS | | 9 | Reproducibility: deleted results.json, re-ran analysis.py, byte-identical output (cmp) | PASS | | 10 | Input SHA-256 match data/README.md for all 4 extracts | PASS | | 11 | No SE/CI keys → no CI-contains-estimate checks applicable; no dates involved | N/A |