{
  "name": "Warconomy source refresh workflows",
  "asOf": "2026-06-05",
  "note": "Per-source-family workflows for binary/PDF/XLSX/list sources: accepted formats, required fields, honesty rules (no base-mixing, no metric-conflation, no scraping), caveats, and status. Static documentation; no value is added here.",
  "page": "https://warconomy.com/methodology/source-workflows",
  "count": 4,
  "workflows": [
    {
      "id": "defense-series",
      "title": "SIPRI / NATO defense-spending series",
      "family": "defense",
      "acceptedFormats": [
        "SIPRI press-release HTML (states a subset of country values in text)",
        "SIPRI Military Expenditure Database fact sheet (PDF — human-read cells)",
        "NATO defence-expenditure release (PDF/HTML tables)"
      ],
      "requiredFields": [
        "country",
        "year",
        "value (US$)",
        "basis (current USD | constant USD)",
        "real-growth %",
        "national currency (if used)",
        "sourceId",
        "asOf",
        "confidence"
      ],
      "rules": [
        "Do NOT combine current-USD and constant-USD figures into one metric.",
        "An annual country series must use the same basis AND the same source family throughout.",
        "Transcribe each country-year exactly; never infer a value from a chart.",
        "Cross-check at least one figure against an already-stored value of the same release."
      ],
      "caveats": [
        "Annual estimates, revised in later releases; not real-time.",
        "Levels and direction only — not a causal attribution."
      ],
      "status": "Ready: 10 country-2025 values applied (current release). Longer series / additional countries await same-basis values from the official text/data."
    },
    {
      "id": "pink-sheet",
      "title": "World Bank Pink Sheet — wheat / fertilizer / gas cells",
      "family": "commodities",
      "acceptedFormats": [
        "World Bank Pink Sheet monthly XLSX (human-read exact cells)",
        "World Bank Pink Sheet monthly PDF (human-read table)"
      ],
      "requiredFields": [
        "commodity",
        "sheet name",
        "row",
        "column/cell",
        "displayed value",
        "unit (USD/mt, USD/mmbtu, etc.)",
        "month",
        "sourceId",
        "confidence"
      ],
      "rules": [
        "A human reads the exact cell; no code parses the XLSX/PDF and no scraping.",
        "Record the sheet/cell reference so the value is reproducible.",
        "Use the source's stated unit and month convention exactly.",
        "Metric ids name the commodity + benchmark (e.g. wheat-hrw, natural-gas-europe)."
      ],
      "caveats": [
        "A nominal commodity benchmark, not a conflict-causal figure.",
        "Monthly average; not real-time."
      ],
      "status": "Blocked: the Commodity Markets page states only index % changes; exact levels are XLSX/PDF-only. Promote via a human cell read."
    },
    {
      "id": "suez-redsea",
      "title": "Suez / Red Sea official transit metrics",
      "family": "chokepoints",
      "acceptedFormats": [
        "Suez Canal Authority navigation report (PDF table/page)",
        "UNCTAD maritime publication with a directly-stated figure"
      ],
      "requiredFields": [
        "metric kind (transits | net tonnage | revenue)",
        "value",
        "unit",
        "period",
        "page/table reference",
        "sourceId",
        "confidence"
      ],
      "rules": [
        "Transits, tonnage, and revenue are DIFFERENT metrics — one per observation, never conflated.",
        "Read the exact value from the official PDF/table; no chart-only values.",
        "Record the page/table reference for reproducibility."
      ],
      "caveats": [
        "A dated snapshot, not real-time; re-verify against the latest report.",
        "Not a causal attribution to any single event."
      ],
      "status": "Blocked: UNCTAD review page returns HTTP 403; SCA statistics are downloadable PDF reports. Promote via a human PDF read."
    },
    {
      "id": "sanctions-vessels",
      "title": "EU / OFAC sanctioned-vessel counts",
      "family": "sanctions",
      "acceptedFormats": [
        "EU sanctions-package press release (states the cumulative total in text)",
        "Official Treasury statement stating a cumulative figure",
        "Official consolidated list (manual, documented, deterministic count only)"
      ],
      "requiredFields": [
        "list date",
        "package number (EU)",
        "count basis",
        "inclusion rule",
        "exclusion rule",
        "duplicate handling",
        "source URL",
        "sourceId",
        "confidence"
      ],
      "rules": [
        "Prefer a directly-stated cumulative total from the official release.",
        "If deriving manually from a list, document the exact inclusion/exclusion rule and de-duplication — and do NOT scrape the binary SDN list.",
        "EU and OFAC counts are distinct scopes; never merge them into one figure."
      ],
      "caveats": [
        "A cumulative source-reported count as of a package/action date; not real-time.",
        "An enforcement indicator, not legal or compliance advice."
      ],
      "status": "EU: blocked — no 21st package yet (632 @ 20th package is current). OFAC: blocked — no cumulative total published; needs a documented manual derivation."
    }
  ]
}