{
  "name": "Warconomy version diff — v1.190.0",
  "asOf": "2026-06-05",
  "registry": "/datasets/conflict-economic-impact/versions/{version}/diff.json",
  "dataset": "conflict-economic-impact",
  "version": "1.190.0",
  "previousVersion": "1.189.0",
  "isCurrent": true,
  "materialized": true,
  "snapshotType": "full",
  "date": "2026-07-18",
  "kind": "data",
  "changeSummary": "First production forecasting release. Adds a permanent, append-only forecast archive: seven active Warconomy forecasts across six domains (sanctions, shipping, energy, humanitarian, conflict, macro) plus two strict-cutoff hindcast demonstrations scored against naive baselines. Issued forecasts are immutable — a revision creates a new record and the original stays published. Adds four public model cards (/methods/models/<id>), a forecasting methods page, a responsible forecasting policy, a track-record page that states plainly that no live forecast has resolved yet, and machine-readable outputs at /forecasts/data.json, /forecasts/active.json, /forecasts/resolved.json and /methods/models/data.json. Six new sources back the portfolio (EIA STEO, EU Council sanctions decisions, Suez Canal Authority, World Bank RDNA5, plus two explicitly-labeled weak sources for Red Sea carrier routing intent and Hormuz transit tracking). The export gained forecastsPath, forecastsJsonPath, forecastsActiveJsonPath, forecastsResolvedJsonPath, forecastTrackRecordPath, forecastMethodsPath, forecastingPolicyPath, forecastModelRegistryJsonPath and forecastArchiveVersion. Export version bumped to 1.190.0.",
  "changePath": "/changes/1.190.0",
  "dataJsonPath": "/datasets/conflict-economic-impact/versions/1.190.0/data.json",
  "previousDataJsonPath": "/datasets/conflict-economic-impact/versions/1.189.0/data.json",
  "frozenPreviousSnapshot": true,
  "valueLevel": true,
  "diffJsonSchemaVersion": 2,
  "counts": {
    "observations": 59,
    "liveObservations": 54,
    "sampleObservations": 5,
    "sources": 48,
    "facts": 38,
    "series": 8,
    "distributions": 25,
    "queryIntents": 25,
    "glossaryTerms": 35
  },
  "countsDelta": {
    "observations": {
      "before": 59,
      "after": 59,
      "delta": 0
    },
    "liveObservations": {
      "before": 54,
      "after": 54,
      "delta": 0
    },
    "sampleObservations": {
      "before": 5,
      "after": 5,
      "delta": 0
    },
    "sources": {
      "before": 42,
      "after": 48,
      "delta": 6
    },
    "facts": {
      "before": 38,
      "after": 38,
      "delta": 0
    },
    "series": {
      "before": 8,
      "after": 8,
      "delta": 0
    },
    "distributions": {
      "before": 25,
      "after": 25,
      "delta": 0
    },
    "queryIntents": {
      "before": 25,
      "after": 25,
      "delta": 0
    },
    "glossaryTerms": {
      "before": 35,
      "after": 35,
      "delta": 0
    }
  },
  "fieldsDelta": {
    "added": [
      "forecastArchiveVersion",
      "forecastMethodsPath",
      "forecastModelRegistryJsonPath",
      "forecastTrackRecordPath",
      "forecastingPolicyPath",
      "forecastsActiveJsonPath",
      "forecastsJsonPath",
      "forecastsPath",
      "forecastsResolvedJsonPath"
    ],
    "removed": [],
    "unchanged": 335
  },
  "graphDelta": {
    "nodes": {
      "before": 242,
      "after": 248,
      "delta": 6
    },
    "edges": {
      "before": 439,
      "after": 445,
      "delta": 6
    }
  },
  "valueDelta": {
    "topLevel": {
      "added": [
        "forecastsPath",
        "forecastsJsonPath",
        "forecastsActiveJsonPath",
        "forecastsResolvedJsonPath",
        "forecastTrackRecordPath",
        "forecastMethodsPath",
        "forecastingPolicyPath",
        "forecastModelRegistryJsonPath",
        "forecastArchiveVersion"
      ],
      "removed": [],
      "changed": [
        "version",
        "sources",
        "dashboardHub",
        "sourceQuality",
        "currentVersionPath",
        "materializedVersionCount",
        "materializedPayloadCount",
        "latestMaterializedVersion",
        "previousMaterializedVersion",
        "currentChangePath",
        "currentDiffPath",
        "versionDiffSummaryPath",
        "versionSnapshotSummary"
      ]
    },
    "routes": {
      "added": [
        "forecastsPath",
        "forecastsJsonPath",
        "forecastsActiveJsonPath",
        "forecastsResolvedJsonPath",
        "forecastTrackRecordPath",
        "forecastMethodsPath",
        "forecastingPolicyPath",
        "forecastModelRegistryJsonPath"
      ],
      "removed": [],
      "changed": [
        "currentVersionPath",
        "currentChangePath",
        "currentDiffPath",
        "versionDiffSummaryPath"
      ]
    },
    "distributions": {
      "added": [],
      "removed": [],
      "changed": []
    },
    "observations": {
      "added": [],
      "removed": [],
      "changed": []
    },
    "sources": {
      "added": [
        "eia-steo",
        "eu-council-sanctions",
        "suez-canal-authority",
        "logistics-trade-press-redsea",
        "worldbank-rdna5",
        "hormuz-crisis-tracking"
      ],
      "removed": [],
      "changed": []
    },
    "facts": {
      "added": [],
      "removed": [],
      "changed": []
    },
    "series": {
      "added": [],
      "removed": [],
      "changed": []
    },
    "queryIntents": {
      "added": [],
      "removed": [],
      "changed": []
    },
    "glossary": {
      "added": [],
      "removed": [],
      "changed": []
    }
  },
  "note": "Complete value-level diff between two frozen full payloads: changed top-level fields, route/distribution deltas, and added/removed/changed record ids (no full records duplicated).",
  "feed": "/feed.xml",
  "atom": "/atom.xml"
}