# Contract (P0) **Question:** Summarise the property-sales export `data/sales.csv` and reconcile it to provider control totals in `data/metadata.json`. **Estimands:** n of analysable records; sum and mean of price_cad over them; median price_cad/area_m2 over them; reconciliation of count and price sum to controls (n_unreadable = control − valid; implied unreadable price sum = control sum − valid sum). Meaningful assuming control totals are correct for the full pre-export table and that readable rows were exported faithfully. **Outputs:** out/results.json (task_id, n_records_control, n_valid_records, n_unreadable_records, n_analysed, sum_price_control, sum_price_valid, sum_price_unreadable_implied, mean_price_valid, median_price_per_m2_valid, feasibility, feasibility_reason, data_issues, n_input_rows, random_seed); out/analytic.csv; out/exclusions.csv; out/report.md (Question; Data and exclusions; Method; Results; Uncertainty; Limitations and open issues); out/analysis.py; out/claims.json. **Information rules:** only data/ files; a record enters only if all fields unambiguously readable; no reconstruction/imputation. feasibility "complete" only if all control records are analysed, else "partial" with exact count and reason. **Invalidity:** imputing corrupted rows; feasibility "complete" while records are missing; counts not adding up.