DEV Community

Gabriel Mahia
Gabriel Mahia

Posted on

What Happens When a Drought Signal Doesn't Go Anywhere

A smallholder farmer in Turkana County has crop insurance.

The insurance contract is parametric: when rainfall drops 40% below the seasonal mean, the payout triggers automatically. No assessor visit. No claims form. The satellite confirms the threshold, the payment fires.

The rainfall data exists. CHIRPS processes it daily at 0.05° resolution — about 5km grid cells across all of Kenya. The threshold is computable. The payout is automatable.

What doesn't exist: the connection between the data and the contract.

wapimaji-mcp reads the rainfall data. bima-mcp holds the insurance contract. Neither knows the other exists. The drought signal fires into silence.

This is the coordination problem

It's not a data problem. NASA and NOAA publish the data. It's not a model problem — the threshold calculation is simple arithmetic. It's not a deployment problem — both tools run on PyPI.

It's a routing problem. There's no layer that says: when this signal crosses this threshold, notify these tools.

That layer is africa-coord-bus.

What the bus does

pip install africa-coord-bus
Enter fullscreen mode Exit fullscreen mode

When wapimaji-mcp detects drought phase ≥ 2 (Stressed), it publishes:

bus.publish(CoordinationEvent(
    domain=EventDomain.WATER,
    event_type="drought_alert",
    source="wapimaji-mcp",
    severity=EventSeverity.ALERT,
    location=KenyaLocation(county="Turkana", county_code=23),
    data={"ndma_phase": 3, "rainfall_deficit_pct": 42.0},
))
Enter fullscreen mode Exit fullscreen mode

The bus routes this to five downstream tools automatically:

  • bima-mcp.evaluate_parametric_payout
  • kilimo-mcp.issue_drought_advisory
  • soko-mcp.price_alert
  • afya-mcp.activate_malnutrition_watch
  • county-mcp.alert_county_health

Six weeks earlier than the current state.

Offline-first

Rural Kenya does not have reliable connectivity. Every event is written to a local queue before dispatch. If dispatch fails, the queue persists. When connectivity restores, the queue replays.

The coordination infrastructure works at the edge.

The gap between data and action

The famine early warning literature has documented this gap for decades. Data exists. Decisions lag. Coordination between the data system and the response system breaks down.

The gap is not technical — it's architectural. No one built the routing layer.

africa-coord-bus is that layer.

Top comments (0)