{
  "task_id": "F1-conf-04",
  "n_records_control": 1200,
  "n_valid_records": 1164,
  "n_unreadable_records": 36,
  "n_analysed": 1164,
  "sum_price_control": 471287000,
  "sum_price_valid": 456370000,
  "sum_price_unreadable_implied": 14917000,
  "mean_price_valid": 392070.4467,
  "median_price_per_m2_valid": 2984.937,
  "feasibility": "partial",
  "feasibility_reason": "36 of the 1200 control records could not be analysed: 1200 data lines were read, of which 36 are corrupted/garbled export lines (wrong field count or malformed fields; ids S00700-S00735) whose content cannot be read unambiguously; they were not reconstructed. Their implied price total is 14917000 CAD.",
  "data_issues": [
    {
      "issue": "36 data lines are garbled (random characters, wrong number of fields, malformed sale_id); sale_ids S00700..S00735 (36 ids) are absent from the readable rows",
      "handling": "excluded from the analytic dataset (not reconstructed or imputed); counted as unreadable; their implied price total is derived only as control sum minus valid sum"
    },
    {
      "issue": "25 rows have price_cad written as a quoted string with thousands separators (e.g. \"280,000\")",
      "handling": "the CSV quoting makes the value unambiguous; separators removed and value parsed as integer CAD; rows retained"
    },
    {
      "issue": "record count (1164) and price sum (456370000) of readable rows fall short of control totals (1200, 471287000); per-municipality shortfall {'Gatineau': 11, 'Laval': 8, 'Sherbrooke': 7, 'Levis': 3, 'Longueuil': 7}",
      "handling": "reported as reconciliation gap; feasibility set to partial; summary statistics computed on readable records only"
    }
  ],
  "n_input_rows": {
    "sales.csv": 1200
  },
  "random_seed": null,
  "n_by_municipality_valid": {
    "Gatineau": 335,
    "Laval": 274,
    "Sherbrooke": 209,
    "Levis": 159,
    "Longueuil": 187
  },
  "n_by_municipality_shortfall": {
    "Gatineau": 11,
    "Laval": 8,
    "Sherbrooke": 7,
    "Levis": 3,
    "Longueuil": 7
  },
  "n_price_thousands_separator_parsed": 25,
  "missing_sale_id_range": [
    "S00700",
    "S00735"
  ],
  "sale_date_range_valid": [
    "2021-01-01",
    "2022-12-31"
  ],
  "mean_price_unreadable_implied": 414361.1111,
  "input_sha256": {
    "metadata.json": "2aefdcfaf936c7a301d4fa32aa05cb04bff46ad2fd34c423a358e423ec47ac8f",
    "sales.csv": "0a53f5e851e31130083cfc70aafd2e2a644eadbc734d6928782d6d6cb60caf53"
  }
}
