[
 {
  "local_id": "C1",
  "type": "empirical",
  "core": true,
  "statement": "A numpy port of Foster and Rahmstorf's 2026 adjustment for El Niño, volcanic and solar influences reproduces their published adjusted NASA, NOAA, HadCRU, Berkeley and ERA5 series to within 0.0001 °C, and the changepoint test of Beaulieu et al. (2024) on the adjusted annual means for 1970-2024 gives maximum slope-change statistics from 4.91 to 6.68 with the change in 2013 or 2014 and nominal AR(1) Monte Carlo p-values from 0.00014 to 0.0033, against 0.041 to 0.19 for the unadjusted series.",
  "evidence": [
   {
    "result": "S.max_abs_dev_from_published_c",
    "produced_by": "code/summarize.py",
    "tolerance": 0.0001
   },
   {
    "result": "S.ranges.tmax_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.02
   },
   {
    "result": "S.ranges.tmax_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.02
   },
   {
    "result": "S.ranges.change_year_min",
    "produced_by": "code/summarize.py"
   },
   {
    "result": "S.ranges.change_year_max",
    "produced_by": "code/summarize.py"
   },
   {
    "result": "S.ranges.p_nominal_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.0002
   },
   {
    "result": "S.ranges.p_nominal_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.0005
   },
   {
    "result": "S.ranges.raw_p_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.005
   },
   {
    "result": "S.ranges.raw_p_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.02
   }
  ],
  "depends_on": [],
  "falsified_if": "A rerun finds a published adjusted value differing by more than 0.0002 °C, or a nominal changepoint p of 0.01 or more for any adjusted record.",
  "confidence": 0.95
 },
 {
  "local_id": "C2",
  "type": "empirical",
  "core": true,
  "statement": "When 2,000 records per dataset are simulated under Foster and Rahmstorf's null hypothesis (a linear trend since 1970, their fitted exogenous terms, and ARMA(1,1) noise fitted under the null) and passed through their whole adjustment and changepoint test, the nominal 5% test rejects 5.9% to 7.0% of null records, and the observed statistics have full-pipeline p-values from 0.0005 to 0.0025 in all five records, so the changepoint finding is robust by the pre-registered rule.",
  "evidence": [
   {
    "result": "S.ranges.null_trend_size05_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.005
   },
   {
    "result": "S.ranges.null_trend_size05_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.005
   },
   {
    "result": "S.ranges.null_trend_p_tmax_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.001
   },
   {
    "result": "S.ranges.null_trend_p_tmax_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.0015
   },
   {
    "result": "S.decision.tmax",
    "produced_by": "code/summarize.py"
   }
  ],
  "depends_on": [
   "C1"
  ],
  "falsified_if": "A rerun gives a full-pipeline p of 0.01 or more for any record under the registered primary noise model.",
  "confidence": 0.85
 },
 {
  "local_id": "C3",
  "type": "empirical",
  "core": true,
  "statement": "Under the same full-pipeline null, Foster and Rahmstorf's quadratic test with the ARMA(1,1) correction of Foster and Rahmstorf (2011) rejects 5.8% to 8.0% of null records at nominal 5% on monthly values and 7.2% to 9.2% on annual means, and the observed quadratic terms have full-pipeline p-values from 0.0015 to 0.054 (monthly) and 0.0005 to 0.032 (annual), below 0.02 in only three records for monthly values and two for annual means, so the reported confidence above 98% in all five records does not hold and the finding is mixed by the pre-registered rule.",
  "evidence": [
   {
    "result": "S.ranges.null_trend_size_quad_monthly05_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.005
   },
   {
    "result": "S.ranges.null_trend_size_quad_monthly05_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.005
   },
   {
    "result": "S.ranges.null_trend_size_quad_annual05_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.005
   },
   {
    "result": "S.ranges.null_trend_size_quad_annual05_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.005
   },
   {
    "result": "S.ranges.null_trend_p_quad_monthly_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.0015
   },
   {
    "result": "S.ranges.null_trend_p_quad_monthly_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.006
   },
   {
    "result": "S.ranges.null_trend_p_quad_annual_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.001
   },
   {
    "result": "S.ranges.null_trend_p_quad_annual_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.004
   },
   {
    "result": "S.ranges.null_trend_records_p_quad_monthly_below_002",
    "produced_by": "code/summarize.py"
   },
   {
    "result": "S.ranges.null_trend_records_p_quad_annual_below_002",
    "produced_by": "code/summarize.py"
   },
   {
    "result": "S.decision.quad_monthly",
    "produced_by": "code/summarize.py"
   },
   {
    "result": "S.decision.quad_annual",
    "produced_by": "code/summarize.py"
   }
  ],
  "depends_on": [
   "C1"
  ],
  "falsified_if": "A rerun gives full-pipeline quadratic p-values below 0.02 for all five records on monthly values or on annual means under the primary noise model.",
  "confidence": 0.8
 },
 {
  "local_id": "C4",
  "type": "empirical",
  "core": false,
  "statement": "With long-memory ARFIMA(1,d,0) noise instead (fitted d from 0.14 to 0.38), the nominal 5% changepoint test rejects 10.7% to 17.0% of null records, yet the observed statistics keep full-pipeline p-values from 0.003 to 0.040, below 0.01 in four of five records, while the quadratic test's full-pipeline p-values rise to 0.065 to 0.19 (monthly) and 0.025 to 0.12 (annual).",
  "evidence": [
   {
    "result": "S.ranges.long_memory_d_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.01
   },
   {
    "result": "S.ranges.long_memory_d_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.01
   },
   {
    "result": "S.ranges.long_memory_size05_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.008
   },
   {
    "result": "S.ranges.long_memory_size05_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.008
   },
   {
    "result": "S.ranges.long_memory_p_tmax_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.0015
   },
   {
    "result": "S.ranges.long_memory_p_tmax_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.008
   },
   {
    "result": "S.ranges.long_memory_records_p_tmax_below_001",
    "produced_by": "code/summarize.py"
   },
   {
    "result": "S.ranges.long_memory_p_quad_monthly_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.01
   },
   {
    "result": "S.ranges.long_memory_p_quad_monthly_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.02
   },
   {
    "result": "S.ranges.long_memory_p_quad_annual_min",
    "produced_by": "code/summarize.py",
    "tolerance": 0.006
   },
   {
    "result": "S.ranges.long_memory_p_quad_annual_max",
    "produced_by": "code/summarize.py",
    "tolerance": 0.015
   }
  ],
  "depends_on": [
   "C1"
  ],
  "falsified_if": "A rerun gives a long-memory full-pipeline changepoint p of 0.05 or more for any record.",
  "confidence": 0.7
 }
]