Methodology

Source-readable refresh harness

The human-maintainer path to promote each source-gated data candidate safely — source of record, acceptable format, current blocker, verification steps, the fields needed, and the dataset changes that follow. Documentation only: no scraping, no automation, no value added unless directly verifiable.

static reference · data June 5, 2026

For each of the 8 source-gated candidates, this harness defines exactly what a human maintainer must read from an authoritative source to promote it — and the observation, source, and provenance changes that follow. No value is added unless it is directly verifiable; otherwise the gate stands. 3 low-risk, 4 medium, 1 high.

  • 8 candidates, each with a documented source gate and verification path.
  • Manual transcription only — no scraping, no automation, no guessing.
  • Machine-readable at /methodology/refresh-harness/data.json.

Candidates

CREA May 2026 Russian fossil-fuel export revenue low risk

Source of record: CREA — Monthly analysis of Russian fossil fuel exports and sanctions. Acceptable format: Headline figure stated in the monthly analysis HTML page (directly readable text).

Blocker: The May 2026 analysis is not published yet (CREA publishes ~6 weeks in arrears; April 2026 was published 2026-06-01).

Verify: Open the CREA monthly-analysis page for May 2026 once published. → Read the headline 'EUR X mn per day' figure and the month-on-month % change verbatim. → Confirm the reporting month is May 2026 and the figure is stated in text (not chart-only). → Second-pass: re-read the figure to confirm transcription.

Expected changes: Append a new monthly observation (or update obs-sanctions-export-revenue's asOf/value/lastReviewed); add a provenance row; no new source (crea-russia-fossil-tracker exists). · Routes: /sanctions/russia-energy-trade/economic-impact, /data-coverage, /freshness, /data-needs

EU 21st sanctions package — shadow-fleet vessel count medium risk

Source of record: European Commission / Council of the EU sanctions-package press release. Acceptable format: Cumulative total stated verbatim in the official press release HTML ('a total of N vessels ... now listed').

Blocker: No 21st package is published yet; the 20th package (632 vessels, 23 April 2026) remains the latest.

Verify: Open the EU press release for the next package once adopted. → Read the cumulative listed-vessel total and the +added/-delisted counts verbatim. → Confirm scope matches the existing metric (port-access / maritime-service bans). → Second-pass verification of the total.

Expected changes: Update obs-shadow-eu-vessels value/asOf/note + add a new eu-council source for the package; add provenance row. · Routes: /sanctions/shadow-fleet-shipping-insurance/economic-impact, /sanctions/dashboard, /data-needs

OFAC cumulative shadow-fleet vessel count high risk

Source of record: OFAC SDN list / official Treasury action press releases. Acceptable format: A cumulative total directly stated in an official Treasury release, OR a deterministic manual count from the official list documented step-by-step.

Blocker: OFAC publishes per-action designations, not a cumulative shadow-fleet total; deriving one requires parsing the large binary SDN list (no scraping allowed).

Verify: Prefer an official Treasury statement that states a cumulative figure directly. → If deriving manually, document the exact inclusion rule (program tag, vessel type) and de-duplication, with the list date. → Do NOT scrape; a manual derivation must be reproducible and recorded.

Expected changes: Add/Update an OFAC cumulative observation only if a directly-stated or deterministically-derived count exists; add provenance. · Routes: /sanctions/shadow-fleet-shipping-insurance/economic-impact, /data-needs

Longer SIPRI / NATO defense-spending series low risk

Source of record: SIPRI Military Expenditure Database / NATO defence-expenditure releases. Acceptable format: Exact country-year values stated in the official press release HTML or a directly-readable table; same basis only.

Blocker: Prior-year and additional-country values are largely in the SIPRI fact-sheet PDF; only the latest press release states a subset in text.

Verify: Identify the basis of each figure (current USD vs constant USD) from the source's own wording. → Only combine values of the SAME basis and source family into one metric. → Transcribe each country-year exactly; do not infer from charts. → Second-pass verification.

Expected changes: Add country-military-expenditure observations (same basis as existing top-10) and/or a longer annual global series; add provenance; bump version (record-additive — provenance now per-version safe). · Routes: /defense, /defense/comparison, /series, /data-needs

World Bank Pink Sheet — wheat / fertilizer / gas medium risk

Source of record: World Bank 'Pink Sheet' (Commodity Markets monthly data). Acceptable format: Exact cell values read by a human from the official Pink Sheet XLSX/PDF (the page itself states only index % changes).

Blocker: Exact USD/mt and USD/mmbtu levels are only in the downloadable XLSX/PDF, not in readable HTML; no scraping/parsing.

Verify: Open the official Pink Sheet monthly XLSX/PDF. → Record the exact sheet name, row, column/cell, the displayed value, unit, and month. → Note the price basis is a nominal commodity benchmark, not a conflict-causal figure. → Second-pass verification of the cell.

Expected changes: Add commodity benchmark observations (or a series) with the Pink Sheet as source; add provenance; bump version. · Routes: /commodities/dashboard, /commodities/oil-benchmarks/economic-impact, /data-needs

Suez / Red Sea official transit metric medium risk

Source of record: Suez Canal Authority navigation reports / UNCTAD maritime publications. Acceptable format: Exact value from an official PDF table/page read by a human, OR a directly-stated figure in accessible HTML.

Blocker: UNCTAD's review page returns HTTP 403; SCA statistics are downloadable PDF reports; no chart-only values.

Verify: Open the SCA navigation report PDF or a UNCTAD publication with a stated figure. → Record the exact metric (transits / net tonnage / revenue — these are different), value, unit, and period. → Do not conflate distinct metrics; pick one per observation. → Second-pass verification.

Expected changes: Update obs-redsea-suez / add a new transit observation; add provenance; bump version. · Routes: /chokepoints/red-sea-shipping/economic-impact, /chokepoints/dashboard, /data-needs

Black Sea grain export volumes medium risk

Source of record: UN / FAO / WTO or Ukraine official corridor statistics. Acceptable format: An exact monthly tonnage stated in an official/intergovernmental table or directly-readable report.

Blocker: The UN Black Sea Grain Initiative ended in 2023; current corridor tonnage is in dashboards/PDFs, not a directly-stated accessible figure.

Verify: Identify an official monthly tonnage series (UN/FAO/Ukraine). → Record the exact value, unit (million tonnes), and month. → Confirm it is a corridor/export volume, not a derived estimate from news. → Second-pass verification.

Expected changes: Promote obs-ukr-grain from sample to live (value/asOf/source/confidence) or add a new series; add provenance; bump version. · Routes: /conflicts/russia-ukraine/economic-impact, /commodities/dashboard, /data-needs

FAO Food Price Index — next release after May 2026 low risk

Source of record: FAO Food Price Index (monthly HTML release). Acceptable format: Headline FFPI and sub-index values stated verbatim on the FAO page (directly readable).

Blocker: May 2026 is the latest published month; the June 2026 release is not out yet (FAO publishes early the following month).

Verify: Open the FAO Food Price Index page after the next monthly release. → Read the FFPI value and each sub-index value (cereal, vegetable oil, dairy, meat, sugar) verbatim with the month. → Confirm the index basis (2014–2016 = 100). → Second-pass verification.

Expected changes: Update the FFPI + 5 sub-index observations' value/asOf/lastReviewed (or append a series point); add provenance; bump version. · Routes: /commodities/food-prices/economic-impact, /conflicts/russia-ukraine/economic-impact, /data-coverage

Source-gated backlog: /data-needs · transcription checklist: /methodology/manual-transcription · machine-readable: /methodology/refresh-harness/data.json.

Related Warconomy pages