# Verification checks (P4) | check | outcome | |---|---| | Clean re-run (deleted results.json, exclusions.csv; re-ran) gives byte-identical results.json (sha256 923215d3…) | PASS | | x1_demand, x2_demand > 0 (interior) | PASS | | |budget_identity_residual| < 1e-9 (exactly 0.0) | PASS | | mrs_at_optimum == price_ratio (0.625) | PASS | | expenditure_share_good1 == alpha (0.35) | PASS | | indirect_utility equals α ln(αm/p1)+(1−α) ln((1−α)m/p2) | PASS | | indirect_utility_numerical (Brent on budget line) ≤ indirect_utility + 1e-12 and |diff| < 1e-10 (diff 0.0) | PASS | | Brent x1 within 1e-6 of closed form (2.3e-7) | PASS | | Grid (999,999 interior points) and 2-D SLSQP with inequality budget give same utility to machine precision; SLSQP budget slack 0 (budget binds) | PASS | | Counts: n_raw 4 − removed 0 = n_analysed 4 | PASS | | Note: grid maximiser equals 16.8 exactly because 16.8 is a grid node (step 4.8e-5); utility agreement to 0.0 reflects flatness of u near the optimum (second-order), so the x-distance (2.3e-7) is the more informative metric. | noted |