From reactive administration to predictive governance — observe, forecast, intervene before losses materialise.
Real scenes from public STAC catalogues — Sentinel-2 optical, SAR when monsoon cloud exceeds 70%, Landsat fallback. Pull fresh rows: GET /api/satellite/refresh
| District | Platform | Scene date | Cloud | Age | Evidence |
|---|---|---|---|---|---|
| Nashik | Sentinel-1 SAR | 2026-08-20 | 78.71% (optical blocked → SAR) | 3d | LIVE |
| Latur | Sentinel-1 SAR | 2026-08-15 | 77.39% (optical blocked → SAR) | 8d | LIVE |
| Yavatmal | Sentinel-2 | 2026-08-10 | 54.61% | 13d | LIVE |
| Ratnagiri | Sentinel-2 | 2026-08-21 | 58.99% | 2d | LIVE |
A published signal is EMBARGOED until its releaseAt — until then it returns 404 to every tier, including T4, so enterprises can never front-run farmers.
No embargoed signals queued
POST /api/v1/signals to publish a signal with a releaseAt — it stays EMBARGOED (404 to every tier) until that instant, then flips atomically to PUBLISHED.
Until releaseAt, embargoed rows return 404 to every tier including T4. A release-due pass (POST /api/v1/signals/release) flips due signals to PUBLISHED and fires farmer-push · IVR · SMS · public-api · partner-webhook.
Every non-green CDEWS signal becomes a dispatch to a named recipient, timed by lead-time-to-harvest. Each dispatch demands action-taken or reason-not-taken.
| Trigger | District | Crop | Lead time | Recipients | Status | Action |
|---|---|---|---|---|---|---|
| 45d-diversification | nashik | onion | 72d | farmers,FPOs,KVKs | SENT | |
| 45d-diversification | yavatmal | cotton | 102d | farmers,FPOs,KVKs | SENT |
Sorted by risk. Red rows demand attention before the next sowing window closes.
| District | Crop | Band | Concentration | Surplus pressure | Price vs cost (₹/qtl) | Glut score |
|---|---|---|---|---|---|---|
| Nashik | Onion | RED | 1.21× baseline | 1.67× | ₹-1,400 | 84 |
| Yavatmal | Cotton | AMBER | 1.13× baseline | 1.16× | ₹-700 | 52 |
| Nashik | Tomato | GREEN | 0.77× baseline | 1.10× | ₹-200 | 44 |
| Latur | Soybean | GREEN | 1.02× baseline | 1.05× | +₹500 | 20 |
| Ratnagiri | Rice | GREEN | 1.01× baseline | 0.96× | +₹150 | 8 |
| Nashik | Grapes | GREEN | 0.28× baseline | 0.27× | +₹1,000 | 6 |
| Nashik | Tur (Pigeonpea) | GREEN | 0.78× baseline | 0.67× | +₹1,800 | 5 |
| Latur | Tur (Pigeonpea) | GREEN | 0.83× baseline | 0.69× | +₹1,800 | 5 |
| Yavatmal | Soybean | GREEN | 0.70× baseline | 0.72× | +₹500 | 5 |
| Yavatmal | Tur (Pigeonpea) | GREEN | 0.88× baseline | 0.73× | +₹1,800 | 5 |
| Nashik | Maize | GREEN | 0.79× baseline | 0.72× | +₹150 | 3 |
| Ratnagiri | Maize | GREEN | 0.93× baseline | 0.84× | +₹150 | 3 |
SIMULATED demo-scale acreage · SCENARIO absorbable-demand model · score = 0.35·anomaly + 0.25·surplus + 0.15·volatility + 0.25·below-cost depth
No forecasts recorded for this crop
Forecasts appear once the price model has a season of history to fit bands from.
Blueprint §18: publish the forecast history and its error — trust is earned by being wrong out loud.
DDI (diversification index): 0.148 — lower = more concentrated.
Circle size ∝ glut score · colour = alert band. District centroids; demo scale.
The decision engine answers "so what?" — not just a dashboard. Move 8% of Nashik onion acreage to tur + maize and re-run the surplus model.
Example output: aggregate farm-income risk ↓ ~18% · water requirement ↓ ~9% · supply-demand mismatch ↓ ~31%.SCENARIO optimisation model output — not administratively chosen
Open interactive simulator →priority = uncertainty × ₹ value-at-risk × farmers × urgency. Satellites checked first; drones fly only where the model is unsure.