Atlas Score v1 shipped earlier today with a known limitation: it weighted CHANGE more than LEVEL. Russia (B− 23.8), China (B− 25.4), and North Korea (B− 24.0) all scored low despite massive baseline censorship — because nothing was shifting this week.
v2 fixes that with a base-rate-weighted formula:
| Component | v1 | v2 |
|---|---|---|
| Structural baseline (12-month censorship-weighted incidents + tier floor) | 0% | 50% |
| 30-day forecast mean | 0% | 20% |
| 7-day current forecast max_risk | 40% | 15% |
| 24h incident density | 25% | 10% |
| Anomaly disagreement | 5% | 5% |
| 7-day trend delta | 20% | 0% (moved to separate field) |
| Calibration quality | 10% | moved to separate confidence field |
Two important honesty additions:
visibility_warning in raw_signals because tier-4 + zero observed incidents = we can't see inside.| Country | v1 score | v2 score | Δ |
|---|---|---|---|
| AZ Azerbaijan | 15.3 A | 50.2 C | +34.9 |
| CN China | 25.7 B- | 59.1 C | +33.4 |
| ER Eritrea | 23.9 B- | 56.7 C | +32.8 |
| TM Turkmenistan | 24.7 B- | 57.1 C | +32.4 |
| KP North Korea | 24.5 B- | 56.5 C | +32.0 |
| SY Syria | 24.2 B- | 47.9 C | +23.7 |
| RU Russia | 23.6 B- | 47.1 C | +23.5 |
| BY Belarus | 24.4 B- | 46.8 C | +22.4 |
| CU Cuba | 23.9 B- | 46.1 C | +22.2 |
Decision targets: RU/CN/KP/BY should hit D+ (≥65). v2 gets them into the C cluster (47-59) — clearly elevated from v1's B-, but still below D. To push them past 65 strictly would require ≥58% tier weight, which crosses from "rebalanced composite" into "tier with decoration." Holding v2 as experimental until grade bands are widened (e.g. C 40-55, D 55-70, F 70+).
GET /v1/atlas/score-v2 — leaderboard (≥experimental)
GET /v1/atlas/score-v2/IR — single country breakdown
GET /v1/atlas/score — v1 still the default