Climate Black Box

The money arrives. The reports stop.

Climate projects are funded on a promise and judged on a final report. After that report, almost nobody looks again.

So we kept looking.

Every month, from orbit. The same satellites, the same method, the same site — long after the funding has been spent and the file has been closed.

Two forests in Kenya.

Both committed to holding their vegetation cover. We measured both with identical methods, from public Landsat data, for forty-five months.

One of them kept its promise.

Everything below this line is real: real satellite measurements, stored in Oracle, with every record independently verifiable. Keep scrolling.

↓ scroll

Transmara, South-West Mau

Four hundred hectares of Kenyan highland forest. The same ground, imaged three years apart by the same satellites — nothing here is a stock photograph.

NDVI 0.58 across the frame
October 2023 — vegetation cover at its baseline
LC09_L2SP_169061_20231009_02_T1 · 1.6% cloud

Landsat Collection 2 Level-2 · USGS · public domain

DEMONSTRATION · satellite observations and rainfall are real and traceable to public sources · the project, its commitment and any intervention are simulated

Climate Black Box

Now check it yourself.

Everything below is live. The measurements come from public satellite data, the records sit in Oracle Autonomous Database, and each one is committed to a public blockchain, so any later change to one shows up. Switch sites to see the same method reach a different answer.

Transmara Forest Block, South-West Mau (demonstration)

Simulated

Narok County, Kenya · approximate demonstration polygon, not a surveyed boundary

Observations
45
monthly periods
Usable
42
3 fully clouded
Source scenes
45
Landsat 8 / 9
Latest NDVI
0.467
2026-09
Commitment
0.62
by 2026-12-31

Baseline approved by L. Mugwanja (demonstration reviewer) on 2026-01-15 · extraction status approved

01 — Observe

Forty-five months of looking.

Every usable satellite pass over the site, for nearly four years — whether or not anyone was still reporting on it. Cloud and shadow are masked pixel by pixel, and a month we could not see is left as a gap rather than filled with a guess.

ILLUSTRATIVE IMAGERY · MEASUREMENTS COME FROM SATELLITE DATA

The measurement

Monthly mean NDVI across the project boundary, from Landsat Collection 2 Level-2 surface reflectance.

Hollow points fall below 75% valid pixels and are excluded from alerting. Dashed verticals are months with no usable observation — the line breaks rather than guessing across them.

Real measurement
0.30.40.50.60.70.80.92023202420252026
Hover any month for its source scene, value and pixel coverage. Hollow marks fall below 75% valid pixels. Dashed verticals are months with no usable observation — the line breaks rather than guessing across them.

The rule

Robust linear baseline over the approved window, a band of ±1.5 residual sigma, and divergence only after two consecutive periods below it.

A period under 75% pixel coverage can never raise an alert, and breaks the run rather than extending it — we cannot say a site was behind in a month we could not see.

Divergence from the approved trajectoryopen
Observed
-0.1183 seasonally-adjusted anomaly
Expected band
[0.0273, 0.1601] around 0.0937
Deviation
-0.2119 NDVI over 5 consecutive periods
Rule
divergence-v1 — robust linear baseline, residual sigma band, 2 consecutive periods
Data quality
coverage_okseasonally_adjusted
Evidence
5 records
Observed 2026-09 at -0.118, below the expected band [0.027, 0.160] around 0.094, for 5 consecutive periods. All 5 breaching periods had valid-pixel fraction at or above 75%, so this is not a data-coverage artefact. 3 period(s) excluded for valid-pixel fraction below 75%: 2025-04, 2025-08, 2026-04.
What this does not establishNDVI is a vegetation greenness indicator, not tree survival, canopy cover or carbon. The comparison is seasonally adjusted against the approved baseline window. Seasonally adjusted: each month is compared with the same calendar month in the approved baseline window (11 of 12 months have baseline coverage; seasonal swing 0.218 NDVI). Periods whose calendar month has no baseline coverage are excluded rather than estimated. Rainfall context is ERA5 at roughly 25 km and cannot resolve conditions at this site. No cause is established by this alert.

How this is bounded

The model receives only this alert's own evidence, capped at four kilobytes, every fact carrying the id of the record it came from.

An answer citing evidence we never supplied is rejected, as is one that asserts a cause. When that happens the deterministic fallback is used and labelled as such.

Model outputocid1.generativeaimodel.oc1.eu-frankfurt-1.amaaaaaask7dceya4tdabclcsqbc3yj2mozvvqoq5ccmliv3354hfu3mx6bq · investigate-v2 · grounded in 16 evidence records

A decline in NDVI over 5 consecutive periods (2026-04 to 2026-08) was observed in the Transmara Forest Block, with a seasonally adjusted anomaly of -0.1183. The observed NDVI values were 0.7330, 0.7352, 0.6551, 0.5954, and 0.5244 for the respective periods. The quality of the observations was high, with 1.00 share of pixels surviving cloud, shadow, and saturation masking for most periods, except for 2026-04 which had a quality of 0.41 and was excluded from alerting.

Hypotheses — not conclusions

  1. The decline in NDVI may reflect a change on the ground, such as clearance, grazing, fire, or harvesting, which would be expected if there was a significant disturbance to the vegetation in the project area.

    moderate confidence · cites 5 evidence records

  2. The decline in NDVI is consistent with a rainfall-induced stress, as the ERA5 reanalysis data shows a decrease in monthly precipitation from 273.8 mm in 2026-03 to 15.8 mm in 2026-06, which would be expected to impact vegetation health.

    moderate confidence · cites 4 evidence records

  3. The decline in NDVI may be due to measurement limitations, such as partial pixel coverage or changes in satellite viewing angles, which would be expected to introduce noise into the NDVI signal.

    lower confidence · cites 5 evidence records

What would settle it

Further evidence is needed to distinguish between these hypotheses, such as high-resolution satellite imagery, field observations, or data on land use changes in the project area. Additionally, more detailed information on the rainfall patterns and soil moisture conditions at the site would be helpful in understanding the potential impact of rainfall on vegetation health.

04 — Act and re-measure

Then go back and look again.

A corrective action joins the evidence chain like any measurement. What happened afterwards is compared on a seasonally adjusted basis, and reported honestly even when the honest answer is that nothing has changed yet.

Replanting and firebreak maintenance across the northern blockSimulated

Demonstration field team · carried out 2026-06-15 · follow-up 2026-12-01 · planned

Expected: Vegetation cover stabilises and recovers toward the baseline over two seasons

No measurable change
Before
-0.0300
14 periods
After
-0.0652
3 periods
Change
-0.0352
mean anomaly

The mean anomaly moved by -0.0352, which is within the spread of the observations themselves (0.0767). On this evidence the trajectory has not measurably changed.

On attributing this to the interventionA change after an intervention is correlation, not proof of cause. Rainfall, season and measurement coverage all moved over the same period. Establishing attribution would need a comparable untreated area observed over the same window.
Recommended next step

Hold, and extend the observation window.

No measurable change either way. With this many periods, a real effect of modest size would not yet be visible, so absence of change is not evidence the intervention failed.

05 — Verify

Change one record and the check fails.

Each evidence record is hashed and committed to a public blockchain, every manifest carrying the hash of the one before it. Press Verify to check it against the chain — then press Tamper and watch the check fail.

Evidence chain

7 records · 7 anchored on CKB testnet.

Each manifest is hashed and committed on chain, carrying the hash of the one before it.

The chain is an application-level structure anchored on CKB. It is not enforced by an on-chain script, and we do not claim it is.

Tamper alters one field of a copy before checking it. Nothing stored is changed — the point is to show the check can fail.

This record is anchored on ckb-testnet. Press Verify to re-hash the stored manifest and compare it with the commitment on chain.