Changelog

Every change to the model, data sources, and interface is documented here. Transparency is not just about the formula — it includes how the tool evolves over time.

v3.0April 2026

Flight Fuel Alert — full feature launch

  • •New /flight-alerts page: route risk checker with origin, destination, optional layover country
  • •Combined risk formula: origin 50% + layover 30% + dest 20% (or 70/30 without layover)
  • •Time horizon: project risk forward 0-6 months as reserves deplete under ongoing disruption
  • •Ceasefire scenario with normalcy slider (0%, 25%, 50%, 75%, 100%)
  • •Return trip risk: assumes 7-day stay, fuel loaded at destination, reserves depleted by trip duration
  • •Stranding risk assessment by destination country name
  • •26 country fuel profiles from EIA, IEA, JOGMEC, BP data (14 Asia-Pacific + 5 destination + 7 least-impacted)
  • •21 airline impact summaries, including May/June updates for American Airlines, Lufthansa, and Spirit
  • •10 verified flight routes with pre/post prices, status, and source URLs
  • •30-day GDELT news digest + curated May 2026 aviation research + EIA Brent/jet fuel prices
  • •Country cards show depletion estimate or "Minimal Hormuz dependency" for safe countries
  • •Hero: "Is your flight at risk?" with disrupted routes stat + CTA
  • •Summary bar with CRITICAL/HIGH/MODERATE/LOW counts
  • •Most impacted vs least impacted country sections
  • •128 unit tests including 16 QA stress tests for real country profiles
  • •Added Canada, Ireland, Norway to country database (68 total)
  • •Flight Fuel Alert added to primary navigation
v2.7April 2026

Belligerent rankings, UI restructure, feedback

  • •Deep-researched consumer price impact rankings for 8 belligerent countries across all 10 categories
  • •Replaced misleading Gains/Costs labels with actual basket impact % + insight text
  • •Renamed Simulator → Regional Impact, Country Simulator → Country Impact
  • •Merged Methodology + Data Sources + Learn into /how-it-works
  • •New /feedback page with form → Vercel KV
  • •Simulator shows 4 category-specific impact cards (Cereal, Fuel, Oil, Dairy)
  • •Homepage "Most impacted by Hormuz" top-5 section with CTA
  • •FX dates updated to Apr 2026, footer version bump
  • •65 countries total (was 57)
v2.5March 2026

55 countries, Hormuz scenario, OG fix, regional rankings

  • •Expanded countries from 24 to 55 (all with Hormuz basket rankings)
  • •Added hormuz-2026 war scenario: Brent $70→$107.81 (+54%), shipping +150%, urea +49%
  • •OG image fixed: moved from file-convention to /api/og API route
  • •Rankings redesigned: Most Impacted (top 5) + Impact by Region (7 collapsible groups)
  • •Wikipedia source URLs added to all 6 war cards
  • •Learn articles rewritten with citations from IMF, World Bank, ECB, FAO, EIA, Dallas Fed
  • •Mobile hamburger navigation, toggle accessibility (role=switch, 44px touch targets)
  • •Homepage hero card hierarchy redesigned, collapsible sidebar sections
v2.2March 2026

Pre-escalation anchors, user refinements, i18n, surface fixes

  • •Pre-escalation price anchors: researched Before/After commodity prices for all 5 wars with war-escalation cards replacing the old war selector
  • •User data refinement panel: 3-tab panel (Commodity Prices, Category Impacts, FX Rates) with localStorage persistence and Add New Country flow
  • •User-supplied impact overrides flow through computeScenario/computeBasket with "User data" badge
  • •i18n infrastructure: zero-dependency useT() hook with ~200 translation keys in en.json, ar.json, tl.json
  • •All interactive components + homepage wired to translation keys (19 components)
  • •Compare page: per-scenario pass-through and lag controls, coverage badges per country row
  • •Saved scenarios page: fixed passthrough display, added coverage/reliability badges, full simulator links
  • •Embed endpoints: accept pt and lag query params, show assumption chips and coverage badges
  • •Share toolbar: encodes model version and snapshot date in shared URLs
  • •Homepage example cards: fixed lag params to match displayed ceiling numbers
  • •SerpAPI 3-layer caching: module cache + sessionStorage + Vercel CDN (max 1 call per 24h)
  • •Real SerpAPI fetched_at timestamp for provenance data-as-of display
  • •Fallback prices updated with post-escalation reference values and provenance notes
  • •MEMORY.md, CLAUDE.md, COS-Report files gitignored from public repo
v2.1March 2026

Scenario Builder Refactoring

  • •Centralized all calculation logic into a shared engine — no more inline math in components
  • •Removed Math.random() from realized estimates — all results are now deterministic and reproducible
  • •Lag multipliers (1.0, 0.95, 0.88, 0.75) now actually applied to all calculations
  • •Basket page connected to URL scenario state — no more hardcoded Philippines/Russia-Ukraine data
  • •Two distinct basket metrics: weighted average price impact (%) and CPI basket contribution (pp)
  • •Coverage and reliability badges shown on all result surfaces
  • •Structural miss warnings for Türkiye, Nigeria, and Pakistan with link to validation page
  • •Factor contribution breakdown that sums exactly to the lag-adjusted ceiling
  • •Provenance metadata (model version, snapshot date, data-as-of) in assumption strip
  • •Full audit trace drawer with formula chain, factor decomposition, and provenance
  • •Deterministic share links — all URL params always serialized
  • •Impossible-state guards block rendering when inputs are invalid
  • •Fixed SaveButton defaults (passthrough 0.6 → 100, lag "3-6 months" → "6m")
  • •Added 37 unit tests covering all calculation logic (Vitest)
v1.0March 2026

Initial release

  • •5 war/shock scenarios: Russia-Ukraine, Iran-Israel-US, Gaza 2023, COVID-19, Gulf War 2003
  • •10 consumer categories: bread, dairy, eggs, rice, cooking oil, vegetables, meat, detergent, fuel, and full basket
  • •10 core countries with full coverage: Philippines, Egypt, India, Brazil, Nigeria, Pakistan, Indonesia, Türkiye, Ukraine, Morocco
  • •6 partial-coverage countries: Bangladesh, Kenya, Sri Lanka, Ghana, South Africa, Mexico
  • •4 experimental countries: Argentina, Ethiopia, Vietnam, Thailand
  • •Validation against realized CPI data for 7 country-category pairs
  • •Commodity price feeds from World Bank Pink Sheet and SerpAPI / Google Finance
  • •Methodology documentation with full formula transparency
  • •Known failure mode documentation for Türkiye, Nigeria, and Pakistan