{
  "task_id": "F1-conf-01",
  "first_growth_month": "2001-01",
  "last_month": "2026-09",
  "n_months_growth": 308,
  "n_months_missing_growth": 1,
  "missing_growth_months": [
    "2025-10"
  ],
  "n_analysed": 308,
  "mean_growth_12m": 2.57412,
  "mean_growth_12m_2001_2013": 2.361215,
  "mean_growth_12m_2014_2026": 2.792628,
  "n_growth_2001_2013": 156,
  "n_growth_2014_2026": 152,
  "growth_2014_06": 2.097634,
  "growth_2016_07": 0.868363,
  "growth_2020_05": 0.198201,
  "growth_2022_06": 8.979361,
  "growth_2026_09": 3.717251,
  "max_growth_12m": 8.979361,
  "max_growth_month": "2022-06",
  "min_growth_12m": -1.958761,
  "min_growth_month": "2009-07",
  "feasibility": "partial",
  "feasibility_reason": "g_t not computable for ['2025-10']: the 2026-10-28 vintage reports no index level for ['2025-10']; no imputation per TASK.md. All summary statistics use the 308 computable months.",
  "data_issues": [
    {
      "issue": "cpi_assembled.csv uses the 2016-07-15 vintage for 30 overlap months 2014-01..2016-06 that the 2026-10-28 vintage covers (violates the most-recent-vintage rule).",
      "handling": "Assembled file not used for computation; levels taken directly from the two vintage files."
    },
    {
      "issue": "cpi_assembled.csv omits month(s) ['2016-07'] and contains month(s) ['2026-10'] absent from the sources; every value from 2016-07 on is stamped one month later than its true date (one-month shift confirmed: True); e.g. its 2026-10 value is the 2026-09 level and its 2025-11 cell is the empty 2025-10 cell.",
      "handling": "Assembled file not used for computation; it is read only for this audit."
    },
    {
      "issue": "cpi_assembled.csv: 152 common-date rows disagree in value with the authoritative splice of the two vintage files.",
      "handling": "Vintage files treated as authoritative per TASK.md."
    },
    {
      "issue": "The 2026-10-28 vintage reports no index level for ['2025-10'] (empty cell).",
      "handling": "Not imputed or interpolated and no fallback to an older vintage; g_t is missing for that month. The month 12 later (2026-10) would also be affected but lies outside the window."
    },
    {
      "issue": "The two vintages overlap on 30 months (2014-01..2016-06) with revised levels (new minus old: min -0.455, max 0.330 index points), consistent with seasonal-factor revisions.",
      "handling": "Per the rule, the 2026-10-28 vintage is used for all overlap months; consequently g_t for 2014-01..2014-12 is a ratio of a 2026-vintage level to a 2016-vintage level (cross-vintage splice), reported as is."
    },
    {
      "issue": "SHA-256 values listed in data/README.md refer to the raw downloads before reformatting and do not match the provided CSV files.",
      "handling": "Hashes of the provided files recorded in out/state/data_audit.md; README states reformatting did not change values. Not used to reject data."
    }
  ],
  "n_input_rows": {
    "cpi_vintage_2016-07-15.csv": 834,
    "cpi_vintage_2026-10-28.csv": 153,
    "cpi_assembled.csv": 957
  },
  "random_seed": null
}