# Contract (P0) **Question.** 2-agent, 2-good pure exchange economy, Cobb-Douglas u_i = a_i ln x1 + (1-a_i) ln x2, endowments (e1_i,e2_i), good 2 numeraire. Find Walrasian equilibrium. **Estimands.** p = p1/p2 (closed form); allocation x1_A,x2_A,x1_B,x2_B; z1(p) aggregate excess demand good 1 (=0 at eq.); Walras residual p*z1+z2 (=0 identically); aggregate endowments used; p found by independent numeric root-finding of z1(p) (not evaluating the closed form). **Assumptions.** 0 interior solution, positive incomes; p2=1 normalisation; equilibrium unique for Cobb-Douglas (gross substitutes). **Outputs.** out/results.json keys: task_id, price_ratio_p1_over_p2, x1_A, x2_A, x1_B, x2_B, excess_demand_good1, walras_law_residual, aggregate_endowment_good1, aggregate_endowment_good2, price_ratio_numerical, feasibility, feasibility_reason, data_issues[{issue,handling}], n_input_rows{endowments.csv,parameters.csv}, n_analysed, random_seed. Plus out/report.md (Question; Data and exclusions; Method; Results; Uncertainty; Limitations and open issues), out/analysis.py, out/claims.json, out/exclusions.csv. **Information rules.** Only data/endowments.csv and data/parameters.csv. Numeric check must root-find z1(p). All input problems go in data_issues. **Invalidity.** Non-positive endowments / a_i outside (0,1); inconsistent inputs used without resolution; market not clearing.