diff --git a/docs/PRESS_KIT.md b/docs/PRESS_KIT.md index b48aa4c12..79fc8b25c 100644 --- a/docs/PRESS_KIT.md +++ b/docs/PRESS_KIT.md @@ -68,7 +68,7 @@ World Monitor aggregates publicly available data from dozens of sources. No prop - **ADS-B Exchange / OpenSky**: Live military aircraft tracking - **AIS (Automatic Identification System)**: Naval vessel monitoring - **CelesTrak**: Intelligence satellite orbital data (TLE propagation) -- **210+ military bases** from 9 operators mapped globally +- **226 military bases** from 9 operators mapped globally - **Nuclear facility locations** and gamma irradiator sites ### Infrastructure & Environment @@ -79,7 +79,7 @@ World Monitor aggregates publicly available data from dozens of sources. No prop - **NASA FIRMS**: Satellite fire detection (VIIRS thermal hotspots) - **Cloudflare Radar**: Internet outage detection - **Submarine cable landing points** and cable repair ship tracking -- **107 airports** monitored for delays and NOTAM closures +- **111 airports** monitored for delays and NOTAM closures ### Markets & Finance diff --git a/docs/ai-intelligence.mdx b/docs/ai-intelligence.mdx index dc2d39756..2e7d1e4dc 100644 --- a/docs/ai-intelligence.mdx +++ b/docs/ai-intelligence.mdx @@ -323,13 +323,13 @@ The Focal Point Detector is the intelligence synthesis layer that correlates new Without synthesis, intelligence streams operate in silos: -- News feeds show 80+ sources with thousands of headlines +- News feeds show 344 sources with thousands of headlines - Map layers display military flights, protests, outages independently - No automated way to see that IRAN appears in news AND has military activity AND an internet outage ### How It Works -1. **Entity Extraction**: Extract countries, companies, and organizations from all news clusters using the entity registry (600+ entities with aliases) +1. **Entity Extraction**: Extract countries, companies, and organizations from all news clusters using the entity registry (66 entities with aliases) 2. **Signal Aggregation**: Collect all map signals (military flights, protests, outages, vessels) and group by country diff --git a/docs/algorithms.mdx b/docs/algorithms.mdx index c9e8fe9b2..7e06af4b1 100644 --- a/docs/algorithms.mdx +++ b/docs/algorithms.mdx @@ -20,9 +20,9 @@ The server-side score (`get-risk-scores.ts`) uses the same formulas as the front **Unrest score** (0-100): Log2 dampening for high-volume low-multiplier countries (`multiplier < 0.7`), linear otherwise. Base capped at 50, plus protest/riot fatality boost (up to 30), plus outage severity boost (TOTAL: 30pts, MAJOR: 15pts, PARTIAL: 5pts, capped at 50). -**Conflict score** (0-100): Weighted ACLED events (battles x3, explosions x4, civilian violence x5, capped at 50), sqrt-scaled fatalities (up to 40), civilian boost (up to 10), Iran strike boost with severity weighting (up to 50), and OREF alert boost for Israel (25 base + 5 per active alert, up to 50 total). +**Conflict score** (0-100): Weighted ACLED events (battles x3, explosions x4, civilian violence x5, capped at 50), sqrt-scaled fatalities (up to 40), civilian boost (up to 10), Iran strike boost with severity weighting (up to 50), and OREF alert boost for Israel (25 base + 5 per active alert, up to 50 total). Rolling 24-hour history adds a secondary boost: 3-9 alerts contribute +5, 10+ contribute +10 to the blended score. -**Security score** (0-100): GPS/GNSS jamming (high: 5pts, medium: 2pts per hex, capped at 35). +**Security score** (0-100): GPS/GNSS jamming (high: 5pts, medium: 2pts per hex, capped at 35). Jamming classification thresholds: Low 0-2% (hidden), Medium 2-10% (amber), High >10% (red). **Information score**: Reserved (0); no server-side news data available. @@ -217,7 +217,7 @@ A structured entity registry catalogs countries, organizations, world leaders, a Entity matching uses word-boundary regex to prevent false positives (e.g., "Iran" matching "Ukraine"). Confidence scores are tiered by match quality: exact name matches score 1.0, aliases 0.85–0.95, and keyword matches 0.7. When the same entity surfaces across multiple independent data sources (news, military tracking, protest feeds, market signals), the system identifies it as a focal point and escalates its prominence in the intelligence picture. -### News Importance Scoring +### Headline Scoring The AI Insights panel ranks news items by geopolitical significance using a multi-signal importance scoring algorithm. Rather than displaying stories in chronological order, the algorithm surfaces the most consequential developments by applying keyword-weighted scoring across five severity tiers: @@ -290,7 +290,7 @@ When an alert passes all gates, the system dispatches a `wm:breaking-news` Custo --- -## Signal Correlation +## Cross-Stream Correlation ### Signal Aggregation diff --git a/docs/architecture.mdx b/docs/architecture.mdx index acdc1c67f..293b9c4c0 100644 --- a/docs/architecture.mdx +++ b/docs/architecture.mdx @@ -21,11 +21,11 @@ description: "System design, caching strategies, bootstrap hydration, edge funct | **Bandwidth efficiency** | Gzip compression on all relay responses (80% reduction). Content-hash static assets with 1-year immutable cache. Staggered polling intervals prevent synchronized API storms. Animations and polling pause on hidden tabs. | | **Baseline-aware alerting** | Trending keyword detection uses rolling 2-hour windows against 7-day baselines with per-term spike multipliers, cooldowns, and source diversity requirements — surfacing genuine surges while suppressing noise. | | **Contract-first APIs** | Every API endpoint starts as a `.proto` definition with field validation, HTTP annotations, and examples. Code generation produces typed TypeScript clients and servers, eliminating schema drift. Breaking changes are caught automatically at CI time. | -| **Run anywhere** | Same codebase produces four specialized variants (geopolitical, tech, finance, happy) from a single Vercel deployment and deploys to Vercel (web), Railway (relay), Tauri (desktop), and PWA (installable). Desktop sidecar mirrors all cloud API handlers locally. Service worker caches map tiles for offline use while keeping intelligence data always-fresh (NetworkOnly). | +| **Run anywhere** | Same codebase produces five specialized variants (geopolitical, tech, finance, commodity, happy) from a single Vercel deployment and deploys to Vercel (web), Railway (relay), Tauri (desktop), and PWA (installable). Desktop sidecar mirrors all cloud API handlers locally. Service worker caches map tiles for offline use while keeping intelligence data always-fresh (NetworkOnly). | | **Graceful degradation** | Every feature degrades gracefully when dependencies are unavailable. Missing API keys skip the associated data source — they don't crash the app. Failed upstream APIs serve stale cached data. Browser-side ML works without any server. The dashboard is useful with zero API keys configured (static layers, map, ML models all work offline). | | **Multi-source corroboration** | Critical intelligence signals use multiple independent sources to reduce single-source bias. Protest data merges ACLED + GDELT with Haversine deduplication. Country risk blends news velocity + military activity + unrest events + baseline risk. Disaster data merges USGS + GDACS + NASA EONET on a 0.1° geographic grid. | | **No framework overhead** | Vanilla TypeScript with direct DOM manipulation, event delegation, and custom `Panel`/`VirtualList` classes. No virtual DOM diffing, no framework runtime, no adapter libraries. The entire application shell weighs less than React's runtime. Browser standards (Web Workers, IndexedDB, Intersection Observer, ResizeObserver, CustomEvent) serve as the reactivity and component model. | -| **Type-safe data flow** | Discriminated union markers (`_kind` field), proto-generated typed clients/servers, and exhaustive `switch` matching ensure compile-time safety across 15+ marker types, 22 service domains, and 45 map layers. Adding a new data type produces compiler errors at every unhandled site. | +| **Type-safe data flow** | Discriminated union markers (`_kind` field), proto-generated typed clients/servers, and exhaustive `switch` matching ensure compile-time safety across 15+ marker types, 24 service domains, and 49 map layers. Adding a new data type produces compiler errors at every unhandled site. | ### Intelligence Analysis Tradecraft @@ -129,7 +129,7 @@ This pattern is enforced project-wide across all panel subclasses. In E2E tests, The entire API surface is defined in Protocol Buffer (`.proto`) files using [sebuf](https://github.com/SebastienMelki/sebuf) HTTP annotations. Code generation produces TypeScript clients, server handler stubs, and OpenAPI 3.1.0 documentation from a single source of truth — eliminating request/response schema drift between frontend and backend. -**22 service domains** cover every data vertical: +**24 service domains** cover every data vertical: | Domain | RPCs | | ---------------- | ------------------------------------------------ | @@ -264,20 +264,21 @@ All edge functions include circuit breaker logic and return cached stale data wh ### Cold-Start Optimization — Per-Domain Edge Function Split -The original monolithic edge gateway (`api/[domain]/v1/[rpc].ts`) imported all 22 service domain handlers into a single function. When any RPC was called, the edge runtime loaded the entire handler graph — initializing Redis clients, parsing configuration, and importing utility modules for all 22 domains even though only 1 was needed. +The original monolithic edge gateway (`api/[domain]/v1/[rpc].ts`) imported all 24 service domain handlers into a single function. When any RPC was called, the edge runtime loaded the entire handler graph — initializing Redis clients, parsing configuration, and importing utility modules for all 24 domains even though only 1 was needed. -This was split into 22 per-domain thin entry points, each importing only its own handler module. The shared gateway (`server/gateway.ts`) provides common routing logic, but each domain's edge function tree-shakes to include only its dependencies. +This was split into 24 per-domain thin entry points, each importing only its own handler module. The shared gateway (`server/gateway.ts`) provides common routing logic, but each domain's edge function tree-shakes to include only its dependencies. **Impact**: Cold-start time dropped by ~85% — a market quote request no longer loads the cyber threat intelligence parser, the OREF alert handler, or the climate anomaly detector. On Vercel's edge runtime, this translates to sub-100ms cold starts for most endpoints, compared to 500ms+ with the monolithic handler. ### Single-Deployment Variant Consolidation -All four dashboard variants (World Monitor, Tech Monitor, Finance Monitor, Happy Monitor) serve from a **single Vercel deployment**. The variant is determined at runtime by hostname detection: +All five dashboard variants (World Monitor, Tech Monitor, Finance Monitor, Commodity Monitor, Happy Monitor) serve from a **single Vercel deployment**. The variant is determined at runtime by hostname detection: | Hostname | Variant | | --- | --- | | `tech.worldmonitor.app` | `tech` | | `finance.worldmonitor.app` | `finance` | +| `commodity.worldmonitor.app` | `commodity` | | `happy.worldmonitor.app` | `happy` | | `worldmonitor.app` (default) | `full` | @@ -360,9 +361,9 @@ Countries GeoJSON is lazy-loaded from a shared `getCountriesGeoJson()` function, ### Unified Layer Toggle Catalog -All 45 map layer toggle definitions — icon, localization key, fallback display label, and supported renderer types — are consolidated in a single shared registry (`src/config/map-layer-definitions.ts`). Each entry declares which map renderers support it via a `renderers: MapRenderer[]` field (e.g., `dayNight` is flat-only, `ciiChoropleth` is both flat and globe), preventing the two map components from showing inconsistent layer options. +All 49 map layer toggle definitions — icon, localization key, fallback display label, and supported renderer types — are consolidated in a single shared registry (`src/config/map-layer-definitions.ts`). Each entry declares which map renderers support it via a `renderers: MapRenderer[]` field (e.g., `dayNight` is flat-only, `ciiChoropleth` is both flat and globe), preventing the two map components from showing inconsistent layer options. -A `def()` factory function reduces per-entry boilerplate. Variant-specific layer ordering (`VARIANT_LAYER_ORDER`) defines the display sequence for each of the four dashboard variants without duplicating the definitions themselves. Adding a new map layer requires a single registry entry — both the flat map and 3D globe derive their toggle panels from this catalog automatically. +A `def()` factory function reduces per-entry boilerplate. Variant-specific layer ordering (`VARIANT_LAYER_ORDER`) defines the display sequence for each of the five dashboard variants without duplicating the definitions themselves. Adding a new map layer requires a single registry entry — both the flat map and 3D globe derive their toggle panels from this catalog automatically. --- diff --git a/docs/cors.mdx b/docs/cors.mdx index 15db56e1c..e68f95b27 100644 --- a/docs/cors.mdx +++ b/docs/cors.mdx @@ -24,7 +24,7 @@ Both files use the same regex patterns: | `worldmonitor-*-elie-*.vercel.app` | Vercel preview deploys | | `localhost:*` / `127.0.0.1:*` | Local development | | `tauri.localhost:*` / `*.tauri.localhost:*` | Desktop app (Tauri v2) | -| `tauri://localhost` / `asset://localhost` | Desktop app (Tauri v1 / asset protocol) | +| `tauri://localhost` / `asset://localhost` | Desktop app (Tauri v2 asset protocol) | Requests from any other origin receive a 403 response. Requests with **no** `Origin` header (server-to-server, curl) are allowed through — the `isDisallowedOrigin` check only blocks when an origin is present and not on the allowlist. @@ -82,7 +82,7 @@ Both implementations allow these request headers: - `Content-Type` - `Authorization` -- `X-WorldMonitor-Key` (API key for desktop/third-party access) +- `X-WorldMonitor-Key` (API key for desktop/third-party access). See [API Key Gating](/api-key-deployment) for key management details. To allow additional headers, update `Access-Control-Allow-Headers` in both files. diff --git a/docs/country-instability-index.mdx b/docs/country-instability-index.mdx index aeedeeca1..2e680a2d4 100644 --- a/docs/country-instability-index.mdx +++ b/docs/country-instability-index.mdx @@ -1,6 +1,6 @@ --- title: "Country Instability Index" -description: "Real-time stability scoring for 20 strategically significant countries, combining unrest, security, and information signals into a dynamic instability metric." +description: "Real-time stability scoring for 24 strategically significant countries, combining unrest, security, and information signals into a dynamic instability metric." --- The Country Instability Index maintains a real-time instability score for strategically significant countries. Rather than relying on static risk ratings, the CII dynamically reflects current conditions based on multiple input streams. @@ -8,10 +8,10 @@ The Country Instability Index maintains a real-time instability score for strate | Region | Countries | |--------|-----------| -| **Americas** | United States, Venezuela | +| **Americas** | United States, Venezuela, Brazil, Mexico, Cuba | | **Europe** | Germany, France, United Kingdom, Poland | | **Eastern Europe** | Russia, Ukraine | -| **Middle East** | Iran, Israel, Saudi Arabia, Turkey, Syria, Yemen | +| **Middle East** | Iran, Israel, Saudi Arabia, United Arab Emirates, Turkey, Syria, Yemen | | **Asia-Pacific** | China, Taiwan, North Korea, India, Pakistan, Myanmar | ## Three Component Scores @@ -124,6 +124,8 @@ Beyond the base component scores, several contextual factors can boost a country These boosts are designed to elevate scores only when corroborating evidence exists. A country must have both high base scores AND contextual signals to reach extreme levels. +See [Geographic Convergence](/geographic-convergence) for the full algorithm. + ## Server-Side Pre-Computation To eliminate the "cold start" problem where new users would see blank data during the Learning Mode warmup, CII scores are **pre-computed server-side** via the `/api/risk-scores` endpoint. See the [Server-Side Risk Score API](/strategic-risk#server-side-risk-score-api) section for details. diff --git a/docs/data-sources.mdx b/docs/data-sources.mdx index 7ae2e4fbe..375f5412d 100644 --- a/docs/data-sources.mdx +++ b/docs/data-sources.mdx @@ -28,7 +28,7 @@ description: "Comprehensive documentation of all data sources, feed tiers, and c
Military & Strategic -- 210+ military bases from 9 operators +- 226 military bases from 9 operators - Live military flight tracking (ADS-B) - Naval vessel monitoring (AIS) - Nuclear facilities & gamma irradiators @@ -43,8 +43,8 @@ description: "Comprehensive documentation of all data sources, feed tiers, and c - Undersea cables with landing points, cable health advisories (NGA navigational warnings), and cable repair ship tracking - Oil & gas pipelines -- AI datacenters (111 major clusters) -- 83 strategic ports across 6 types (container, oil, LNG, naval, mixed, bulk) with throughput rankings +- AI datacenters (313 clusters from Epoch AI dataset) +- 62 strategic ports across 6 types (container, oil, LNG, naval, mixed, bulk) with throughput rankings - Internet outages (Cloudflare Radar) - Critical mineral deposits - NASA FIRMS satellite fire detection (VIIRS thermal hotspots) @@ -154,7 +154,7 @@ The Security Advisories panel displays advisories with colored level badges and ### Airport Delay & NOTAM Monitoring -107 airports across 5 regions (Americas, Europe, Asia-Pacific, MENA, Africa) are continuously monitored for delays, ground stops, and closures through three independent data sources: +111 airports across 5 regions (Americas, Europe, Asia-Pacific, MENA, Africa) are continuously monitored for delays, ground stops, and closures through three independent data sources: | Source | Coverage | Method | | ------------------ | ------------------------- | ------------------------------------------------------------------------------------------------------- | @@ -256,16 +256,7 @@ Crisis badges flag countries with extreme displacement: > 1 million displaced (r ### Population Exposure Estimation -Active events (conflicts, earthquakes, floods, wildfires) are cross-referenced against WorldPop population density data to estimate the number of civilians within the impact zone. Event-specific radii reflect typical impact footprints: - -| Event Type | Radius | Rationale | -| --------------- | ------ | ---------------------------------------- | -| **Conflicts** | 50 km | Direct combat zone + displacement buffer | -| **Earthquakes** | 100 km | Shaking intensity propagation | -| **Floods** | 100 km | Watershed and drainage basin extent | -| **Wildfires** | 30 km | Smoke and evacuation perimeter | - -API calls to WorldPop are batched concurrently (max 10 parallel requests) to handle multiple simultaneous events without sequential bottlenecks. The Population Exposure panel displays a summary header with total affected population and a per-event breakdown table. +Population exposure estimation calculates affected populations within event-specific radii. See [Algorithms - Population Exposure](/algorithms#population-exposure-estimation) for the full methodology. --- @@ -273,13 +264,13 @@ API calls to WorldPop are batched concurrently (max 10 parallel requests) to han ### Strategic Port Infrastructure -83 strategic ports are cataloged across six types, reflecting their role in global trade and military posture: +62 strategic ports are cataloged across six types, reflecting their role in global trade and military posture: | Type | Count | Examples | | -------------- | ----- | ---------------------------------------------------- | | **Container** | 21 | Shanghai (#1, 47M+ TEU), Singapore, Ningbo, Shenzhen | | **Oil/LNG** | 8 | Ras Tanura (Saudi), Sabine Pass (US), Fujairah (UAE) | -| **Chokepoint** | 8 | Suez Canal, Panama Canal, Strait of Malacca | +| **Chokepoint** | 9 | Suez Canal, Panama Canal, Strait of Malacca, Gibraltar, Bosphorus, Dardanelles | | **Naval** | 6 | Zhanjiang, Yulin (China), Vladivostok (Russia) | | **Mixed** | 15+ | Ports serving multiple roles (trade + military) | | **Bulk** | 20+ | Regional commodity ports | diff --git a/docs/desktop-app.mdx b/docs/desktop-app.mdx index f80d7828e..9062dc214 100644 --- a/docs/desktop-app.mdx +++ b/docs/desktop-app.mdx @@ -21,13 +21,13 @@ description: "Tauri desktop architecture, sidecar management, secret storage, cl ## Multi-Platform Architecture -All four variants run on three platforms that work together: +All five variants run on three platforms that work together: ``` ┌─────────────────────────────────────┐ │ Vercel (Edge) │ │ 60+ edge functions · static SPA │ -│ Proto gateway (22 typed services) │ +│ Proto gateway (24 typed services) │ │ CORS allowlist · Redis cache │ │ AI pipeline · market analytics │ │ CDN caching (s-maxage) · PWA host │ diff --git a/docs/documentation.mdx b/docs/documentation.mdx index 8ec1b6d98..7174af80e 100644 --- a/docs/documentation.mdx +++ b/docs/documentation.mdx @@ -30,7 +30,7 @@ description: "AI-powered real-time global intelligence dashboard aggregating new |----------|-------------| | [Signal Intelligence](/signal-intelligence) | 12 signal types, entity-aware correlation, source tiers, propaganda detection | | [AI Intelligence](/ai-intelligence) | LLM chains, RAG pipelines, browser-side ML, focal point detection | -| [Country Instability Index](/country-instability-index) | Real-time stability scoring for 20 monitored countries | +| [Country Instability Index](/country-instability-index) | Real-time stability scoring for 24 monitored countries | | [Geographic Convergence](/geographic-convergence) | Multi-event clustering and convergence scoring | | [Strategic Risk](/strategic-risk) | Composite risk scoring, PizzINT, related assets, server-side API | | [Algorithms](/algorithms) | Scoring formulas, detection algorithms, classification pipelines | @@ -78,4 +78,4 @@ description: "AI-powered real-time global intelligence dashboard aggregating new | Document | Description | |----------|-------------| -| [API Reference](./api/) | OpenAPI specs for all 22 services | +| [API Reference](./api/) | OpenAPI specs for all 24 services | diff --git a/docs/features.mdx b/docs/features.mdx index 531a26b1f..387ce9ccc 100644 --- a/docs/features.mdx +++ b/docs/features.mdx @@ -47,7 +47,7 @@ Layers are organized into logical groups for efficient monitoring: **Military & Strategic** | Layer | Description | |-------|-------------| -| **Military Bases** | 220+ global military installations from 9 operators | +| **Military Bases** | 226 global military installations from 9 operators | | **Nuclear Facilities** | Power plants, weapons labs, enrichment sites | | **Gamma Irradiators** | IAEA-tracked Category 1-3 radiation sources | | **APT Groups** | State-sponsored cyber threat actors with geographic attribution | @@ -57,15 +57,15 @@ Layers are organized into logical groups for efficient monitoring: **Infrastructure** | Layer | Description | |-------|-------------| -| **Undersea Cables** | 55 major submarine cable routes worldwide | +| **Undersea Cables** | 86 submarine cable routes worldwide | | **Pipelines** | 88 operating oil & gas pipelines across all continents | | **Internet Outages** | Network disruptions via Cloudflare Radar | -| **AI Datacenters** | 111 major AI compute clusters (≥10,000 GPUs) | +| **AI Datacenters** | 313 AI compute clusters tracked from Epoch AI dataset | **Transport** | Layer | Description | |-------|-------------| -| **Ships (AIS)** | Live vessel tracking via AIS with chokepoint monitoring and 61 strategic ports* | +| **Ships (AIS)** | Live vessel tracking via AIS with chokepoint monitoring and 62 strategic ports* | | **Delays** | FAA airport delay status and ground stops | *\*AIS data via [AISStream.io](https://aisstream.io) uses terrestrial receivers with stronger coverage in European/Atlantic waters. Middle East, Asia, and open ocean coverage is limited. Satellite AIS providers (Spire, Kpler) offer global coverage but require commercial licenses.* @@ -83,6 +83,13 @@ Layers are organized into logical groups for efficient monitoring: | **Economic** | Tabbed economic panel with FRED indicators, EIA oil analytics, and USASpending.gov government contracts | | **Countries** | Country boundary labels | | **Waterways** | Strategic waterways and chokepoints | +| **Trade Routes** | 19 global trade routes (container, energy, bulk) with multi-segment arcs through strategic chokepoints | +| **Fires (FIRMS)** | NASA FIRMS satellite fire detection (VIIRS thermal hotspots) for wildfire and operational risk monitoring | + +**Webcams** +| Layer | Description | +|-------|-------------| +| **Live Webcams** | 22 live streams across 5 geopolitical regions (Middle East, Eastern Europe, Asia-Pacific, Africa, Americas) with automatic fallback handling | ## Intelligence Panels @@ -92,10 +99,18 @@ Beyond raw data feeds, the dashboard provides synthesized intelligence panels: |-------|---------| | **AI Strategic Posture** | Theater-level military aggregation with strike capability analysis | | **Strategic Risk Overview** | Composite risk score combining all intelligence modules | -| **Country Instability Index** | Real-time stability scores for 20 monitored countries | +| **Country Instability Index** | Real-time stability scores for 24 monitored countries | | **Infrastructure Cascade** | Dependency analysis for cables, pipelines, and chokepoints | | **Live Intelligence** | GDELT-powered topic feeds (Military, Cyber, Nuclear, Sanctions) | | **Intel Feed** | Curated defense and security news sources | +| **Country Brief** | AI-generated country profiles with key indicators, risk factors, and recent developments | +| **Aviation Intelligence** | 6-tab aviation panel (Ops, Flights, Airlines, Tracking, News, Prices) with NOTAM closure detection across 111 monitored airports | +| **Climate Anomalies** | Temperature and precipitation deviations across 15 zones using Open-Meteo ERA5 data against rolling baselines | +| **Displacement Tracking** | UN OCHA HAPI refugee, asylum seeker, and IDP data with origin/host country perspectives | +| **Gulf Economies** | Indices, currencies, and oil data for 6 GCC countries (Saudi, UAE, Qatar, Kuwait, Bahrain, Oman) | +| **WTO Trade Policy** | Active trade restrictions, tariff trends, bilateral trade flows, and SPS/TBT barriers | +| **Central Banks & BIS** | Policy rates and monetary decisions from 13 central banks via BIS data | +| **Market Watchlist** | User-defined stock/commodity/crypto symbol lists (up to 50 symbols) | These panels transform raw signals into actionable intelligence by applying scoring algorithms, trend detection, and cross-source correlation. @@ -435,10 +450,11 @@ The Flights layer tracks airport delays and ground stops at major US airports us ### Monitored Airports -The 30 largest US airports are tracked: +111 airports across 5 regions (Americas, Europe, Asia-Pacific, MENA, Africa) are monitored through three independent data sources (FAA ASWS, AviationStack, ICAO NOTAM): -- Major hubs: JFK, LAX, ORD, ATL, DFW, DEN, SFO +- Major US hubs: JFK, LAX, ORD, ATL, DFW, DEN, SFO - International gateways with high traffic volume +- 46 MENA airports via ICAO NOTAM for closure detection - Airports frequently affected by weather or congestion Ground stops are particularly significant: they indicate severe disruption (weather, security, or infrastructure failure) and can cascade across the network. @@ -566,6 +582,18 @@ This curated set provides situational awareness without overwhelming the interfa --- +## Offline ML Capabilities + +The dashboard includes browser-side machine learning that works without any server connection: + +- **Threat Classification** - Three-stage pipeline (keyword pre-filter, browser ML model, optional LLM refinement) classifies news headlines by threat category +- **Headline Scoring** - ML-based importance scoring for news articles, enabling priority-based rendering +- **Entity Extraction** - Client-side named entity recognition for identifying countries, organizations, and key figures in headlines + +These models run entirely in the browser via Web Workers, providing intelligence analysis capabilities even when offline or when API keys are not configured. + +--- + ## Usage ### Keyboard Shortcuts diff --git a/docs/finance-data.mdx b/docs/finance-data.mdx index f156afc64..60b578bd3 100644 --- a/docs/finance-data.mdx +++ b/docs/finance-data.mdx @@ -149,10 +149,12 @@ The `trade/v1` proto service defines four RPCs, each with its own circuit breake The Supply Chain panel provides real-time visibility into global logistics risk across three complementary dimensions — strategic chokepoint health, shipping cost trends, and critical mineral concentration — enabling early detection of disruptions that cascade into economic and geopolitical consequences. -**Chokepoints tab** — monitors 6 strategic maritime bottlenecks (Suez Canal, Strait of Malacca, Strait of Hormuz, Bab el-Mandeb, Panama Canal, Taiwan Strait) by cross-referencing live navigational warnings with AIS vessel disruption data. Each chokepoint receives a disruption score (0–100) computed from a three-component formula: baseline threat level (war zone / critical / high / elevated / normal), active warning count (capped contribution), and AIS congestion severity — mapped to color-coded status indicators (green/yellow/red). Chokepoint identification uses text-evidence matching (keyword scoring with primary and area terms) before falling back to geographic proximity, preventing misclassification of events that mention one chokepoint but are geographically closer to another. Data is cached with a 5-minute TTL for near-real-time awareness. +**Chokepoints tab** — monitors 9 strategic waterways (Suez Canal, Strait of Malacca, Strait of Hormuz, Bab el-Mandeb, Panama Canal, Taiwan Strait, Strait of Gibraltar, Bosphorus, Dardanelles) by cross-referencing live navigational warnings with AIS vessel disruption data. Each chokepoint receives a disruption score (0–100) computed from a three-component formula: baseline threat level (war zone / critical / high / elevated / normal), active warning count (capped contribution), and AIS congestion severity — mapped to color-coded status indicators (green/yellow/red). Chokepoint identification uses text-evidence matching (keyword scoring with primary and area terms) before falling back to geographic proximity, preventing misclassification of events that mention one chokepoint but are geographically closer to another. Data is cached with a 5-minute TTL for near-real-time awareness. **Shipping Rates tab** — tracks two Federal Reserve Economic Data (FRED) series: the Deep Sea Freight Producer Price Index (`PCU483111483111`) and the Freight Transportation Services Index (`TSIFRGHT`). Statistical spike detection flags abnormal price movements against recent history. Inline SVG sparklines render 24 months of rate history at a glance. Cached for 1 hour to reflect the weekly release cadence of underlying data. **Critical Minerals tab** — applies the **Herfindahl-Hirschman Index (HHI)** to 2024 global production data for minerals critical to technology and defense manufacturing — lithium, cobalt, rare earths, gallium, germanium, and others. The HHI quantifies supply concentration risk: a market dominated by a single producer scores near 10,000, while a perfectly distributed market scores near 0. Each mineral displays the top 3 producing countries with market share percentages, flagging single-country dependencies that represent strategic vulnerability (e.g., China's dominance in rare earth processing). This tab uses static production data, cached for 24 hours with no external API dependency. The panel is available on the FULL (World Monitor) variant and integrates with the infrastructure cascade model — when a chokepoint disruption coincides with high mineral concentration risk for affected trade routes, the combined signal feeds into convergence detection. + +See also [Maritime Intelligence](/maritime-intelligence) for vessel tracking and dark ship detection. diff --git a/docs/getting-started.mdx b/docs/getting-started.mdx index 0bfb6905e..89cbd791e 100644 --- a/docs/getting-started.mdx +++ b/docs/getting-started.mdx @@ -172,16 +172,16 @@ src/ │ └── ... ├── config/ │ ├── feeds.ts # 70+ RSS feeds, source tiers, regional sources -│ ├── geo.ts # 30+ hotspots, conflicts, 55 cables, waterways, spaceports, minerals +│ ├── geo.ts # 30+ hotspots, conflicts, 86 cables, waterways, spaceports, minerals │ ├── pipelines.ts # 88 oil & gas pipelines -│ ├── ports.ts # 61 strategic ports worldwide -│ ├── bases-expanded.ts # 220+ military bases -│ ├── ai-datacenters.ts # 313 AI clusters (filtered to 111) -│ ├── airports.ts # 30 monitored US airports +│ ├── ports.ts # 62 strategic ports worldwide +│ ├── bases-expanded.ts # 226 military bases +│ ├── ai-datacenters.ts # 313 AI compute clusters (Epoch AI dataset) +│ ├── airports.ts # 111 airports across 5 regions │ ├── irradiators.ts # IAEA gamma irradiator sites │ ├── nuclear-facilities.ts # Global nuclear infrastructure │ ├── markets.ts # Stock symbols, sectors -│ ├── entities.ts # 100+ entity definitions (companies, indices, commodities, countries) +│ ├── entities.ts # 66 entity definitions (companies, indices, commodities, countries) │ └── panels.ts # Panel configs, layer defaults, mobile optimizations ├── services/ │ ├── ais.ts # WebSocket vessel tracking with density analysis diff --git a/docs/infrastructure-cascade.mdx b/docs/infrastructure-cascade.mdx index 251bfc56f..f18a391f3 100644 --- a/docs/infrastructure-cascade.mdx +++ b/docs/infrastructure-cascade.mdx @@ -6,14 +6,14 @@ Critical infrastructure is interdependent. A cable cut doesn't just affect conne ## Dependency Graph -The system builds a graph of **279 infrastructure nodes** and **280 dependency edges**: +The system builds a graph of **350 infrastructure nodes** and dependency edges: | Node Type | Count | Examples | |-----------|-------|----------| -| **Undersea Cables** | 18 | MAREA, FLAG Europe-Asia, SEA-ME-WE 6 | +| **Undersea Cables** | 86 | MAREA, FLAG Europe-Asia, SEA-ME-WE 6 | | **Pipelines** | 88 | Nord Stream, Trans-Siberian, Keystone | -| **Ports** | 61 | Singapore, Rotterdam, Shenzhen | -| **Chokepoints** | 8 | Suez, Hormuz, Malacca | +| **Ports** | 62 | Singapore, Rotterdam, Shenzhen | +| **Chokepoints** | 9 | Suez, Hormuz, Malacca, Gibraltar, Bosphorus, Dardanelles | | **Countries** | 105 | End nodes representing national impact | ## Cascade Calculation diff --git a/docs/maritime-intelligence.mdx b/docs/maritime-intelligence.mdx index 8b5d4ac50..237a69e99 100644 --- a/docs/maritime-intelligence.mdx +++ b/docs/maritime-intelligence.mdx @@ -6,7 +6,7 @@ The Ships layer provides real-time vessel tracking and maritime domain awareness ## Chokepoint Monitoring -The system monitors eight critical maritime chokepoints where disruptions could impact global trade: +The system monitors nine strategic waterways where disruptions could impact global trade: | Chokepoint | Strategic Importance | |------------|---------------------| @@ -16,8 +16,9 @@ The system monitors eight critical maritime chokepoints where disruptions could | **Bab el-Mandeb** | Red Sea access; Yemen/Houthi activity | | **Panama Canal** | Americas east-west transit | | **Taiwan Strait** | Semiconductor supply chain; PLA activity | -| **South China Sea** | Contested waters; island disputes | -| **Black Sea** | Ukraine grain exports; Russian naval activity | +| **Strait of Gibraltar** | Atlantic-Mediterranean gateway; NATO chokepoint | +| **Bosphorus** | Black Sea access; Turkish straits control | +| **Dardanelles** | Aegean-Sea of Marmara link; Turkish straits control | ## Density Analysis @@ -83,3 +84,5 @@ Browser -> Railway Relay -> External APIs - Free tier sufficient for moderate traffic The relay is stateless; it simply authenticates and proxies requests. All caching and processing happens client-side or in Vercel Edge Functions. + +See also [Finance Data - Chokepoints](/finance-data) for disruption scoring methodology. diff --git a/docs/military-tracking.mdx b/docs/military-tracking.mdx index 718d9269a..7be3376ad 100644 --- a/docs/military-tracking.mdx +++ b/docs/military-tracking.mdx @@ -2,7 +2,11 @@ title: "Military Tracking" description: "Military vessel and aircraft identification, surge detection, foreign presence monitoring, and strategic posture analysis across global theaters." --- -WorldMonitor provides specialized tracking of military vessels and aircraft, identifying assets by their transponder characteristics and monitoring activity patterns. The system detects surge events, foreign military presence in sensitive regions, and assesses strike capability across nine strategic theaters. +WorldMonitor provides specialized tracking of military vessels and aircraft, identifying assets by their transponder characteristics and monitoring activity patterns. The system detects surge events, foreign military presence in sensitive regions, and assesses strike capability across multiple strategic theaters. + + +The system defines **10 active conflict zones** (Iran, Strait of Hormuz, Ukraine, Gaza, South Lebanon, Red Sea, Sudan, Myanmar, Korean DMZ, Pakistan-Afghanistan Border) and **4 military command hotspots** (INDO-PACIFIC, CENTCOM, EUCOM, ARCTIC). Different subsystems group these into theater lists tailored to their specific analysis, so theater counts vary by context throughout this page. + ## Military Vessel Identification @@ -110,7 +114,7 @@ The system continuously monitors military aircraft activity to detect **surge ev ### Theater Classification -Military activity is analyzed across five geographic theaters: +Military activity is analyzed across five geographic theaters (a subset of the system's full conflict zone and hotspot definitions, scoped to regions with reliable ADS-B coverage for surge analysis): | Theater | Coverage | Key Areas | |---------|----------|-----------| @@ -237,7 +241,7 @@ Surges are detected by comparing current aircraft counts to historical baselines ### Military Theaters -Surge detection groups activity into strategic theaters: +Surge detection groups activity into four primary strategic theaters (a simplified grouping used for baseline comparison, distinct from the 5-theater and 9-theater lists used elsewhere): | Theater | Center | Key Bases | |---------|--------|-----------| @@ -382,7 +386,7 @@ The AI Strategic Posture panel aggregates military aircraft and naval vessels ac ### Strategic Theaters -Nine geographic theaters are monitored continuously, each with custom thresholds based on typical peacetime activity levels: +Nine geographic theaters are monitored continuously for posture analysis (this is a separate, more granular grouping than the surge detection theaters above, tailored for strategic posture assessment with per-theater strike capability thresholds): | Theater | Bounds | Elevated Threshold | Critical Threshold | |---------|--------|--------------------|--------------------| diff --git a/docs/orbital-surveillance.mdx b/docs/orbital-surveillance.mdx index f613c173c..8293c0f86 100644 --- a/docs/orbital-surveillance.mdx +++ b/docs/orbital-surveillance.mdx @@ -3,8 +3,6 @@ title: "Orbital Surveillance" description: "Real-time satellite orbital tracking on the 3D globe, powered by SGP4 propagation from CelesTrak TLE data." --- ---- - ## Overview The Orbital Surveillance layer tracks ~80–120 intelligence-relevant satellites in real time. Satellites are rendered at their actual orbital altitude on the globe with country-coded colors, orbit trails, and ground footprint projections. @@ -141,13 +139,13 @@ Client-side fetch uses a circuit breaker: 3 consecutive failures trigger a 10-mi | Live satellite positions on globe | Yes | Yes | Yes | | Orbit trails (15-min trace) | Yes | Yes | Yes | | Ground footprint markers | Yes | Yes | Yes | -| Overhead pass predictions | — | Yes | Yes | -| Revisit frequency analysis | — | Yes | Yes | -| Imaging window alerts | — | Yes | Yes | -| Cross-layer correlation (sat + GPS jam, sat + conflict) | — | Yes | Yes | -| Satellite intel summary panel | — | Yes | Yes | -| Sensor swath / FOV visualization | — | Yes | — | -| Historical pass log (24h) | — | Yes | 30-day archive | +| Overhead pass predictions | — | Planned | Planned | +| Revisit frequency analysis | — | Planned | Planned | +| Imaging window alerts | — | Planned | Planned | +| Cross-layer correlation (sat + GPS jam, sat + conflict) | — | Planned | Planned | +| Satellite intel summary panel | — | Planned | Planned | +| Sensor swath / FOV visualization | — | Planned | — | +| Historical pass log (24h) | — | Planned | Planned (30-day archive) | | Actual satellite imagery (SAR/optical) | — | — | Yes | --- diff --git a/docs/overview.mdx b/docs/overview.mdx index 992e02047..4da5d4c67 100644 --- a/docs/overview.mdx +++ b/docs/overview.mdx @@ -2,16 +2,17 @@ title: "Platform Overview" description: "World Monitor platform variants, capabilities, and specialized monitoring configurations for geopolitical and technology intelligence." --- -World Monitor runs multiple specialized variants from a single codebase, each optimized for different monitoring needs. +World Monitor runs five specialized variants from a single codebase, each optimized for different monitoring needs. ## Platform Variants -World Monitor runs four specialized variants from a single codebase, each optimized for different monitoring needs: - | Variant | URL | Focus | |---------|-----|-------| | **🌍 World Monitor** | [worldmonitor.app](https://worldmonitor.app) | Geopolitical intelligence, military tracking, conflict monitoring, infrastructure security | | **💻 Tech Monitor** | [tech.worldmonitor.app](https://tech.worldmonitor.app) | Technology sector intelligence, AI/startup ecosystems, cloud infrastructure, tech events | +| **😊 Happy Monitor** | [happy.worldmonitor.app](https://happy.worldmonitor.app) | Curated positive news, global progress tracking, science breakthroughs, conservation wins | +| **💰 Finance Monitor** | [finance.worldmonitor.app](https://finance.worldmonitor.app) | Global markets, stock exchanges, central banks, commodities, forex, crypto, economic indicators | +| **⛏️ Commodity Monitor** | [commodity.worldmonitor.app](https://commodity.worldmonitor.app) | Commodity markets, mining sites, processing plants, supply chains, trade flows | A compact **variant switcher** in the header allows seamless navigation between variants while preserving your map position and panel configuration. @@ -24,11 +25,11 @@ The primary variant focuses on geopolitical intelligence, military tracking, and ### Key Capabilities - **Conflict Monitoring** - Active war zones, hotspots, and crisis areas with real-time escalation tracking -- **Military Intelligence** - 220+ military bases, flight tracking, naval vessel monitoring, surge detection +- **Military Intelligence** - 226 military bases, flight tracking, naval vessel monitoring, surge detection - **Infrastructure Security** - Undersea cables, pipelines, datacenters, internet outages - **Economic Intelligence** - FRED indicators, oil analytics, government spending, sanctions tracking - **Natural Disasters** - Earthquakes, severe weather, NASA EONET events (wildfires, volcanoes, floods) -- **AI-Powered Analysis** - Focal point detection, country instability scoring, infrastructure cascade analysis +- **AI-Powered Analysis** - Focal point detection (AI-detected news convergence zones, distinct from static intelligence hotspots), country instability scoring, infrastructure cascade analysis ### Intelligence Panels @@ -36,14 +37,14 @@ The primary variant focuses on geopolitical intelligence, military tracking, and |-------|---------| | **AI Insights** | LLM-synthesized world brief with focal point detection | | **AI Strategic Posture** | Theater-level military force aggregation with strike capability assessment | -| **Country Instability Index** | Real-time stability scores for 20 monitored countries | +| **Country Instability Index** | Real-time stability scores for 24 monitored countries | | **Strategic Risk Overview** | Composite risk score combining all intelligence modules | | **Infrastructure Cascade** | Dependency analysis for cables, pipelines, and chokepoints | | **Live Intelligence** | GDELT-powered topic feeds (Military, Cyber, Nuclear, Sanctions) | ### News Coverage -80+ curated sources across geopolitics, defense, energy, think tanks, and regional news (Middle East, Africa, Latin America, Asia-Pacific). +344 curated sources across geopolitics, defense, energy, think tanks, and regional news (Middle East, Africa, Latin America, Asia-Pacific). --- @@ -65,7 +66,7 @@ The tech variant ([tech.worldmonitor.app](https://tech.worldmonitor.app)) provid | Layer | Description | |-------|-------------| -| **AI Datacenters** | 111 major AI compute clusters (≥10,000 GPUs) | +| **AI Datacenters** | 313 AI compute clusters tracked from Epoch AI dataset | | **Undersea Cables** | Submarine fiber routes critical for cloud connectivity | | **Internet Outages** | Network disruptions affecting tech operations | @@ -92,3 +93,100 @@ The tech variant ([tech.worldmonitor.app](https://tech.worldmonitor.app)) provid | **Singapore** | Grab, Razer, Sea Limited | | **Berlin** | Zalando, Delivery Hero, N26, Celonis | | **Tokyo** | Sony, Toyota, SoftBank, Rakuten | + +--- + +## Finance Monitor + +The finance variant ([finance.worldmonitor.app](https://finance.worldmonitor.app)) provides specialized layers for global financial markets and economic intelligence. + +### Finance Layers + +| Layer | Description | +|-------|-------------| +| **Stock Exchanges** | Major global stock exchanges with live status | +| **Financial Centers** | Key financial hubs and banking districts | +| **Central Banks** | 13 central banks with policy rate tracking | +| **Commodity Hubs** | Commodity exchanges (LME, CME, SHFE, NYMEX) | +| **Gulf Investments** | GCC sovereign wealth and investment zones | + +### Finance Panels + +| Panel | Description | +|-------|-------------| +| **Live Commodity Prices** | Real-time commodity futures and spot prices | +| **Market Radar** | VWAP-based anomaly detection with volume confirmation | +| **Sector Heatmap** | Visual sector performance across global markets | +| **Gulf Economies** | Indices, currencies, and oil data for 6 GCC countries | +| **Supply Chain** | Maritime chokepoint disruption scores and shipping indices | +| **WTO Trade Policy** | Active trade restrictions, tariff trends, bilateral trade flows | +| **Premium Stock Analysis** | AI-powered stock analysis with backtesting | + +### Finance News Categories + +- **Markets & Trading** - CNBC, MarketWatch, Yahoo Finance, Bloomberg, Reuters +- **Forex & Currencies** - Dollar index, central bank rate decisions, FX market +- **Bonds & Fixed Income** - Treasury yields, corporate bonds, credit spreads +- **Commodities & Futures** - Oil, gold, metals, agriculture, CME/NYMEX +- **Crypto & Digital Assets** - Bitcoin, Ethereum, DeFi, institutional crypto +- **Central Banks** - Federal Reserve, ECB, BoJ, BoE, PBoC policy updates + +--- + +## Commodity Monitor + +The commodity variant ([commodity.worldmonitor.app](https://commodity.worldmonitor.app)) focuses on mining, metals, energy commodities, and critical mineral supply chains. + +### Commodity Layers + +| Layer | Description | +|-------|-------------| +| **Mining Sites** | Major mine sites worldwide (operational, planned, suspended) | +| **Processing Plants** | Smelters, refineries, and separation plants | +| **Commodity Ports** | Mineral export/import ports and terminals | +| **Commodity Hubs** | Global commodity exchanges | +| **Trade Routes** | Commodity trade routes and shipping lanes | +| **Critical Minerals** | Lithium, cobalt, rare earth deposits with operator data | +| **Pipelines** | Oil and gas pipeline infrastructure | + +### Commodity Panels + +| Panel | Description | +|-------|-------------| +| **Live Commodity Prices** | Real-time futures and spot prices | +| **Mining & Commodity Stocks** | Major mining company equities | +| **Sector Heatmap** | Commodity sector performance visualization | +| **Gold & Silver** | Precious metals news and analysis | +| **Energy Markets** | Oil, gas, and energy commodity tracking | +| **Critical Minerals & Battery Metals** | Lithium, cobalt, nickel supply intelligence | +| **Mining Policy & ESG** | Regulatory and environmental compliance tracking | +| **Supply Chain & Shipping** | Freight indices, port congestion, route disruptions | + +--- + +## Happy Monitor + +The happy variant ([happy.worldmonitor.app](https://happy.worldmonitor.app)) curates positive news, human progress data, and uplifting stories. + +### Happy Layers + +| Layer | Description | +|-------|-------------| +| **Positive Events** | Curated good news and positive developments worldwide | +| **Acts of Kindness** | Community and humanitarian highlights | +| **Happiness Index** | Country-level happiness and wellbeing data | +| **Species Recovery** | Conservation wins and wildlife recovery stories | +| **Renewable Installations** | New renewable energy projects and milestones | + +### Happy Panels + +| Panel | Description | +|-------|-------------| +| **Good News Feed** | Curated positive news from around the world | +| **Human Progress** | Long-term progress metrics (poverty, literacy, health) | +| **Live Counters** | Real-time humanity counters (births, trees planted, etc.) | +| **Today's Hero** | Daily spotlight on impactful individuals | +| **Breakthroughs** | Science and technology breakthroughs | +| **5 Good Things** | Daily digest of five positive stories | +| **Conservation Wins** | Wildlife and ecosystem recovery stories | +| **Renewable Energy** | Clean energy milestones and deployment data | diff --git a/docs/premium-finance.mdx b/docs/premium-finance.mdx index a789b561c..59406e127 100644 --- a/docs/premium-finance.mdx +++ b/docs/premium-finance.mdx @@ -1,8 +1,8 @@ --- title: "Premium Finance" -description: "Premium finance is the finance-variant layer that ports the reusable stock-analysis product surface from daily_stock_analysis into World Monitor without importing that repo's full standalone app architecture." +description: "Premium finance is the finance-variant layer providing stock-analysis capabilities within World Monitor, originally inspired by a standalone daily_stock_analysis project but now fully integrated." --- -Premium finance is the finance-variant layer that ports the reusable stock-analysis product surface from `../daily_stock_analysis` into World Monitor without importing that repo's full standalone app architecture. +Premium finance is the finance-variant layer providing stock-analysis capabilities within World Monitor. These features were originally inspired by a standalone `daily_stock_analysis` project but are now fully integrated into the World Monitor codebase. This layer is intentionally split into: @@ -24,7 +24,7 @@ The current premium finance scope includes: - finance-variant premium panels - Redis-backed shared backend persistence for analysis history and backtests -It does **not** attempt full parity with the source repo's: +The original standalone project included capabilities that were intentionally not carried over: - standalone web app - relational database model @@ -84,7 +84,7 @@ Services and loading: ## Stock Analysis -The premium stock-analysis engine is a TypeScript port of the reusable core logic from the source repo, adapted to World Monitor conventions. +The premium stock-analysis engine was originally a TypeScript port of core logic from the standalone project, now fully native to World Monitor. It computes: @@ -168,7 +168,7 @@ It: - caches the brief - avoids unnecessary regeneration before the next local morning schedule -This is a World Monitor adaptation, not a port of the source repo's full scheduler/automation system. +This is a World Monitor native feature, not a direct port of the original project's scheduler/automation system. --- @@ -238,7 +238,7 @@ This feature is valid and production-usable within World Monitor's current archi - Redis is the canonical store for now - there is no standalone finance database - there is no agent/chat or notifications integration yet -- the source repo's broader provider stack was not fully ported +- the original project's broader provider stack was not carried over - China-focused market data/search layers were intentionally excluded -That tradeoff keeps the feature aligned with World Monitor rather than contaminating the repo with a second backend architecture. +These boundaries keep the feature aligned with World Monitor's architecture. diff --git a/docs/relay-parameters.mdx b/docs/relay-parameters.mdx index 96f52ea6d..120002b29 100644 --- a/docs/relay-parameters.mdx +++ b/docs/relay-parameters.mdx @@ -5,7 +5,11 @@ description: "This document covers all environment variables used by the AIS/Ope This document covers all environment variables used by the AIS/OpenSky relay path: - Railway relay process: `scripts/ais-relay.cjs` -- Vercel relay proxy endpoints: `api/opensky.js`, `api/ais-snapshot.js`, `api/polymarket.js`, `api/rss-proxy.js` +- Vercel relay proxy endpoints (legacy): `api/opensky.js`, `api/ais-snapshot.js`, `api/polymarket.js`, `api/rss-proxy.js` + + + The `api/*.js` edge function endpoints listed above are legacy patterns being phased out in favor of the sebuf proto-first approach. See [Adding Endpoints](/adding-endpoints) for the current recommended pattern. + - Server relay callers: `server/worldmonitor/*` handlers - Optional browser local fallback callers in `src/services/*` diff --git a/docs/roadmap-pro.md b/docs/roadmap-pro.md index ff1a9608b..2622392a4 100644 --- a/docs/roadmap-pro.md +++ b/docs/roadmap-pro.md @@ -1137,7 +1137,7 @@ Enhance existing risk analytics with scenario analysis and convergence alerting. **Priority**: P1 | **Size**: M | **Dependencies**: #4.1 **Description**: -Pro users should NOT need to configure individual API keys for Finnhub, FRED, ACLED, etc. A single World Monitor Pro subscription gives access to all 22 services. +Pro users should NOT need to configure individual API keys for Finnhub, FRED, ACLED, etc. A single World Monitor Pro subscription gives access to all 24 services. **Implementation**: diff --git a/docs/signal-intelligence.mdx b/docs/signal-intelligence.mdx index 0c4b3ffb8..5daedadd3 100644 --- a/docs/signal-intelligence.mdx +++ b/docs/signal-intelligence.mdx @@ -75,7 +75,7 @@ Each refresh cycle compares current state to previous snapshot, applying thresho ### Entity-Aware Correlation -The signal engine uses a **knowledge base of 100+ entities** to intelligently correlate market movements with news coverage. Rather than simple keyword matching, the system understands that "AVGO" (the ticker) relates to "Broadcom" (the company), "AI chips" (the sector), and entities like "Nvidia" (a competitor). +The signal engine uses a **knowledge base of 66 entities** to intelligently correlate market movements with news coverage. Rather than simple keyword matching, the system understands that "AVGO" (the ticker) relates to "Broadcom" (the company), "AI chips" (the sector), and entities like "Nvidia" (a competitor). #### Entity Knowledge Base @@ -95,12 +95,12 @@ Each entity in the registry contains: | Type | Count | Examples | |------|-------|----------| -| **Companies** | 50+ | Nvidia, Apple, Tesla, Broadcom, Boeing, Lockheed Martin, TSMC, Rheinmetall | -| **Indices** | 5+ | S&P 500, Dow Jones, NASDAQ | -| **Sectors** | 10+ | Technology (XLK), Finance (XLF), Energy (XLE), Healthcare (XLV), Semiconductors (SMH) | -| **Commodities** | 10+ | Oil (WTI), Gold, Natural Gas, Copper, Silver, VIX | +| **Companies** | 38 | Nvidia, Apple, Tesla, Broadcom, Boeing, Lockheed Martin, TSMC, Rheinmetall | +| **Indices** | 3 | S&P 500, Dow Jones, NASDAQ | +| **Sectors** | 5 | Technology (XLK), Finance (XLF), Energy (XLE), Healthcare (XLV), Semiconductors (SMH) | +| **Commodities** | 6 | Oil (WTI), Gold, Natural Gas, Copper, Silver, VIX | | **Crypto** | 3 | Bitcoin, Ethereum, Solana | -| **Countries** | 15+ | China, Russia, Iran, Israel, Ukraine, Taiwan, Saudi Arabia, UAE, Qatar, Turkey, Egypt | +| **Countries** | 11 | China, Russia, Iran, Israel, Ukraine, Taiwan, Saudi Arabia, UAE, Qatar, Turkey, Egypt | #### How Entity Matching Works @@ -148,7 +148,7 @@ This broad coverage enables correlation detection across diverse geopolitical an ### Entity Registry Architecture -The entity registry is a knowledge base of 600+ entities with rich metadata for intelligent correlation: +The entity registry is a knowledge base of 66 entities with rich metadata for intelligent correlation: ```typescript { @@ -168,11 +168,12 @@ The entity registry is a knowledge base of 600+ entities with rich metadata for | Type | Count | Use Case | |------|-------|----------| -| `company` | 100+ | Market-news correlation, sector analysis | -| `country` | 200+ | Focal point detection, CII scoring | -| `index` | 20+ | Market overview, regional tracking | -| `commodity` | 15+ | Energy and mineral correlation | -| `currency` | 10+ | FX market tracking | +| `company` | 38 | Market-news correlation, sector analysis | +| `country` | 11 | Focal point detection, CII scoring | +| `index` | 3 | Market overview, regional tracking | +| `commodity` | 6 | Energy and mineral correlation | +| `sector` | 5 | Sector cascade analysis | +| `crypto` | 3 | Cryptocurrency correlation | **Lookup Indexes**: diff --git a/docs/strategic-risk.mdx b/docs/strategic-risk.mdx index e0c2fbbb9..c0dc52763 100644 --- a/docs/strategic-risk.mdx +++ b/docs/strategic-risk.mdx @@ -118,9 +118,9 @@ News clusters are automatically enriched with nearby critical infrastructure. Wh | Type | Source | Examples | |------|--------|----------| | **Pipelines** | 88 global routes | Nord Stream, Keystone, Trans-Siberian | -| **Undersea Cables** | 55 major cables | TAT-14, SEA-ME-WE, Pacific Crossing | -| **AI Datacenters** | 111 clusters (≥10k GPUs) | Azure East US, GCP Council Bluffs | -| **Military Bases** | 220+ installations | Ramstein, Diego Garcia, Guam | +| **Undersea Cables** | 86 major cables | TAT-14, SEA-ME-WE, Pacific Crossing | +| **AI Datacenters** | 313 clusters | Azure East US, GCP Council Bluffs | +| **Military Bases** | 226 installations | Ramstein, Diego Garcia, Guam | | **Nuclear Facilities** | 100+ sites | Power plants, weapons labs, enrichment | ### Location Inference