skip to content
Corpus

What the model learned from, and what it revealed

Every domain the current release trained and evaluated on, what was computed from each source, and the gate verdict — promoted or refused, with the reason. Failures are listed, not hidden.

v0.9.0 · promoted
Corpora
7
plus one synthetic control
Promoted
2/8
climate, seismic
Parameters
1.88M
1.35M shared trunk + latent
Last run
v0.9.0
completed · v090-run1b · frozen config

Domains: considered, computed, revealed

Release v0.9.0. Chronological train / calibration / test splits; nothing published unless the pre-declared gate clears.

loading release summary…

Upstream providers — who actually produced the numbers

Behind the 7 real corpora and the partner feeds. Satellite operators appear here only with the exact, narrow thing they contribute.

direct — Zeno fetches these itself
USGS Earthquake Catalogin use
seismic events per tectonic region · via direct fetch

Promoted domain. Event magnitudes and inter-event gaps.

row fields: event_time · available_at · magnitude · region entity id · catalog revision

NOAA GHCN-Dailyin use
station temperature and precipitation · via direct fetch

Promoted domain — the one decisive baseline win (cold extreme).

row fields: station id · observation date · available_at · element code · QC flag

USGS Water Servicesin use
daily gauge discharge · via direct fetch

Trained and evaluated; refused at the gate.

row fields: gauge id · observation date · available_at · discharge · provisional flag

NOAA SWPCin use
Kp, Dst and solar-wind indices · via direct fetch

Trained and evaluated; refused at the gate.

row fields: index name · observation time · available_at · estimated vs final flag

NASA FIRMSin use
thermal fire detections and radiative power · via direct fetch

Wildfire corpus; refused — coverage still too thin.

row fields: detection time · available_at · satellite/instrument · confidence · FRP

FRED (St. Louis Fed)in use
204 macro series · via direct fetch

Macro corpus; refused at the gate.

row fields: series id · observation date · available_at (vintage) · revision

Coinbase / Celo public feedsin use
daily bars and chain activity · via direct fetch

Markets corpus; refused at the gate.

row fields: instrument / chain id · bar close time · available_at · venue

relayed — a partner app fetches, Zeno inherits the lineage
EUMETSAT LSA-SAFnarrow
near-real-time thermal evidence for early ignition · via AntiFogo (antifire.live)

Primary direct input to AntiFogo's early-ignition system, relayed to Zeno inside wildfire rows. Zeno claims it only where the row's own lineage names it; FIRMS corroborates when the feed is dark.

row fields: provider/product · native resolution · processing level · channel class · available_at

row-level contract →
Open Cosmos / DataCosmosnarrow
NDRE fuel moisture, marine ROI and urban/agriculture scene metrics · via AntiFogo + QuakePulse

Optional derived features only. Raw imagery is not in the public corpus. A scene is claimed only with a persisted scene ID and capture time — a sentinel zero is a no-scene marker, not evidence.

row fields: scene id · capture time · available_at · processing level · channel class = derived

row-level contract →
Copernicus Marinecorroboration only
SST, anomaly, chlorophyll, degree-heating weeks, waves · via SeaWatch (QuakePulse)

Derived products, licence-checked per channel. Marine is an evaluation lane, not a trained domain.

row fields: product id · native resolution · channel class · licence · available_at

row-level contract →
Reanalysis and forecast weather productscorroboration only
T2M, humidity, wind, precipitation, cloud cover · via AgroWatch / UrbanWatch (QuakePulse)

Labelled derived, never treated as station observations. Partner model bands enter as reference predictions.

row fields: model name + version · horizon · channel class = model output · available_at

row-level contract →
Raw satellite imagery archivesnot ingested
scene-level pixels · via

No pixel ingestion path exists. Zeno consumes tabular channels with row-level lineage; imagery would need its own contract and licence review before any claim.

how to readA provider being registered proves nothing. Only a row's own lineage decides what may be claimed, which is why EUMETSAT and Open Cosmos are marked narrow: they contribute specific derived channels inside partner rows, not the corpus at large. Nothing here is a promoted domain unless the gate said so. Open any chart segment in the workspace to see which of these contracts produced that exact view.

Incoming sources — schemas pinned, data pending

The apps adapt to the model's contract, never the reverse. Each source enters only after a live probe passes: contract version, availability timestamps, licences and leakage checks — then a forecast-gate rerun decides if it can contribute.

AntiFogoaccumulating
feeds wildfire · #5052
278 municipalities (Portugal mainland) · daily snapshots, append-only revisions
fire_risk_index · model outputdetection_count · active_fire_count · observedt2m_c · rh_pct · wind_kmh · observeddetection confidence · station count · derived

Live at antifire.live. History starts 2026-08-29 — real but thin, so it widens entity coverage without moving the wildfire gate yet. Publication-time available_at on every row.

EarthWatch (QuakePulse)live
feeds seismic · #654
71 tectonic regions · daily aggregates, 15-min publication lag
event_count · max_magnitude · mean_depth · observednetwork_count · derived

Live. Joins the seismic corpus as a namespaced second source alongside USGS; quiet days stay quiet — no synthetic events.

AirWatch (QuakePulse)live
feeds airquality · #654
495 stations + 428 forecast wards · hourly, resampled daily, 1-h publication lag
PM2.5 · PM10 · NO₂ · O₃ · SO₂ · CO · observedPM2.5 forecast band · model output

Live as the `airquality` pack. Stations carry observations; wards carry the AirWatch PM2.5 model (name, version, horizon attached) and join station days as reference predictions. The forecast era began 2026-08-24, so the reference overlap window is thin and grows daily.

AgroWatch (QuakePulse)live
feeds agriculture · #654
31 districts · daily, 24-h publication lag
NDVI · NDRE · EVI · stressed_fraction · derivedT2M · precip · soil moisture · derivedwater-stress nowcast · model output

Live as the new `agriculture` pack. All channels are derived products (satellite + reanalysis lineage), labelled as such — never treated as direct observations.

SeaWatch (QuakePulse)live
feeds marine · #654
22 sites · daily, 24-h publication lag
SST · SST anomaly · chlorophyll · DHW · derivedwave height · period · derived

Live as the new `marine` pack. Copernicus Marine lineage; licences verified per channel before ingestion.

UrbanWatch (QuakePulse)live
feeds urban · #654
7 cities · hourly, resampled daily, 1-h publication lag
T2M · apparent temp · RH · wind · precip · derivedcloud cover · derivedpeak apparent-temp band · model output

Live as the `urban` pack. Real model peak-heat rows (name, version, horizon) are emitted and land as reference predictions, never as observations.

Public market feedsbuilding
feeds markets
CELO/USD and reference pairs · daily bars
OHLCV · observedreturns · range · derived

Binance/CoinGecko fallback for CELO price (Coinbase carries no CELO pair), as a context channel on markets.

how to readObserved is a measurement. Derived is computed from measurements. Model output is another model's forecast — never blended into observations; its disagreement with reality is itself evidence the surprise latent can use. Model-output rows must declare when they were issued, so nothing enters a backtest before it was knowable.

Training run v0.9.0 — final status

v090-run1b · 1x NVIDIA L4 (Hugging Face Jobs) · read from the job log at 13:00Z

promoted
9/9 stages
  1. Preflight, schema and leakage checkscomplete06:04Z
  2. Availability-aware feature construction, 8 domainscomplete06:32Z
  3. 12 epochs, shared trunk + per-domain headscomplete08:40Z
  4. Held-out evaluation per domaincomplete09:20Z
  5. Leave-one-domain-out retrain, 8 foldscomplete10:35Z
  6. Frozen-trunk transfer (GiftEval, LOTSA, 4 partner lanes)complete11:40Z
  7. Calibration fit on the calibration split onlycomplete12:05Z
  8. Per-head promotion gatescomplete12:20Z
  9. Checkpoint snapshot + gated ONNX exportcomplete12:36Z

per-domain checkpoints

Climate extremestrainedpromoted
Streamflow regime shiftstrainedrefused
Market regime breakstrainedrefused
Seismicity transitionstrainedpromoted
Wildfire activity shiftstrainedrefused
Geomagnetic storm onsettrainedrefused
On-chain activity shiftstrainedrefused
Macroeconomic shockstrainedrefused

checkpoint snapshot

complete

Run complete. Checkpoint multi-v0.9.0-candidate.pt (7.6 MB), full report and promoted-only ONNX exports were snapshotted at 12:36 UTC.

calibration & gates

complete

Calibration is fitted on the calibration split only, then each head faces its pre-declared gate. Only heads that pass are exported.

how to readGreen means finished, amber means running right now, grey means queued. A finished run is not a promoted model: the gates at the end decide which domains ship and which are published as refusals. The run finished and is frozen. Climate and seismic cleared every gate criterion, including the paired lift over a logistic regression on the same features, so v0.9.0 is published as an immutable promoted revision. Hydrology, markets, macro and on-chain score above chance but fail the paired lift gate; wildfire has too few test positives; space weather's compound head sits at chance. Air quality, agriculture, marine and urban ran as frozen-trunk transfer lanes only.

What was computed

per-domain adapters → shared trunk → shared surprise latent z^S → per-domain heads

  • Seismic. event magnitudes and inter-event gaps, multi-scale windows (5/20/100), robust median/IQR scaling
  • Streamflow. daily discharge per gauge, multi-scale windows, calendar day-of-year, robust scaling
  • Markets. daily OHLCV bars, log returns and range, multi-scale windows, robust scaling
  • Space weather. NOAA indices (Kp, Dst, solar wind), multi-scale windows, calendar features
  • Climate. station daily temperatures and precipitation, calendar features, robust scaling
  • Macro. 204 FRED series, month-over-month transforms, multi-scale windows
  • Wildfire. FIRMS detection counts and radiative power, calendar features, robust scaling
  • Chaos control. synthetic chaotic systems — control corpus, never evidence about the world
calibration-only horizon selection (never chosen on test)residual head trained against a frozen logistic baselineavailability-aware chronological splits keyed on available_atwidened seismic, wildfire, space-weather and on-chain corporafrozen-trunk transfer lanes for air quality, agriculture, marine and urbanpaired logistic-baseline lift with a CI excluding zero required for promotioncollapse guard at 0.005 of chance; ONNX export gated on the same run report

Training run v0.8.0

1x NVIDIA L4 (Hugging Face Jobs) · started Fri, 28 Aug 2026 11:30 · status: completed

Run finished and is frozen. One real-corpus domain (climate) promoted; two are required. The refusal report is published in full rather than the run being re-tuned after the fact.

gate additions and what they returned
  • focal loss + per-entity resampling on rare targets — heads left chance in seismic, macro and wildfire, but none of them beat the logistic baseline with a CI excluding zero
  • per-target calibration refit on a held-out calibration split — worst-target ECE cleared the bound everywhere except wildfire (0.151)
  • macro corpus widened to 198 FRED series — entity minimum cleared; only one target beat the baseline
  • declared abstention operating point — climate gains 4.7 points of selective accuracy at 80% coverage; hydrology's gain was too small to be useful and blocked its promotion
  • ONNX export gated on the same run report — only climate qualified, so in-browser scoring keeps the v0.7.0 heads elsewhere

A running job is never edited: corrections become a new immutable versioned run. Domains in scope: seismic, hydrology, markets, spaceweather, climate, macro, wildfire, chaos. Held out for transfer: gifteval, lotsa.