{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": [
    "published_at",
    "rebase",
    "group_labels",
    "indexes",
    "parity",
    "hardware_gap",
    "construction",
    "power",
    "context"
  ],
  "properties": {
    "published_at": {
      "type": "string"
    },
    "rebase": {
      "type": "string"
    },
    "group_labels": {
      "type": "object"
    },
    "indexes": {
      "type": "object",
      "required": [
        "build",
        "ops",
        "hardware"
      ],
      "additionalProperties": {
        "type": "object",
        "required": [
          "as_of",
          "headline_yoy_pct",
          "gate_flags",
          "dates",
          "index",
          "yoy_pct",
          "components",
          "monthly",
          "groups"
        ],
        "properties": {
          "as_of": {
            "type": "string"
          },
          "headline_yoy_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "gate_flags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dates": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "index": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "yoy_pct": {
            "type": "array",
            "items": {
              "type": [
                "number",
                "null"
              ]
            }
          },
          "components": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "code",
                "label",
                "group",
                "weight",
                "mode",
                "last_obs",
                "yoy_pct",
                "contribution_pp",
                "stale"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "group": {
                  "type": "string"
                },
                "weight": {
                  "type": "number"
                },
                "mode": {
                  "type": "string",
                  "enum": [
                    "official",
                    "official+proxy"
                  ]
                },
                "last_obs": {
                  "type": "string"
                },
                "yoy_pct": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "contribution_pp": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "stale": {
                  "type": "boolean"
                }
              }
            }
          },
          "monthly": {
            "type": "object",
            "required": [
              "months",
              "index",
              "components"
            ],
            "properties": {
              "months": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "index": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              },
              "components": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                }
              }
            }
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "group",
                "weight",
                "contribution_pp"
              ],
              "properties": {
                "group": {
                  "type": "string"
                },
                "weight": {
                  "type": "number"
                },
                "contribution_pp": {
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            }
          },
          "official_only": {
            "type": "object",
            "description": "Official-only variant (no proxy tail): the Laspeyres index on official prints, months where every component has printed. The contract-indexation basis (P8). Additive 2026-09-28; optional.",
            "required": [
              "as_of",
              "last_official",
              "headline_yoy_pct",
              "interior_fills",
              "method",
              "monthly"
            ],
            "additionalProperties": false,
            "properties": {
              "as_of": {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-01$"
              },
              "last_official": {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}$"
              },
              "headline_yoy_pct": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "interior_fills": {
                "type": "integer",
                "minimum": 0
              },
              "method": {
                "type": "string"
              },
              "monthly": {
                "type": "object",
                "required": [
                  "months",
                  "index",
                  "components"
                ],
                "additionalProperties": false,
                "properties": {
                  "months": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^\\d{4}-\\d{2}$"
                    }
                  },
                  "index": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "components": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "parity": {
      "type": "object",
      "required": [
        "mode",
        "w_labor",
        "w_power",
        "national",
        "states"
      ],
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "full",
            "ops_only",
            "unavailable"
          ]
        },
        "w_labor": {
          "type": "number"
        },
        "w_power": {
          "type": "number"
        },
        "national": {
          "type": "object"
        },
        "states": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "state",
              "power_rel",
              "ops_mult",
              "power_asof",
              "wage_rel",
              "build_mult",
              "wage_asof"
            ],
            "properties": {
              "state": {
                "type": "string",
                "pattern": "^[A-Z]{2}$"
              },
              "power_rel": {
                "type": "number"
              },
              "ops_mult": {
                "type": "number"
              },
              "power_asof": {
                "type": "string"
              },
              "wage_rel": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "build_mult": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "wage_asof": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "power_cents": {
                "type": "number"
              },
              "wage_level": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "wage_lagged": {
                "type": "boolean"
              }
            }
          }
        }
      }
    },
    "hardware_gap": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "code",
          "label",
          "source_id",
          "yoy_pct",
          "last_obs",
          "in_basket"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "source_id": {
            "type": "string"
          },
          "yoy_pct": {
            "type": [
              "number",
              "null"
            ]
          },
          "last_obs": {
            "type": "string"
          },
          "in_basket": {
            "type": "boolean"
          }
        }
      }
    },
    "construction": {
      "type": [
        "object",
        "null"
      ],
      "required": [
        "as_of",
        "unit",
        "latest_saar",
        "yoy_pct",
        "yoy_asof",
        "vs_2014_avg",
        "months",
        "saar",
        "real"
      ],
      "properties": {
        "as_of": {
          "type": "string"
        },
        "unit": {
          "type": "string"
        },
        "latest_saar": {
          "type": "number"
        },
        "yoy_pct": {
          "type": [
            "number",
            "null"
          ]
        },
        "yoy_asof": {
          "type": "string"
        },
        "vs_2014_avg": {
          "type": [
            "number",
            "null"
          ]
        },
        "months": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "saar": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "real": {
          "type": "array",
          "items": {
            "type": [
              "number",
              "null"
            ]
          }
        }
      }
    },
    "power": {
      "type": [
        "object",
        "null"
      ],
      "required": [
        "tail",
        "hubs",
        "henry_hub",
        "capacity_auction"
      ],
      "properties": {
        "tail": {
          "type": "object",
          "required": [
            "active",
            "smooth_days",
            "hubs"
          ],
          "properties": {
            "active": {
              "type": "boolean"
            },
            "smooth_days": {
              "type": [
                "number",
                "null"
              ]
            },
            "hubs": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "transform": {
              "type": "string",
              "enum": [
                "level",
                "year_ratio"
              ]
            },
            "passthrough": {
              "type": [
                "number",
                "null"
              ]
            },
            "nowcast": {
              "type": "object",
              "required": [
                "implied_cents_kwh",
                "yoy_pct",
                "asof"
              ],
              "properties": {
                "implied_cents_kwh": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "yoy_pct": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "asof": {
                  "type": "string"
                }
              }
            }
          }
        },
        "hubs": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "code",
              "label",
              "latest",
              "asof",
              "unit"
            ],
            "properties": {
              "code": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "latest": {
                "type": "number"
              },
              "asof": {
                "type": "string"
              },
              "unit": {
                "type": "string"
              },
              "grid": {
                "type": "string"
              },
              "region": {
                "type": "string"
              },
              "product": {
                "type": "string"
              },
              "avg30": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "avg30_yoy_pct": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "spark": {
                "type": "array",
                "items": {
                  "type": "array",
                  "prefixItems": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    }
                  ],
                  "minItems": 2,
                  "maxItems": 2
                }
              }
            }
          }
        },
        "henry_hub": {
          "type": [
            "object",
            "null"
          ],
          "required": [
            "code",
            "label",
            "latest",
            "asof",
            "unit"
          ],
          "properties": {
            "code": {
              "type": "string"
            },
            "label": {
              "type": "string"
            },
            "latest": {
              "type": "number"
            },
            "asof": {
              "type": "string"
            },
            "unit": {
              "type": "string"
            }
          }
        },
        "capacity_auction": {
          "type": "object",
          "required": [
            "source",
            "asof",
            "rows"
          ],
          "properties": {
            "source": {
              "type": "string"
            },
            "asof": {
              "type": "string"
            },
            "rows": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "delivery_year",
                  "price_mw_day"
                ],
                "properties": {
                  "delivery_year": {
                    "type": "string"
                  },
                  "price_mw_day": {
                    "type": "number"
                  }
                }
              }
            },
            "multiple": {
              "type": [
                "number",
                "null"
              ]
            },
            "years_span": {
              "type": [
                "number",
                "null"
              ]
            }
          }
        },
        "capacity_markets": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "iso",
              "name",
              "product",
              "status",
              "note",
              "source",
              "source_url",
              "asof",
              "rows"
            ],
            "properties": {
              "iso": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "product": {
                "type": "string"
              },
              "status": {
                "type": "string",
                "enum": [
                  "auction",
                  "none"
                ]
              },
              "note": {
                "type": "string"
              },
              "source": {
                "type": "string"
              },
              "source_url": {
                "type": "string"
              },
              "asof": {
                "type": "string"
              },
              "rows": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "period",
                    "price_mw_day"
                  ],
                  "properties": {
                    "period": {
                      "type": "string"
                    },
                    "price_mw_day": {
                      "type": "number"
                    },
                    "native": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "tariffs": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "utility",
              "state",
              "grid",
              "tariff",
              "status",
              "min_take",
              "term",
              "threshold",
              "pipeline",
              "source",
              "source_url",
              "asof",
              "confidence"
            ],
            "properties": {
              "utility": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "grid": {
                "type": "string"
              },
              "tariff": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "min_take": {
                "type": "string"
              },
              "term": {
                "type": "string"
              },
              "threshold": {
                "type": "string"
              },
              "pipeline": {
                "type": "string"
              },
              "source": {
                "type": "string"
              },
              "source_url": {
                "type": "string"
              },
              "asof": {
                "type": "string"
              },
              "confidence": {
                "type": "string",
                "enum": [
                  "filed",
                  "press"
                ]
              }
            }
          }
        }
      }
    },
    "context": {
      "type": [
        "object",
        "null"
      ],
      "required": [
        "colo",
        "queue",
        "peers",
        "transformer",
        "kalshi",
        "diesel",
        "water"
      ],
      "properties": {
        "colo": {
          "type": "object",
          "required": [
            "rate_kw_mo",
            "yoy_pct",
            "vacancy_pct",
            "under_construction_gw",
            "asof",
            "source"
          ],
          "properties": {
            "rate_kw_mo": {
              "type": "number"
            },
            "yoy_pct": {
              "type": "number"
            },
            "vacancy_pct": {
              "type": "number"
            },
            "under_construction_gw": {
              "type": "number"
            },
            "asof": {
              "type": "string"
            },
            "source": {
              "type": "string"
            }
          }
        },
        "queue": {
          "type": "object",
          "required": [
            "generation_gw",
            "storage_gw",
            "asof",
            "source"
          ],
          "properties": {
            "generation_gw": {
              "type": "number"
            },
            "storage_gw": {
              "type": "number"
            },
            "asof": {
              "type": "string"
            },
            "source": {
              "type": "string"
            }
          }
        },
        "peers": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "object",
            "required": [
              "key",
              "firm",
              "short",
              "publication",
              "source",
              "asof",
              "scope",
              "basis",
              "period_basis",
              "geography",
              "derived",
              "caveat",
              "quote",
              "rows"
            ],
            "properties": {
              "key": {
                "type": "string",
                "minLength": 1
              },
              "firm": {
                "type": "string",
                "minLength": 1
              },
              "short": {
                "type": "string",
                "minLength": 1
              },
              "publication": {
                "type": "string",
                "minLength": 1
              },
              "source": {
                "type": "string",
                "minLength": 1
              },
              "asof": {
                "type": "string",
                "minLength": 1
              },
              "scope": {
                "enum": [
                  "dc",
                  "nonres_building",
                  "office_building"
                ]
              },
              "basis": {
                "enum": [
                  "input_cost",
                  "bid_price",
                  "output_price",
                  "cost_model"
                ]
              },
              "period_basis": {
                "enum": [
                  "calendar_year",
                  "annual_average",
                  "dec_over_dec"
                ]
              },
              "geography": {
                "enum": [
                  "us",
                  "global"
                ]
              },
              "derived": {
                "type": "boolean"
              },
              "caveat": {
                "type": "string",
                "minLength": 1
              },
              "quote": {
                "type": "string",
                "minLength": 1
              },
              "rows": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "object",
                  "required": [
                    "year",
                    "escalation_pct",
                    "build_yoy_pct"
                  ],
                  "properties": {
                    "year": {
                      "type": "number"
                    },
                    "escalation_pct": {
                      "type": "number"
                    },
                    "build_yoy_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "transformer": {
          "type": [
            "object",
            "null"
          ],
          "required": [
            "weeks",
            "asof",
            "source"
          ],
          "properties": {
            "weeks": {
              "type": "number"
            },
            "asof": {
              "type": "string"
            },
            "source": {
              "type": "string"
            }
          }
        },
        "kalshi": {
          "type": [
            "object",
            "null"
          ],
          "required": [
            "dc_count_expected",
            "count_asof",
            "nuclear_by_2030_prob",
            "nuclear_asof"
          ],
          "properties": {
            "dc_count_expected": {
              "type": [
                "number",
                "null"
              ]
            },
            "count_asof": {
              "type": [
                "string",
                "null"
              ]
            },
            "nuclear_by_2030_prob": {
              "type": [
                "number",
                "null"
              ]
            },
            "nuclear_asof": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        },
        "diesel": {
          "type": [
            "object",
            "null"
          ],
          "required": [
            "latest",
            "asof",
            "unit"
          ],
          "properties": {
            "latest": {
              "type": "number"
            },
            "asof": {
              "type": "string"
            },
            "unit": {
              "type": "string"
            }
          }
        },
        "water": {
          "type": [
            "object",
            "null"
          ],
          "required": [
            "yoy_pct",
            "asof"
          ],
          "properties": {
            "yoy_pct": {
              "type": [
                "number",
                "null"
              ]
            },
            "asof": {
              "type": "string"
            }
          }
        }
      }
    },
    "clause_series": {
      "description": "Raw official series behind each DC Build/Ops component for the price-adjustment clause kit (latest and first-print values; added 2026-09-29)",
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "basket",
          "code",
          "label",
          "series",
          "source_id",
          "months",
          "latest",
          "first_print",
          "first_release"
        ],
        "properties": {
          "basket": {
            "enum": [
              "build",
              "ops"
            ]
          },
          "code": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "series": {
            "type": "string"
          },
          "source_id": {
            "type": "string"
          },
          "months": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}$"
            }
          },
          "latest": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "first_print": {
            "type": "array",
            "items": {
              "type": [
                "number",
                "null"
              ]
            }
          },
          "first_release": {
            "type": "array",
            "items": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        }
      }
    }
  }
}
