{
  "name": "Warconomy change diff — v1.31.0",
  "asOf": "2026-06-05",
  "dataset": "conflict-economic-impact",
  "version": "1.31.0",
  "previousVersion": null,
  "isCurrent": false,
  "materialized": true,
  "snapshotType": "full",
  "date": "2026-06-06",
  "kind": "editorial",
  "changeSummary": "Durable-snapshot pass. Activated a forward-looking version snapshot system: a committed, append-only frozen count header per materialized version (src/data/versioned/snapshots.ts), seeded with v1.31.0 captured at release. The version registry is now snapshot-aware (snapshotType full/header/unavailable, previousMaterializedVersion, diffJsonPath), added a real diff route (/datasets/conflict-economic-impact/versions/<version>/diff.json) that computes before/after count deltas when a frozen predecessor exists — and honestly reports none when it does not (no historical snapshot is fabricated; pre-activation versions stay unavailable). The /changes/<version> page shows a real delta table when available. Researcher manifest gained the snapshot policy and diff/snapshot patterns; the consistency audit now checks materialized-vs-route agreement, header-vs-live counts, and currentVersionPath. The export gained snapshotPolicy, snapshotActivatedVersion, materializedVersionCount, versionSnapshotPathPattern, and versionDiffPathPattern. No values changed. Export version bumped to 1.31.0.",
  "changePath": "/changes/1.31.0",
  "dataJsonPath": "/datasets/conflict-economic-impact/versions/1.31.0/data.json",
  "previousDataJsonPath": null,
  "frozenPreviousSnapshot": false,
  "valueLevel": false,
  "diffJsonSchemaVersion": 2,
  "counts": {
    "observations": 52,
    "liveObservations": 47,
    "sampleObservations": 5,
    "sources": 34,
    "facts": 38,
    "series": 8,
    "distributions": 25,
    "queryIntents": 25,
    "glossaryTerms": 35
  },
  "countsDelta": null,
  "fieldsDelta": null,
  "graphDelta": null,
  "valueDelta": null,
  "note": "No frozen previous snapshot exists (first materialized version or pre-activation predecessor), so before/after deltas are not computed.",
  "feed": "/feed.xml",
  "atom": "/atom.xml"
}