{
  "date": "2026-10-19",
  "status": "source implementation description, not validation of every dated result",
  "source_fingerprints": {
    "aqi_data.R": "fee15fb18f6709df1f15fe08e32a9a5ded703968188d935e1c1aabe6e352bf9e",
    "aqi_cpcb.R": "8333d99d5c7cdda89b6459b1c7f4637c28241904e49f677c6a1cc70bd3094a55",
    "aqi_sidecar.R": "09e6d63cdb73981e215742bbf380247c383332ce24225224e53bd928649829c0",
    "crea_time.R": "05093e342ed7b7809730f40cfe6fe67bb5ab8275f8283131e8e70b502552cbca",
    "train_dw_pm25_z2.R": "bc8c4ba0363a11c11f451c4d221490595c74ef8c6abc6f79bda7aac3ee244026",
    "train_dw_brt_all7.R": "dc06cde80a29653e7635a80ea9fd473c2417087396eb6596a3062f1565cd07fe",
    "train_dw_brt.R": "6793bd4e477db259b5afbe1fc4d11878b617f92924f495cdf01d840cfd38ddb7",
    "compute_dw_multipollutant_daily.R": "ea8104439c333314e25b059ec8386f7242badcf9ad474c177c739002b16a78be",
    "compute_dw_multipollutant_daily_hybrid.R": "53fc99ff24796d7cd933cc667aa29a845f3cb3ad499c1e2269d583c4ff27c8d4",
    "population_surface.py": "85c6a0b20007f6b968b40d8835596683e62605be6b8d426201de5d795a7b10bf"
  },
  "checked_implementations": [
    {
      "id": "M01",
      "source": "compute_dw_multipollutant_daily.R:357-391; train_dw_pm25_z2.R:312-352",
      "finding": "The trainer writes climatological mean fields, but no sampler spread fields. The daily function supplies zero when a spread field is absent. The small actual-source fixture confirms repeated identical weather draws on that path.",
      "public_section": "7",
      "limit": "No live model RDS was opened. The fixture does not inspect every dated model package or substitute for an actual full 64-draw model canary."
    },
    {
      "id": "M02",
      "source": "compute_dw_multipollutant_daily.R:735-757,477-504",
      "finding": "The daily station band uses the hourly spread of predicted values and a normal multiplier. City ranges resample station summaries and paired ratios without refitting the model. The gas-maximum band is not calibrated uncertainty for an extreme value.",
      "public_section": "8",
      "limit": "Neither design supplies unconditional coverage for all model error or spatial and temporal dependence."
    },
    {
      "id": "M03",
      "source": "train_dw_pm25_z2.R:371-421; train_dw_brt_all7.R:240-269",
      "finding": "Five chronological row blocks allow up to four forward validation folds. Tied timestamps can cross a row boundary. Boosted trees use a random 80/20 row split. These score designs are not interchangeable.",
      "public_section": "6",
      "limit": "The source comment does not establish that forward validation is a lower bound on real predictive skill. Similar training and test scores do not rule out overfitting or dependence."
    },
    {
      "id": "M04",
      "source": "train_dw_brt_all7.R:64-68 versus train_dw_brt.R:33-37",
      "finding": "The all-seven boosted-tree source defaults to 5,000 trees and depth six. The separate smoke-test defaults of 1,000 trees and depth five are a different specification. Both permit environment overrides.",
      "public_section": "6",
      "limit": "Actual adopted settings require the dated execution or model metadata."
    },
    {
      "id": "M05",
      "source": "compute_dw_multipollutant_daily.R:641-645,692-699",
      "finding": "The daily gas code first averages hourly predictions across draws, then takes the largest qualifying eight-hour mean. Averaging each draw's maximum first can differ. The small rolling-helper example gives 50 versus 100.",
      "public_section": "7",
      "limit": "Synthetic algorithm counterexample, not an empirical pollution estimate."
    },
    {
      "id": "M06",
      "source": "aqi_data.R:162-178; compute_dw_multipollutant_daily.R:316-332; shared/crea_time.R:27-40",
      "finding": "On the same IST labels, daily AQI includes the starting boundary and excludes the end. Daily weather code excludes the start and includes the end. Each selects 24 complete hourly labels, with 23 shared. The small source fixture confirms that distinction.",
      "public_section": "3",
      "limit": "Impact on shipped values remains unmeasured; the source audit does not correct those values."
    },
    {
      "id": "M08",
      "source": "compute_dw_multipollutant_daily.R:269-281",
      "finding": "The canonical-unit filter is conditional on the canonical unit being present. Its fallback when that unit is absent does not prove a changed feed is on the same scale.",
      "public_section": "2",
      "limit": "No numerical conversion, producer change or new accepted unit convention follows from this source audit."
    }
  ],
  "limits": [
    "No live model RDS inspected for this source audit",
    "Boundary-hour effect on shipped values unmeasured",
    "Small synthetic fixtures are not model or scientific completion certificates",
    "Dated settings, periods, coverage and uncertainty designs govern each report"
  ],
  "special_study_results_included": false,
  "complete_executable_and_rawdata_archive": false
}
