mbarbosa1 commited on
Commit
f5ba042
·
verified ·
1 Parent(s): f59d9a0

promote main to v0.9.0 (approved): climate + seismic promoted

Browse files
Files changed (7) hide show
  1. README.md +114 -229
  2. SHA256SUMS +6 -6
  3. benchmark.json +252 -342
  4. config.json +521 -517
  5. model.safetensors +2 -2
  6. release.json +7 -8
  7. report.json +0 -0
README.md CHANGED
@@ -20,11 +20,11 @@ tags:
20
  an observable departure happens next, calibrated, with an explicit option to
21
  abstain.**
22
 
23
- [![latest](https://img.shields.io/badge/latest%20revision-v0.7.0-1f2937)](https://huggingface.co/mbarbosa1/zeno-divergent-v1/tree/v0.7.0)
24
- [![recommended](https://img.shields.io/badge/recommended-v0.7.0-166534)](https://huggingface.co/mbarbosa1/zeno-divergent-v1/tree/v0.7.0)
25
- [![params](https://img.shields.io/badge/parameters-1.87M-1f2937)](#architecture)
26
- [![corpora](https://img.shields.io/badge/real%20corpora-7%20of%208-1f2937)](#training-data)
27
- [![gate](https://img.shields.io/badge/promotion%20gate-beats%20logistic%20on%202%20domains-166534)](#the-promotion-gate)
28
  [![site](https://img.shields.io/badge/zenodivergent.dev-live-1f2937)](https://zenodivergent.dev)
29
 
30
  </div>
@@ -35,37 +35,24 @@ abstain.**
35
 
36
  | revision | model | corpus | promoted domains | loader |
37
  | --- | --- | --- | --- | --- |
38
- | **`v0.7.0`** | multi-domain, 1,874,220 params — **latest and recommended** | 8 corpora, 7 real | hydrology, climate | explicit revision (safetensors + config) |
39
- | `v0.6.0` | multi-domain, 1,874,220 params — multi-scale windows + robust normalisation | 8 corpora, 7 real | hydrology, markets, climate | explicit revision |
40
- | `v0.5.0` | multi-domain, 1,677,870 params — pin this for seismic / space weather | 8 corpora, 7 real | seismic, hydrology, markets, spaceweather | explicit revision |
41
- | `v0.3.1` | single-domain, 30,859 params `transformers`-native custom pipeline | seismic only | seismic | pinned revision, `trust_remote_code=False` |
42
- | `v0.2.3` | frozen v0.2 prototype | synthetic | | remote-code loader |
43
-
44
- **Read this before picking a revision.** v0.7.0 promotes **fewer** domains than
45
- v0.6.0 — two instead of three — because the gate got harder, not because the
46
- model got worse. From v0.7.0 onward a domain cannot be promoted unless it
47
- **beats a plain logistic regression fitted on the same features**, with a
48
- bootstrap CI excluding zero, and unless **no head sits within 0.005 AUROC of
49
- chance**. Under v0.6.0's rules none of its promoted domains passed that bar.
50
- Under v0.7.0's rules, hydrology and climate do — that is the headline.
51
-
52
- Markets promoted in v0.6.0 and does not in v0.7.0: it never beat the logistic
53
- baseline, and now that is disqualifying. Seismic and space weather still have
54
- collapsed rare-event heads; if you need those domains, pin `v0.5.0`.
55
-
56
- `main` now serves the **v0.7.0** multi-domain weights, so the repository
57
- metadata reflects the real model (1,874,220 params) rather than the 30,859-param
58
- v0.3.1 seismic checkpoint it used to carry. The `transformers`-native custom
59
- pipeline stays available at revision `v0.3.1`. Revisions are immutable: nothing
60
- published is ever overwritten in place.
61
-
62
- **v0.7.0 closed the gap it was built for.** It adds per-target loss
63
- normalisation, bounded heteroscedastic attenuation, raised rare-event class
64
- weighting, a collapse guard, exclusion of targets with fewer than 25 test
65
- positives, and a hard gate requiring a win over the logistic baseline. Two
66
- domains now clear that bar. Six do not, and each one is published with its
67
- blocking reason attached.
68
 
 
 
 
 
 
 
 
 
 
 
 
 
69
 
70
  ---
71
 
@@ -92,10 +79,9 @@ The usual answers are partial:
92
  > uncertainty or rule baselines alone — and that representation is **shared
93
  > across domains**.
94
 
95
- The harness is built to *reject* that claim. Every target is scored against a
96
- phase-0 rule baseline with entity-level bootstrap confidence intervals, and a
97
- pre-declared promotion gate refuses to publish a domain unless the corpus is
98
- real and the lifts hold.
99
 
100
  ---
101
 
@@ -117,16 +103,17 @@ observations ──▶ schema contract ──▶ past-only features ──▶ pe
117
 
118
  1. **Declare a schema.** Categories, numeric channels, targets, horizon. The
119
  schema is a contract, not a guess — it is hashed into the config.
120
- 2. **Build past-only features.** Row `i` is a function of observations `0..i`
121
- and nothing after it. Leakage is re-derived from the raw stream, not asserted.
 
122
  3. **Adapt, then share.** A small per-domain adapter maps each schema into one
123
- **shared** dilated causal trunk. 1,349,417 of the 1,677,870 parameters (80%)
124
- are shared across all eight domains — that sharing is the claim under test.
125
  4. **Encode the surprise state `z^S`.** A representation of *how* expectation is
126
  failing, common to every head.
127
- 5. **Predict observable departures.** One head per target: category-regime
128
- transitions, cadence shifts, magnitude-regime shifts, compound transitions.
129
- 6. **Calibrate, then gate.** Probabilities are fitted on a held-out validation
130
  split; low-evidence rows are marked `abstained` rather than scored.
131
 
132
  ### What comes back
@@ -144,173 +131,88 @@ observations ──▶ schema contract ──▶ past-only features ──▶ pe
144
  ## Results
145
 
146
  Held-out chronological test split with a horizon buffer, entity-level bootstrap
147
- CIs, one row per domain showing its strongest scored target.
148
 
149
- ### v0.7.0 — latest revision
150
 
151
- **Promoted cleared the pre-declared gate, *including* a win over a logistic
152
- regression fitted on the same features**
153
 
154
- | domain | corpus | entities | rows | best target | AUROC (95% CI) | ECE | beats logistic on |
155
  | --- | --- | --- | --- | --- | --- | --- | --- |
156
- | **Climate** | NOAA GHCN-Daily | 179 | 739,220 | `heat_extreme_ahead` | **0.890** [0.869, 0.910] | 0.010 | `weather_regime_transition`, `diurnal_collapse`, `compound_climate_stress` |
157
- | **Hydrology** | USGS daily water services | 320 | 419,840 | `flow_regime_transition` | **0.786** [0.774, 0.798] | 0.017 | `discharge_regime_shift`, `volatility_regime_shift` |
158
-
159
- **Not promoted published with the blocking reason, not hidden**
160
-
161
- | domain | best AUROC | why it did not promote |
162
- | --- | --- | --- |
163
- | Seismic | 0.644 | does not beat the logistic baseline on any target; 3 heads still collapsed to chance; worst ECE 0.79 |
164
- | Space weather | 0.664 | no logistic win; 4 collapsed heads; worst ECE 0.11 |
165
- | Markets | 0.664 | no logistic win; worst ECE 0.101, just over the 0.10 bound |
166
- | Macro (FRED) | 0.922 | no logistic win; 2 collapsed heads; 80 entities, below the 100 minimum |
167
- | Wildfire (NASA FIRMS) | 0.528 | beats neither the rule nor the logistic baseline; all 6 heads at chance; ECE 0.95 |
168
- | Chaos (Lorenz-96 / Kuramoto) | 0.998 | **synthetic corpus.** A deterministic control that proves the pipeline runs. Never evidence about real data. |
169
-
170
- **External-corpus transfer (evidence only, never gating).** The trunk and `z^S`
171
- are frozen and only fresh adapters and heads are fitted on corpora the model
172
- never trained on:
173
-
174
- | corpus | entities | rows | best target | AUROC |
175
- | --- | --- | --- | --- | --- |
176
- | `Salesforce/lotsa_data` | 240 | 337,140 | regime transition | ~0.92 |
177
- | `Salesforce/GiftEvalPretrain` | 240 | 338,832 | `regime_transition` | 0.786 |
178
-
179
- Several proxy targets on both external corpora sit at 0.5 — the shared
180
- representation transfers for transition detection and not, so far, for the
181
- magnitude-shift proxies.
182
-
183
- ### v0.6.0 — previous revision
184
-
185
- **Promoted (cleared the pre-declared gate)**
186
-
187
- | domain | corpus | entities | rows | best target | AUROC (95% CI) | ECE | abstention gain |
188
- | --- | --- | --- | --- | --- | --- | --- | --- |
189
- | **Climate** | NOAA GHCN-Daily | 182 | 739,220 | `heat_extreme_ahead` | **0.883** [0.860, 0.903] | 0.011 | +0.045 @ 0.77 coverage |
190
- | **Hydrology** | USGS daily water services | 320 | 419,840 | `flow_regime_transition` | **0.770** [0.757, 0.782] | 0.015 | +0.021 @ 0.79 coverage |
191
- | **Markets** | Coinbase public market data | 357 | 258,570 | `dislocation_ahead` | **0.691** [0.672, 0.712] | 0.092 | +0.034 @ 0.89 coverage |
192
 
193
  **Not promoted — published with the blocking reason, not hidden**
194
 
195
  | domain | entities | best AUROC | why it did not promote |
196
  | --- | --- | --- | --- |
197
- | Seismic | 224 | 0.640 | **regression against v0.5.0.** Four of five heads collapsed to a constant 0.500 while a logistic regression on the same features reaches 0.887. Rare-positive training defect. |
198
- | Space weather | 293 | 0.644 | **regression against v0.5.0.** Four heads collapsed to 0.500 against a 0.78–0.84 logistic baseline. Same defect. |
199
- | Macro (FRED) | 80 | 0.731 | below the 100-entity minimum and below the AUROC floor on every target. |
200
- | Wildfire (NASA FIRMS) | 250 | 0.692 | below the floor; calibration still the weakest of the real corpora. |
201
- | Chaos (Lorenz-96 / Kuramoto) | 240 | 0.998 | **synthetic corpus.** A deterministic control that proves the pipeline runs. Never evidence about real data. |
202
-
203
- **The honest headline:** no promoted domain in v0.6.0 yet beats a logistic
204
- regression fitted on the same features. Multi-scale windows and robust
205
- median/IQR normalisation bought climate and cost seismic. Closing that gap is
206
- the entire purpose of v0.7.0.
207
-
208
- ### v0.5.0 recommended for seismic and space weather
209
-
210
- | domain | corpus | entities | rows | best target | AUROC (95% CI) | ECE | abstention gain |
211
- | --- | --- | --- | --- | --- | --- | --- | --- |
212
- | **Seismic** | USGS FDSN events | 224 | 44,470 | `significant_event_ahead` | **0.911** [0.878, 0.933] | 0.071 | +0.092 @ 0.69 coverage |
213
- | **Space weather** | GFZ Potsdam Kp/ap/F10.7 | 293 | 63,224 | `activity_transition` | **0.823** [0.804, 0.839] | 0.044 | +0.091 @ 0.51 coverage |
214
- | **Hydrology** | USGS daily water services | 320 | 419,840 | `flow_regime_transition` | **0.781** [0.771, 0.791] | 0.017 | +0.021 @ 0.83 coverage |
215
- | **Markets** | Coinbase public market data | 357 | 258,570 | `dislocation_ahead` | **0.709** [0.691, 0.731] | 0.084 | +0.037 @ 0.81 coverage |
216
-
217
- ### Cross-domain transfer (leave-one-domain-out)
218
-
219
- The trunk and `z^S` are trained on the *other* domains, then frozen; only the
220
- held-out domain's adapter and heads are fitted. If the shared representation
221
- were domain-specific bookkeeping, transfer would collapse. It does not — five
222
- domains (seismic, hydrology, markets, space weather, climate) clear the gate
223
- under leave-one-domain-out transfer in v0.6.0. That result is **reported, not
224
- required**: the gate rule is discrimination and calibration on each domain's own
225
- corpus.
226
 
227
  ### The promotion gate
228
 
229
  Declared before the run, applied without discretion:
230
 
231
  ```
232
- real corpus required · ≥ 2 targets significant vs phase-0 rules
233
- paired lift vs phase-0 ≥ 0.03 · worst-target ECE 0.10
234
- selective-accuracy gain 0.02 · 100 entities
235
- leakage tests must pass
 
236
  ```
237
 
238
- v0.7.0 adds two rules that v0.6.0 would have failed: **beat a logistic
239
- regression on the same features**, and **block any head sitting within 0.005 of
240
- chance**.
241
-
242
- **Verdict for v0.7.0: `promoted`** — two real-corpus domains cleared the gate,
243
- and for the first time both of them beat a logistic regression on the same
244
- features. Six domains did not clear it and ship as candidates with their
245
- blocking reasons attached. v0.4.0 is a
246
- documented gate failure and was never published as a model. Full run report in
247
- `report.json`, digests in `SHA256SUMS`. If those digests do not match your
248
- rebuild, you are not looking at the same artifact.
249
-
250
 
251
  ---
252
 
253
  ## Quick start
254
 
255
- **The current model (`main`, v0.7.0)** loads through the standard Auto classes,
256
- no `trust_remote_code`:
257
-
258
- ```bash
259
- pip install "zeno-divergent>=0.7.0" transformers torch
260
- ```
261
-
262
- ```python
263
- from transformers import AutoModel
264
- import zeno_divergent # registers config + model with the Auto classes
265
-
266
- model = AutoModel.from_pretrained("mbarbosa1/zeno-divergent-v1")
267
- model.describe()
268
- # {'model_version': '0.7.0', 'parameters': 1874220,
269
- # 'promoted_domains': ['climate', 'hydrology'], 'steps': 12, ...}
270
-
271
- events = [
272
- {"timestamp": 1717171717.0,
273
- "category": "elevated_flow",
274
- "values": {"discharge_cfs": 812.0,
275
- "abs_daily_change_cfs": 41.0,
276
- "rise_ratio": 1.2}},
277
- # ... chronological, one entity
278
- ]
279
-
280
- rows = model.score_events(events, domain="hydrology", entity_id="usgs-01646500")
281
- last = rows[-1]
282
- last.probabilities # calibrated, one per declared target
283
- last.uncertainty, last.risk, last.abstained
284
- last.promoted # False => this domain did not clear the release gate
285
- ```
286
-
287
- Discover a domain's contract instead of hardcoding it:
288
 
289
  ```python
290
- info = model.domain_info("hydrology")
291
- info["schema"]["categories"], info["schema"]["channels"], info["targets"]
292
- info["promoted"], info["blocking_reasons"], info["abstention_threshold"]
293
 
294
- # refuse exploratory output outright
295
- model.score_events(events, domain="seismic", entity_id="x", allow_unpromoted=False)
296
- # ValueError: 'seismic' did not clear the release gate (...)
 
297
  ```
298
 
299
- Standardisation statistics, degenerate-column masks, per-target calibration and
300
- the abstention threshold all travel in **`inference.json`** in this revision, and
301
- are applied in the run's own order (standardise and clamp, *then* zero degenerate
302
- columns). That is the same chain the exported browser ONNX graphs run, so a
303
- Python score and an in-browser score of the same window agree to ~1e-7.
304
-
305
- Six of the eight domains did not clear the v0.7.0 gate. They still carry weights
306
- and still return numbers, but every row comes back `promoted=False`. Do not
307
- present those as validated results; for seismic or space weather, pin
308
- `revision="v0.5.0"`.
309
-
310
- Older APIs stay pinned and unchanged: `revision="v0.3.1"` for the single-domain
311
- `transformers` pipeline, `revision="v0.2.3"` for the frozen synthetic prototype.
312
-
313
- No GPU, no network calls at inference time.
314
 
315
  ---
316
 
@@ -319,29 +221,13 @@ No GPU, no network calls at inference time.
319
  | | |
320
  | --- | --- |
321
  | architecture | per-domain input adapters → shared dilated causal trunk → shared surprise latent `z^S` → per-domain calibrated heads |
322
- | parameters | **1,874,220** total (v0.7.0), **1,349,417 shared** (72%) across 8 domains; v0.5.0 is 1,677,870 |
323
- | domains | 8 schemas, 7 real corpora, 2 promoted in v0.7.0 under a stricter gate (3 in v0.6.0, 4 in v0.5.0) |
324
- | features | 72 per step, multi-scale windows (5 / 20 / 100 events) + calendar features, robust median/IQR normalisation |
325
- | training | 14 epochs, seed 7, batch 512, lr 1.5e-3, single NVIDIA L4 |
326
- | auxiliary objectives | counter-expectation head, domain-adversarial head, contrastive surprise objective, per-target loss normalisation, bounded log-variance |
327
- | precision | float32, safetensors |
328
  | runtime | CPU, sub-millisecond per row |
329
 
330
-
331
- <details>
332
- <summary><b>Why did the parameter count move around across versions?</b></summary>
333
-
334
- Capacity is set by what the corpus supports, not by what looks impressive.
335
- v0.2.x was a wide multi-reference encoder over a *synthetic* ten-mechanism
336
- generator (large, but fitted to a simulator). v0.3 replaced it with a
337
- domain-neutral schema contract over one real corpus, and capacity dropped to
338
- ~31k accordingly. v0.5.0 trains one shared trunk across eight real schemas at
339
- once, so capacity is back up to 1.68M, and v0.6.0 to 1.87M with the multi-scale
340
- feature set — this time earned by real data breadth, not by a generator. Nothing
341
- was ever pruned or quantised; every version stays loadable at its own revision.
342
-
343
- </details>
344
-
345
  ---
346
 
347
  ## Training data
@@ -351,16 +237,18 @@ ownership fields — the input contract rejects them.
351
 
352
  | domain | source |
353
  | --- | --- |
354
- | seismic | USGS FDSN event web service |
355
  | hydrology | USGS Water Services daily values |
356
  | markets | Coinbase Exchange public market data API |
357
- | spaceweather | GFZ Potsdam Kp/ap/F10.7 (definitive, CC BY 4.0) |
358
  | climate | NOAA GHCN-Daily station access files |
359
- | macro | FRED (Federal Reserve Bank of St. Louis) |
360
- | wildfire | NASA FIRMS active fire detections (VIIRS) |
 
361
  | chaos | in-repo Lorenz-96 / Kuramoto integrator (deterministic control) |
362
 
363
- Splits are chronological with a horizon buffer between them.
 
364
 
365
  ---
366
 
@@ -385,35 +273,32 @@ Splits are chronological with a horizon buffer between them.
385
 
386
  ## Limits
387
 
388
- - **Two domains are promoted in v0.7.0, not eight.** Those numbers are
389
- published so they can be checked, not because they are trusted.
390
- - Hydrology and climate beat a logistic regression on the same features. **The
391
- other six do not** — on those domains a linear baseline is still the honest
392
- choice, and the model says so rather than hiding it.
393
- - Seismic, space weather, macro and wildfire still contain heads collapsed at
394
- chance. The collapse guard now blocks them from promotion instead of
395
- averaging them away.
396
- - Leave-one-domain-out transfer promoted nothing in this revision.
397
- - Probabilities are calibrated on the validation split; recalibrate before using
398
- them as decision thresholds in a new deployment.
399
- - Abstention must be surfaced next to the score. Hiding it turns "not observed"
400
- into "not at risk" — that is a misuse.
401
  - The model predicts *observable* transitions in a public descriptive stream. It
402
  makes no claim about identity, intent, ownership or causation.
403
- - `main` serves v0.7.0. Pin `revision="v0.5.0"` for seismic and space weather,
404
- or `revision="v0.3.1"` for the `transformers`-native single-domain pipeline.
405
 
406
  ---
407
 
408
  ## Citation
409
 
410
  ```bibtex
411
- @software{zeno_divergent_0_7_0,
412
  title = {Zeno Divergent: a shared representation of model-relative surprise},
413
  author = {Barbosa, M.},
414
  year = {2026},
415
  url = {https://huggingface.co/mbarbosa1/zeno-divergent-v1},
416
- version = {v0.7.0}
417
  }
418
  ```
419
 
 
20
  an observable departure happens next, calibrated, with an explicit option to
21
  abstain.**
22
 
23
+ [![latest](https://img.shields.io/badge/latest-v0.9.0-166534)](https://huggingface.co/mbarbosa1/zeno-divergent-v1/tree/v0.9.0)
24
+ [![recommended](https://img.shields.io/badge/recommended-v0.9.0-166534)](https://huggingface.co/mbarbosa1/zeno-divergent-v1/tree/v0.9.0)
25
+ [![params](https://img.shields.io/badge/parameters-1.88M-1f2937)](#architecture)
26
+ [![promoted](https://img.shields.io/badge/promoted%20domains-climate%20%C2%B7%20seismic-166534)](#results)
27
+ [![gate](https://img.shields.io/badge/promotion%20gate-promoted-166534)](#the-promotion-gate)
28
  [![site](https://img.shields.io/badge/zenodivergent.dev-live-1f2937)](https://zenodivergent.dev)
29
 
30
  </div>
 
35
 
36
  | revision | model | corpus | promoted domains | loader |
37
  | --- | --- | --- | --- | --- |
38
+ | **`main` / `v0.9.0`** | multi-domain, 1,877,849 params — **latest and recommended** | 8 real corpora + synthetic control | **climate, seismic** | explicit revision (safetensors + config) |
39
+ | `v0.7.0` | multi-domain, 1,874,220 params | 8 real corpora | hydrology, climate | explicit revision (safetensors + config) |
40
+ | `v0.6.0` | multi-domain, 1,874,220 params | 8 real corpora | hydrology, markets, climate — with named seismic/spaceweather regressions | explicit revision |
41
+ | `v0.5.0` | multi-domain, 1,677,870 params | 8 real corpora | seismic, hydrology, markets, spaceweather | explicit revision |
42
+ | `v0.3.1` | single-domain, 30,859 params | seismic only | seismic | `transformers`-native, `trust_remote_code=False` |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
 
44
+ **v0.9.0 is the first release where promoted domains beat a frozen logistic
45
+ regression on the same features.** It adds focal rare-event training, per-entity
46
+ resampling, held-out affine/PAVA calibration, a declared abstention operating
47
+ point, availability-aware (`available_at`) leakage-safe splits, and a paired
48
+ promotion gate that refuses any domain that does not beat the reference
49
+ baseline with a bootstrap interval excluding zero.
50
+
51
+ Six of eight real domains did **not** clear that gate and ship as labelled
52
+ candidates. That is the gate working, not the release failing: the numbers are
53
+ published so they can be checked.
54
+
55
+ Revisions are immutable: nothing published is ever overwritten in place.
56
 
57
  ---
58
 
 
79
  > uncertainty or rule baselines alone — and that representation is **shared
80
  > across domains**.
81
 
82
+ The harness is built to *reject* that claim. v0.9.0 is the first release where
83
+ any domain survives the full test climate and seismic. Everywhere else the
84
+ harness still says no, and the site says so.
 
85
 
86
  ---
87
 
 
103
 
104
  1. **Declare a schema.** Categories, numeric channels, targets, horizon. The
105
  schema is a contract, not a guess — it is hashed into the config.
106
+ 2. **Build past-only features with availability timestamps.** Row `i` is a
107
+ function of observations `0..i` *as they were available at the time*
108
+ leakage is re-derived from the raw stream, not asserted.
109
  3. **Adapt, then share.** A small per-domain adapter maps each schema into one
110
+ **shared** dilated causal trunk. 1,351,209 of the 1,877,849 parameters (72%)
111
+ are shared across all domains — that sharing is the claim under test.
112
  4. **Encode the surprise state `z^S`.** A representation of *how* expectation is
113
  failing, common to every head.
114
+ 5. **Predict observable departures.** One head per target: regime transitions,
115
+ cadence shifts, extreme events, compound stress.
116
+ 6. **Calibrate, then gate.** Probabilities are fitted on a held-out calibration
117
  split; low-evidence rows are marked `abstained` rather than scored.
118
 
119
  ### What comes back
 
131
  ## Results
132
 
133
  Held-out chronological test split with a horizon buffer, entity-level bootstrap
134
+ CIs, availability-aware leakage tests.
135
 
136
+ ### v0.9.0 — latest and recommended
137
 
138
+ **Promoted (cleared the pre-declared gate: beat the frozen logistic baseline,
139
+ calibrated, selective-accuracy gain under abstention)**
140
 
141
+ | domain | corpus | entities | rows | target | AUROC (95% CI) | ECE | lift vs baseline |
142
  | --- | --- | --- | --- | --- | --- | --- | --- |
143
+ | **Climate** | NOAA GHCN-Daily | 182 | 731,497 | `cold_extreme_ahead` | **0.890** [0.868, 0.909] | 0.002 | **+0.088** |
144
+ | | | | | `heat_extreme_ahead` | 0.855 | 0.022 | 0.008 |
145
+ | | | | | `compound_climate_stress` | 0.829 | 0.008 | +0.003 |
146
+ | | | | | `weather_regime_transition` | 0.824 | 0.008 | +0.007 |
147
+ | | | | | `anomaly_regime_shift` | 0.783 | 0.013 | −0.004 |
148
+ | **Seismic** | USGS FDSN + QuakePulse Earth | 397 | 116,768 | `significant_event_ahead` | **0.948** | 0.028 | +0.005 |
149
+ | | | | | `compound_seismic_stress` | 0.911 | 0.028 | +0.017 |
150
+ | | | | | `event_regime_transition` | 0.901 | 0.013 | +0.009 |
151
+ | | | | | `cadence_shift` | 0.710 | 0.088 | 0.015 |
152
+
153
+ **The honest headline:** only `cold_extreme_ahead` (+0.088) is a decisive win
154
+ over the frozen uncertainty baseline. The seismic heads post the strongest raw
155
+ AUROCs (0.90–0.95) and recovered the head that collapsed in v0.8.0, but their
156
+ lift over the baseline is small. Climate coverage is 79% with a selective-accuracy
157
+ gain under abstention; seismic coverage is 60% the model abstains on two of
158
+ five situations rather than guess.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
159
 
160
  **Not promoted — published with the blocking reason, not hidden**
161
 
162
  | domain | entities | best AUROC | why it did not promote |
163
  | --- | --- | --- | --- |
164
+ | Hydrology (USGS Water) | 320 | 0.802 | good discrimination, **negative lift** vs the logistic baseline (−0.025) |
165
+ | Markets (Coinbase) | 357 | 0.682 | best head lifts +0.078 but AUROC stays under the floor |
166
+ | Space weather (NOAA SWPC) | 300 | 0.732 | negative lift across heads (−0.053 best) |
167
+ | Macro (FRED, 198 series) | 198 | 0.829 | no lift over the baseline (−0.002) |
168
+ | On-chain (Celo) | 240 | 0.829 | small positive lift, thin test set |
169
+ | Wildfire (NASA FIRMS + AntiFogo) | 528 | 0.754 | marginal lift (+0.005); AntiFogo history is still accumulating |
170
+ | Chaos (synthetic control) | 240 | ~1.0 | **synthetic corpus.** Proves the pipeline runs. Never evidence about real data. |
171
+
172
+ ### Cross-domain and external transfer
173
+
174
+ Leave-one-domain-out: seismic clears the gate trained on the other seven
175
+ domainsthe shared representation is not domain-specific bookkeeping. External
176
+ frozen-trunk transfer is reported on LOTSA, GiftEval and the four partner
177
+ corpora (air quality, agriculture, marine, urban) **reported, never
178
+ required**: an external corpus cannot qualify a release.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
 
180
  ### The promotion gate
181
 
182
  Declared before the run, applied without discretion:
183
 
184
  ```
185
+ real corpus required · ≥ 2 targets significant vs phase-0 rules
186
+ paired lift vs logistic baseline > 0 · bootstrap CI on the lift excludes zero
187
+ worst-target ECE 0.10 · declared abstention operating point
188
+ ≥ 100 entities · leakage tests must pass
189
+ ≥ 2 real-corpus domains must clear, or nothing ships as promoted
190
  ```
191
 
192
+ **Verdict for v0.9.0: `promoted`** two of eight real domains cleared, six are
193
+ published as refused candidates. Full run report in `report.json`, digests in
194
+ `SHA256SUMS`. If those digests do not match your rebuild, you are not looking at
195
+ the same artifact.
 
 
 
 
 
 
 
 
196
 
197
  ---
198
 
199
  ## Quick start
200
 
201
+ **The multi-domain model** `main` serves v0.9.0:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
202
 
203
  ```python
204
+ from huggingface_hub import snapshot_download
 
 
205
 
206
+ path = snapshot_download("mbarbosa1/zeno-divergent-v1", revision="v0.9.0")
207
+ # path/model.safetensors + path/config.json — per-domain adapters, shared trunk,
208
+ # per-target calibrated heads. Promoted domains: climate, seismic.
209
+ # Other domains remain loadable at the last revision that promoted them.
210
  ```
211
 
212
+ Score your own stream in the browser — no install, no upload leaves your machine:
213
+ [zenodivergent.dev/app](https://zenodivergent.dev/app) runs the promoted v0.9.0
214
+ ONNX graphs for climate and seismic (v0.7.0 heads elsewhere, because the export
215
+ is gated by the same run report).
 
 
 
 
 
 
 
 
 
 
 
216
 
217
  ---
218
 
 
221
  | | |
222
  | --- | --- |
223
  | architecture | per-domain input adapters → shared dilated causal trunk → shared surprise latent `z^S` → per-domain calibrated heads |
224
+ | parameters | **1,877,849** total, **1,351,209 shared** (72%) across domains |
225
+ | features | multi-scale windows + calendar/context features, robust median/IQR normalisation, availability-aware (`available_at`) splits |
226
+ | training | 12 epochs, single NVIDIA L4; focal loss + per-entity resampling on rare targets; held-out affine/PAVA calibration |
227
+ | auxiliary objectives | counter-expectation head, domain-adversarial head, contrastive surprise objective, residual-vs-baseline objective |
228
+ | precision | float32, safetensors; promoted domains also exported to ONNX |
 
229
  | runtime | CPU, sub-millisecond per row |
230
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
231
  ---
232
 
233
  ## Training data
 
237
 
238
  | domain | source |
239
  | --- | --- |
240
+ | seismic | USGS FDSN event web service + QuakePulse Earth corpus |
241
  | hydrology | USGS Water Services daily values |
242
  | markets | Coinbase Exchange public market data API |
243
+ | spaceweather | NOAA SWPC indices |
244
  | climate | NOAA GHCN-Daily station access files |
245
+ | macro | FRED (Federal Reserve Bank of St. Louis), 198 series |
246
+ | wildfire | NASA FIRMS active fire detections (VIIRS) + AntiFogo (antifogo.pt) mainland-Portugal corpus |
247
+ | on-chain | Celo public chain activity |
248
  | chaos | in-repo Lorenz-96 / Kuramoto integrator (deterministic control) |
249
 
250
+ Splits are chronological with a horizon buffer, keyed on `available_at`
251
+ (publication time), not event time.
252
 
253
  ---
254
 
 
273
 
274
  ## Limits
275
 
276
+ - **Two domains are promoted in v0.9.0, not eight.** The other six are published
277
+ as candidates with their blocking reasons.
278
+ - **Most promoted heads beat chance, not the baseline.** Only
279
+ `cold_extreme_ahead` is a decisive lift win (+0.088). Treat the rest as
280
+ calibrated monitors, not oracles.
281
+ - Seismic coverage is 60%: the model abstains on a large share of situations.
282
+ That refusal is the product hiding it turns "not observed" into "not at
283
+ risk".
284
+ - Probabilities are calibrated on the held-out calibration split; recalibrate
285
+ before using them as decision thresholds in a new deployment.
286
+ - The wildfire corpus depends on AntiFogo history that is still accumulating;
287
+ the wildfire gate cannot move until it does.
 
288
  - The model predicts *observable* transitions in a public descriptive stream. It
289
  makes no claim about identity, intent, ownership or causation.
 
 
290
 
291
  ---
292
 
293
  ## Citation
294
 
295
  ```bibtex
296
+ @software{zeno_divergent_0_9_0,
297
  title = {Zeno Divergent: a shared representation of model-relative surprise},
298
  author = {Barbosa, M.},
299
  year = {2026},
300
  url = {https://huggingface.co/mbarbosa1/zeno-divergent-v1},
301
+ version = {v0.9.0}
302
  }
303
  ```
304
 
SHA256SUMS CHANGED
@@ -1,6 +1,6 @@
1
- 39556f826692b390a7a84d34097349b97fc2e5875e9d47f1643e2989a48a6f32 README.md
2
- c4ef7083a928db90cdc1fe684f76d8c8cb07f501bb17e877d72e112145080810 benchmark.json
3
- 514ff9d15fd365cc5768f961d46284c35da5cb0cff0a700c7c86fbc423310bb5 config.json
4
- 37cc49e35d6d1856b5703fb40f1858ddb46c32d3c4454de7a89ce9c474e9099c model.safetensors
5
- 67a11314ea0bcbb2e45c6dc4273f6c98cbd9fc86e7d1bbaf142221884da98015 release.json
6
- 60b527de44107cfcef316379daa73daf2ae082594160a4b6afa67f978ac1ddb0 report.json
 
1
+ 70a729022b0d010ca36df3c74fdbf59f9b1876fb2cea45d14ef2f40061b38c17 README.md
2
+ 902c410e0ca59f5e236868df30270c8147325af79f78a73d9517ec84e822a536 benchmark.json
3
+ 308cae5eb64879b56a9d3a9b2c75af09bbd8045e21bbca2e5caddcf82f3f44b7 config.json
4
+ eec29d542608fc99097522bfa22a58df29701a9269b01b5f497f71d1635eaa08 model.safetensors
5
+ 3a6803e6c620fc8383c01925f28cb3917a1a235a1f66276a2c7d9b2a401d6243 release.json
6
+ 63fbd503abbca0e9ca28f1c22e9bbec62ef30b0761793fa37d48036b076c47c6 report.json
benchmark.json CHANGED
@@ -1,75 +1,84 @@
1
  {
2
- "candidate_version": "0.7.0",
3
- "generated_at": "2026-08-28T03:26:56Z",
4
- "parameters": 1874220,
5
- "shared_parameters": 1349417,
6
  "architecture_note": "per-domain input adapters -> shared dilated causal trunk -> shared surprise latent z^S -> per-domain heads",
7
  "gate_summary": {
8
  "promoted_domains": [
9
- "hydrology",
10
- "climate"
 
 
 
11
  ],
12
- "lodo_transfer_promoted": [],
13
  "external_transfer_domains": [
 
 
14
  "gifteval",
15
- "lotsa"
 
 
16
  ],
17
  "status": "promoted",
18
- "rule": "v0.7.0 ships only if at least two real-corpus domains clear the gate; leave-one-domain-out and external-corpus transfer results are reported, never required \u2014 an external corpus cannot qualify a release"
19
  },
20
  "domains": [
21
  {
22
- "domain_id": "seismic",
23
- "title": "Seismicity transitions",
24
- "corpus": "USGS FDSN event web service (public, credential-free)",
25
- "n_entities": 223,
26
- "n_rows": 44470,
27
  "real_corpus": true,
28
- "gate_status": "candidate_not_promoted",
29
- "selective_accuracy_gain": 0.07689971596423217,
30
- "test_coverage": 0.738908936531522,
31
  "targets": {
32
- "event_regime_transition": {
33
- "auroc": 0.5,
34
  "auroc_ci": [
35
- 0.5,
36
- 0.5
37
  ],
38
- "ece": 0.06378238933019136,
39
- "lift_vs_uncertainty": -0.3872451563593503
40
  },
41
- "cadence_shift": {
42
- "auroc": 0.6441188698014877,
43
  "auroc_ci": [
44
- 0.6240110959759514,
45
- 0.6659351089720315
46
  ],
47
- "ece": 0.026607249025285284,
48
- "lift_vs_uncertainty": -0.016613765255210855
49
  },
50
- "magnitude_regime_shift": {
51
- "auroc": null,
52
- "auroc_ci": null,
53
- "ece": null,
54
- "lift_vs_uncertainty": null
 
 
 
55
  },
56
- "significant_event_ahead": {
57
- "auroc": 0.5,
58
  "auroc_ci": [
59
- 0.5,
60
- 0.5
61
  ],
62
- "ece": 0.5931554272574799,
63
- "lift_vs_uncertainty": -0.41467816610986685
64
  },
65
- "compound_seismic_stress": {
66
- "auroc": 0.5,
67
  "auroc_ci": [
68
- 0.5,
69
- 0.5
70
  ],
71
- "ece": 0.2074376094937199,
72
- "lift_vs_uncertainty": -0.33374331583074024
73
  }
74
  }
75
  },
@@ -78,56 +87,56 @@
78
  "title": "Streamflow regime shifts",
79
  "corpus": "USGS Water Services daily values (public, credential-free)",
80
  "n_entities": 320,
81
- "n_rows": 419840,
82
  "real_corpus": true,
83
- "gate_status": "promoted",
84
- "selective_accuracy_gain": 0.020040184131396743,
85
- "test_coverage": 0.8087523496240602,
86
  "targets": {
87
  "flow_regime_transition": {
88
- "auroc": 0.7855155305630701,
89
  "auroc_ci": [
90
- 0.774182122542716,
91
- 0.7975241962795776
92
  ],
93
- "ece": 0.01677982683055983,
94
- "lift_vs_uncertainty": -0.012718502325411607
95
  },
96
  "discharge_regime_shift": {
97
- "auroc": 0.7677152282215634,
98
  "auroc_ci": [
99
- 0.7553411477577271,
100
- 0.7797030171185698
101
  ],
102
- "ece": 0.03775125816119679,
103
- "lift_vs_uncertainty": 0.01069599466574589
104
  },
105
  "volatility_regime_shift": {
106
- "auroc": 0.6967496876554763,
107
  "auroc_ci": [
108
- 0.6801802143352925,
109
- 0.7141426685486361
110
  ],
111
- "ece": 0.045515393461017205,
112
- "lift_vs_uncertainty": 0.01526169282523171
113
  },
114
  "surge_ahead": {
115
- "auroc": 0.6719618162376437,
116
  "auroc_ci": [
117
- 0.6536872210326827,
118
- 0.6908118129702726
119
  ],
120
- "ece": 0.022775177008518967,
121
- "lift_vs_uncertainty": -0.021791035877313236
122
  },
123
  "compound_hydrologic_stress": {
124
- "auroc": 0.7248283541008679,
125
  "auroc_ci": [
126
- 0.7116765640584259,
127
- 0.7385743140331841
128
  ],
129
- "ece": 0.03384993185519671,
130
- "lift_vs_uncertainty": 0.009763725788995092
131
  }
132
  }
133
  },
@@ -136,376 +145,277 @@
136
  "title": "Market regime breaks",
137
  "corpus": "Coinbase Exchange public market data API (no key required)",
138
  "n_entities": 357,
139
- "n_rows": 258570,
140
  "real_corpus": true,
141
  "gate_status": "candidate_not_promoted",
142
- "selective_accuracy_gain": 0.03253051773630711,
143
- "test_coverage": 0.8759229109083336,
144
  "targets": {
145
  "regime_transition": {
146
- "auroc": 0.5437978729652747,
147
  "auroc_ci": [
148
- 0.5271224854008824,
149
- 0.5616393162627856
150
  ],
151
- "ece": 0.022490669661769838,
152
- "lift_vs_uncertainty": -0.003311823579798867
153
  },
154
  "volatility_regime_shift": {
155
- "auroc": 0.5816697149287968,
156
  "auroc_ci": [
157
- 0.5695582009200036,
158
- 0.5939744932469919
159
  ],
160
- "ece": 0.01355723682990064,
161
- "lift_vs_uncertainty": -0.006360491196464313
162
  },
163
  "volume_regime_shift": {
164
- "auroc": 0.6383280390121104,
165
  "auroc_ci": [
166
- 0.6245750138386735,
167
- 0.6535996789409452
168
  ],
169
- "ece": 0.04278564299819903,
170
- "lift_vs_uncertainty": -0.014155754640515106
171
  },
172
  "dislocation_ahead": {
173
- "auroc": 0.6642329764363395,
174
  "auroc_ci": [
175
- 0.6443706294040145,
176
- 0.6845349926709059
177
  ],
178
- "ece": 0.09377671928118983,
179
- "lift_vs_uncertainty": -0.04920317182402256
180
  },
181
  "compound_market_stress": {
182
- "auroc": 0.6291548181140947,
183
  "auroc_ci": [
184
- 0.6147997022152537,
185
- 0.6449292449044339
186
  ],
187
- "ece": 0.03647551009763396,
188
- "lift_vs_uncertainty": -0.03193301056151632
189
  }
190
  }
191
  },
192
  {
193
- "domain_id": "spaceweather",
194
- "title": "Geomagnetic storm onset",
195
- "corpus": "GFZ Potsdam Kp/ap/F10.7 (definitive, CC BY 4.0, credential-free)",
196
- "n_entities": 59,
197
- "n_rows": 63232,
198
  "real_corpus": true,
199
- "gate_status": "candidate_not_promoted",
200
- "selective_accuracy_gain": 0.06438482700980297,
201
- "test_coverage": 0.8075098814229249,
202
  "targets": {
203
- "activity_transition": {
204
- "auroc": 0.5,
205
  "auroc_ci": [
206
- 0.5,
207
- 0.5
208
  ],
209
- "ece": 0.10811715531165249,
210
- "lift_vs_uncertainty": -0.34731261913462586
211
  },
212
  "cadence_shift": {
213
- "auroc": null,
214
- "auroc_ci": null,
215
- "ece": null,
216
- "lift_vs_uncertainty": null
217
- },
218
- "ap_regime_shift": {
219
- "auroc": 0.6640249342047843,
220
- "auroc_ci": [
221
- 0.6401488003240635,
222
- 0.6869737729498752
223
- ],
224
- "ece": 0.02346205901255626,
225
- "lift_vs_uncertainty": -0.023176679456450966
226
- },
227
- "storm_onset": {
228
- "auroc": 0.5,
229
  "auroc_ci": [
230
- 0.5,
231
- 0.5
232
  ],
233
- "ece": 0.07639125951633709,
234
- "lift_vs_uncertainty": -0.27826035553669437
235
  },
236
- "severe_storm_onset": {
237
- "auroc": 0.5,
238
  "auroc_ci": [
239
- 0.5,
240
- 0.5
241
  ],
242
- "ece": 0.012280090540603488,
243
- "lift_vs_uncertainty": -0.27072831207424763
244
  },
245
- "compound_geomagnetic_stress": {
246
- "auroc": 0.5,
247
  "auroc_ci": [
248
- 0.5,
249
- 0.5
250
  ],
251
- "ece": 0.05077512644382888,
252
- "lift_vs_uncertainty": -0.2574720452896917
253
  }
254
  }
255
  },
256
  {
257
- "domain_id": "climate",
258
- "title": "Climate extremes",
259
- "corpus": "NOAA GHCN-Daily station access files (public, credential-free)",
260
- "n_entities": 179,
261
- "n_rows": 739220,
262
  "real_corpus": true,
263
- "gate_status": "promoted",
264
- "selective_accuracy_gain": 0.047455427142074846,
265
- "test_coverage": 0.7733065102134188,
266
  "targets": {
267
- "weather_regime_transition": {
268
- "auroc": 0.7992619633442102,
269
  "auroc_ci": [
270
- 0.7811163843726701,
271
- 0.815823630481547
272
  ],
273
- "ece": 0.012593054392188698,
274
- "lift_vs_uncertainty": 0.004504912365502101
275
  },
276
- "anomaly_regime_shift": {
277
- "auroc": 0.7563723173036915,
278
  "auroc_ci": [
279
- 0.7357361975569209,
280
- 0.7779628483072422
281
  ],
282
- "ece": 0.012838734395519656,
283
- "lift_vs_uncertainty": -0.004074541007448751
284
  },
285
- "diurnal_collapse": {
286
- "auroc": 0.8088879856080313,
287
- "auroc_ci": [
288
- 0.784215408863214,
289
- 0.8300145316341545
290
- ],
291
- "ece": 0.0025757111937600784,
292
- "lift_vs_uncertainty": 0.03774534903937299
293
  },
294
- "heat_extreme_ahead": {
295
- "auroc": 0.8899693597768836,
296
  "auroc_ci": [
297
- 0.8690447164441604,
298
- 0.9097920570058854
299
  ],
300
- "ece": 0.009766827871331086,
301
- "lift_vs_uncertainty": 0.0010263462568479431
302
  },
303
- "cold_extreme_ahead": {
304
- "auroc": 0.8667769062936718,
305
  "auroc_ci": [
306
- 0.8437906066189981,
307
- 0.887596538865261
308
  ],
309
- "ece": 0.008187310041501568,
310
- "lift_vs_uncertainty": -0.00614760511767809
311
  },
312
- "compound_climate_stress": {
313
- "auroc": 0.8576221454385081,
314
- "auroc_ci": [
315
- 0.8358406670330274,
316
- 0.8795471916367764
317
- ],
318
- "ece": 0.004301849297600939,
319
- "lift_vs_uncertainty": 0.008138229397113839
320
  }
321
  }
322
  },
323
  {
324
- "domain_id": "macro",
325
- "title": "Macroeconomic shocks",
326
- "corpus": "FRED (Federal Reserve Bank of St. Louis) observations API",
327
- "n_entities": 79,
328
- "n_rows": 197336,
329
  "real_corpus": true,
330
  "gate_status": "candidate_not_promoted",
331
- "selective_accuracy_gain": 0.029526026569043795,
332
- "test_coverage": 0.8148950098192256,
333
  "targets": {
334
- "print_regime_transition": {
335
- "auroc": 0.7589110817517954,
336
- "auroc_ci": [
337
- 0.7239387549482621,
338
- 0.7912842114642455
339
- ],
340
- "ece": 0.01611880399283947,
341
- "lift_vs_uncertainty": -0.024166064283389632
342
- },
343
- "cadence_shift": {
344
- "auroc": null,
345
- "auroc_ci": null,
346
- "ece": null,
347
- "lift_vs_uncertainty": null
348
- },
349
- "volatility_regime_shift": {
350
- "auroc": 0.9219939839409512,
351
  "auroc_ci": [
352
- 0.8810404266801982,
353
- 0.9558186836395202
354
  ],
355
- "ece": 0.008846791752233893,
356
- "lift_vs_uncertainty": -0.009291214320157226
357
  },
358
- "level_regime_shift": {
359
- "auroc": 0.5,
360
  "auroc_ci": [
361
- 0.5,
362
- 0.5
363
  ],
364
- "ece": 0.007348063308024748,
365
- "lift_vs_uncertainty": -0.4871790340821467
366
  },
367
- "shock_ahead": {
368
- "auroc": 0.7275262657392524,
369
  "auroc_ci": [
370
- 0.6854977509473075,
371
- 0.7645262577420353
372
  ],
373
- "ece": 0.027870482909754236,
374
- "lift_vs_uncertainty": -0.05852093625898258
375
  },
376
- "compound_macro_stress": {
377
  "auroc": 0.5,
378
  "auroc_ci": [
379
  0.5,
380
  0.5
381
  ],
382
- "ece": 0.012658227751553923,
383
- "lift_vs_uncertainty": -0.376998233972205
384
  }
385
  }
386
  },
387
  {
388
- "domain_id": "wildfire",
389
- "title": "Wildfire activity shifts",
390
- "corpus": "NASA FIRMS active fire detections (VIIRS_NOAA20_SP, VIIRS_SNPP_NRT)",
391
- "n_entities": 250,
392
- "n_rows": 9477,
393
  "real_corpus": true,
394
  "gate_status": "candidate_not_promoted",
395
- "selective_accuracy_gain": 0.21638591181624844,
396
- "test_coverage": 0.33010405453893077,
397
  "targets": {
398
- "fire_regime_transition": {
399
- "auroc": 0.5,
400
- "auroc_ci": [
401
- 0.5,
402
- 0.5
403
- ],
404
- "ece": 0.5376995110501003,
405
- "lift_vs_uncertainty": -0.1941524101964225
406
- },
407
- "cadence_shift": {
408
- "auroc": 0.5280017432991937,
409
- "auroc_ci": [
410
- 0.46478326884382076,
411
- 0.5982028019962482
412
- ],
413
- "ece": 0.18562017666170855,
414
- "lift_vs_uncertainty": -0.2271083024624101
415
- },
416
- "frp_regime_shift": {
417
- "auroc": 0.5,
418
- "auroc_ci": [
419
- 0.5,
420
- 0.5
421
- ],
422
- "ece": 0.49672727631429503,
423
- "lift_vs_uncertainty": -0.2549530717084606
424
- },
425
- "cluster_expansion": {
426
- "auroc": 0.5,
427
- "auroc_ci": [
428
- 0.5,
429
- 0.5
430
- ],
431
- "ece": 0.6109090870401137,
432
- "lift_vs_uncertainty": -0.2874877614597241
433
- },
434
- "escalation_ahead": {
435
- "auroc": 0.5,
436
  "auroc_ci": [
437
- 0.5,
438
- 0.5
439
  ],
440
- "ece": 0.050181813196633764,
441
- "lift_vs_uncertainty": -0.1351177397518698
442
  },
443
- "compound_fire_stress": {
444
- "auroc": 0.5,
445
  "auroc_ci": [
446
- 0.5,
447
- 0.5
448
  ],
449
- "ece": 0.4590495403843804,
450
- "lift_vs_uncertainty": -0.24925274815760223
451
  }
452
  }
453
  },
454
  {
455
- "domain_id": "chaos",
456
- "title": "Chaotic-system bifurcations (control)",
457
- "corpus": "in-repo Lorenz-96 / Kuramoto integrator (deterministic control)",
458
- "n_entities": 48,
459
- "n_rows": 76800,
460
- "real_corpus": false,
461
  "gate_status": "candidate_not_promoted",
462
- "selective_accuracy_gain": 0.06327088862418251,
463
- "test_coverage": 0.7865234375,
464
  "targets": {
465
- "regime_transition": {
466
- "auroc": 0.9905049896899938,
467
- "auroc_ci": [
468
- 0.9815647716121922,
469
- 0.996530909152211
470
- ],
471
- "ece": 0.004742126829378013,
472
- "lift_vs_uncertainty": 0.010010529162933435
473
- },
474
- "residual_regime_shift": {
475
- "auroc": 0.9957935119127742,
476
- "auroc_ci": [
477
- 0.9926473234826395,
478
- 0.998433165965442
479
- ],
480
- "ece": 0.000805822475731586,
481
- "lift_vs_uncertainty": 0.01586381380095203
482
- },
483
- "spread_regime_shift": {
484
- "auroc": 0.9694829211690478,
485
- "auroc_ci": [
486
- 0.9416988295366442,
487
- 0.9930788518931535
488
- ],
489
- "ece": 0.004099114824192829,
490
- "lift_vs_uncertainty": 0.019055571945275074
491
- },
492
- "decoherence_ahead": {
493
- "auroc": 0.9930483728517228,
494
  "auroc_ci": [
495
- 0.9898602000844642,
496
- 0.9956044912795856
497
  ],
498
- "ece": 0.007528588632996105,
499
- "lift_vs_uncertainty": 0.0001611244222180508
500
  },
501
- "compound_bifurcation": {
502
- "auroc": 0.9981117230088572,
503
  "auroc_ci": [
504
- 0.9964093917049106,
505
- 0.9993536495081357
506
  ],
507
- "ece": 0.0008164764710692672,
508
- "lift_vs_uncertainty": 0.008705305319757106
509
  }
510
  }
511
  }
 
1
  {
2
+ "candidate_version": "0.9.0",
3
+ "generated_at": "2026-08-29T10:47:33Z",
4
+ "parameters": 1877849,
5
+ "shared_parameters": 1351209,
6
  "architecture_note": "per-domain input adapters -> shared dilated causal trunk -> shared surprise latent z^S -> per-domain heads",
7
  "gate_summary": {
8
  "promoted_domains": [
9
+ "climate",
10
+ "seismic"
11
+ ],
12
+ "lodo_transfer_promoted": [
13
+ "seismic"
14
  ],
 
15
  "external_transfer_domains": [
16
+ "agriculture",
17
+ "airquality",
18
  "gifteval",
19
+ "lotsa",
20
+ "marine",
21
+ "urban"
22
  ],
23
  "status": "promoted",
24
+ "rule": "v0.9.0 ships only if at least two real-corpus domains clear the gate; leave-one-domain-out and external-corpus transfer results are reported, never required \u2014 an external corpus cannot qualify a release"
25
  },
26
  "domains": [
27
  {
28
+ "domain_id": "climate",
29
+ "title": "Climate extremes",
30
+ "corpus": "NOAA GHCN-Daily station access files (public, credential-free)",
31
+ "n_entities": 182,
32
+ "n_rows": 731497,
33
  "real_corpus": true,
34
+ "gate_status": "promoted",
35
+ "selective_accuracy_gain": 0.03071145090887306,
36
+ "test_coverage": 0.7919214752322711,
37
  "targets": {
38
+ "weather_regime_transition": {
39
+ "auroc": 0.8244089820520246,
40
  "auroc_ci": [
41
+ 0.8094397723144608,
42
+ 0.8370840172676799
43
  ],
44
+ "ece": 0.007650526106639348,
45
+ "lift_vs_uncertainty": 0.007164989037383607
46
  },
47
+ "anomaly_regime_shift": {
48
+ "auroc": 0.7827657857490328,
49
  "auroc_ci": [
50
+ 0.7632020269727205,
51
+ 0.8022188515617809
52
  ],
53
+ "ece": 0.012969252272727596,
54
+ "lift_vs_uncertainty": -0.003572578427871176
55
  },
56
+ "heat_extreme_ahead": {
57
+ "auroc": 0.8553627526874936,
58
+ "auroc_ci": [
59
+ 0.830832269426917,
60
+ 0.875995473093015
61
+ ],
62
+ "ece": 0.02242891705034232,
63
+ "lift_vs_uncertainty": -0.007910101418209692
64
  },
65
+ "cold_extreme_ahead": {
66
+ "auroc": 0.8904805475537743,
67
  "auroc_ci": [
68
+ 0.8675779931167159,
69
+ 0.9090499068708685
70
  ],
71
+ "ece": 0.001966854843875221,
72
+ "lift_vs_uncertainty": 0.08758173800235336
73
  },
74
+ "compound_climate_stress": {
75
+ "auroc": 0.8286285842970172,
76
  "auroc_ci": [
77
+ 0.807366260295027,
78
+ 0.8519007711734558
79
  ],
80
+ "ece": 0.00756617138024444,
81
+ "lift_vs_uncertainty": 0.002868787355166269
82
  }
83
  }
84
  },
 
87
  "title": "Streamflow regime shifts",
88
  "corpus": "USGS Water Services daily values (public, credential-free)",
89
  "n_entities": 320,
90
+ "n_rows": 409600,
91
  "real_corpus": true,
92
+ "gate_status": "candidate_not_promoted",
93
+ "selective_accuracy_gain": 0.012395572814253186,
94
+ "test_coverage": 0.8472274436090226,
95
  "targets": {
96
  "flow_regime_transition": {
97
+ "auroc": 0.8021500549240848,
98
  "auroc_ci": [
99
+ 0.7906439555204751,
100
+ 0.8138512105288024
101
  ],
102
+ "ece": 0.010075223093827109,
103
+ "lift_vs_uncertainty": -0.024867849325213798
104
  },
105
  "discharge_regime_shift": {
106
+ "auroc": 0.7636129599217235,
107
  "auroc_ci": [
108
+ 0.7511436769666298,
109
+ 0.7757561208687381
110
  ],
111
+ "ece": 0.01509208779315832,
112
+ "lift_vs_uncertainty": 0.007845019731255842
113
  },
114
  "volatility_regime_shift": {
115
+ "auroc": 0.6928088537448479,
116
  "auroc_ci": [
117
+ 0.6730133564313522,
118
+ 0.7118077823081791
119
  ],
120
+ "ece": 0.04781920014772668,
121
+ "lift_vs_uncertainty": 0.008974893325044975
122
  },
123
  "surge_ahead": {
124
+ "auroc": 0.6442699273496252,
125
  "auroc_ci": [
126
+ 0.6282259898827817,
127
+ 0.660772599351511
128
  ],
129
+ "ece": 0.028603232480384877,
130
+ "lift_vs_uncertainty": -0.027509430174708416
131
  },
132
  "compound_hydrologic_stress": {
133
+ "auroc": 0.7099049565471537,
134
  "auroc_ci": [
135
+ 0.6960557576066375,
136
+ 0.7245601751192029
137
  ],
138
+ "ece": 0.022674112388387103,
139
+ "lift_vs_uncertainty": 0.003849028274156008
140
  }
141
  }
142
  },
 
145
  "title": "Market regime breaks",
146
  "corpus": "Coinbase Exchange public market data API (no key required)",
147
  "n_entities": 357,
148
+ "n_rows": 236498,
149
  "real_corpus": true,
150
  "gate_status": "candidate_not_promoted",
151
+ "selective_accuracy_gain": 0.041316668295365844,
152
+ "test_coverage": 0.6319147324978229,
153
  "targets": {
154
  "regime_transition": {
155
+ "auroc": 0.6460028634015175,
156
  "auroc_ci": [
157
+ 0.6260719295179418,
158
+ 0.6650278809649399
159
  ],
160
+ "ece": 0.04550838942835933,
161
+ "lift_vs_uncertainty": 0.0783760294960062
162
  },
163
  "volatility_regime_shift": {
164
+ "auroc": 0.6218132721782326,
165
  "auroc_ci": [
166
+ 0.5999563983203797,
167
+ 0.6411562678781102
168
  ],
169
+ "ece": 0.07233780536693346,
170
+ "lift_vs_uncertainty": 0.028996733075248526
171
  },
172
  "volume_regime_shift": {
173
+ "auroc": 0.6388356983561869,
174
  "auroc_ci": [
175
+ 0.6239716319699943,
176
+ 0.6560833334212963
177
  ],
178
+ "ece": 0.03473692200524878,
179
+ "lift_vs_uncertainty": -0.007581322309816119
180
  },
181
  "dislocation_ahead": {
182
+ "auroc": 0.6823474461307636,
183
  "auroc_ci": [
184
+ 0.6630353985325786,
185
+ 0.7051241427850877
186
  ],
187
+ "ece": 0.12414417739337054,
188
+ "lift_vs_uncertainty": -0.03251116922192665
189
  },
190
  "compound_market_stress": {
191
+ "auroc": 0.6608734857218778,
192
  "auroc_ci": [
193
+ 0.6426387543858767,
194
+ 0.6821782646452254
195
  ],
196
+ "ece": 0.02736465863621492,
197
+ "lift_vs_uncertainty": -0.009612438470256501
198
  }
199
  }
200
  },
201
  {
202
+ "domain_id": "seismic",
203
+ "title": "Seismicity transitions",
204
+ "corpus": "USGS FDSN event web service (public, credential-free)",
205
+ "n_entities": 397,
206
+ "n_rows": 116768,
207
  "real_corpus": true,
208
+ "gate_status": "promoted",
209
+ "selective_accuracy_gain": 0.07069669508789156,
210
+ "test_coverage": 0.5996815978001303,
211
  "targets": {
212
+ "event_regime_transition": {
213
+ "auroc": 0.9006133800349387,
214
  "auroc_ci": [
215
+ 0.8701336384229996,
216
+ 0.9278972165373489
217
  ],
218
+ "ece": 0.01329893419441499,
219
+ "lift_vs_uncertainty": 0.009037613295152513
220
  },
221
  "cadence_shift": {
222
+ "auroc": 0.7103205775968734,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
223
  "auroc_ci": [
224
+ 0.6661461641984404,
225
+ 0.761901014814853
226
  ],
227
+ "ece": 0.08769406512981825,
228
+ "lift_vs_uncertainty": -0.015194821327765617
229
  },
230
+ "significant_event_ahead": {
231
+ "auroc": 0.9475336244020799,
232
  "auroc_ci": [
233
+ 0.933020773969823,
234
+ 0.9584652889601911
235
  ],
236
+ "ece": 0.027875159695801757,
237
+ "lift_vs_uncertainty": 0.004655412166772455
238
  },
239
+ "compound_seismic_stress": {
240
+ "auroc": 0.9114206904822063,
241
  "auroc_ci": [
242
+ 0.872417478081465,
243
+ 0.9361766721932485
244
  ],
245
+ "ece": 0.027997089171180295,
246
+ "lift_vs_uncertainty": 0.017228392667694714
247
  }
248
  }
249
  },
250
  {
251
+ "domain_id": "wildfire",
252
+ "title": "Wildfire activity shifts",
253
+ "corpus": "NASA FIRMS active fire detections (VIIRS_NOAA20_SP, VIIRS_SNPP_NRT, VIIRS_SNPP_SP)",
254
+ "n_entities": 528,
255
+ "n_rows": 16013,
256
  "real_corpus": true,
257
+ "gate_status": "candidate_not_promoted",
258
+ "selective_accuracy_gain": -0.021507743660392764,
259
+ "test_coverage": 0.7941557506837483,
260
  "targets": {
261
+ "fire_regime_transition": {
262
+ "auroc": 0.753785374054357,
263
  "auroc_ci": [
264
+ 0.6826685512363783,
265
+ 0.8235520321420403
266
  ],
267
+ "ece": 0.12821274132856042,
268
+ "lift_vs_uncertainty": 0.004972447931259949
269
  },
270
+ "cadence_shift": {
271
+ "auroc": 0.6263267187366233,
272
  "auroc_ci": [
273
+ 0.5896586134256344,
274
+ 0.6659978592088787
275
  ],
276
+ "ece": 0.07329192348509747,
277
+ "lift_vs_uncertainty": -0.1545135812595939
278
  },
279
+ "frp_regime_shift": {
280
+ "auroc": null,
281
+ "auroc_ci": null,
282
+ "ece": null,
283
+ "lift_vs_uncertainty": null
 
 
 
284
  },
285
+ "cluster_expansion": {
286
+ "auroc": 0.7026418370384853,
287
  "auroc_ci": [
288
+ 0.6642964965218439,
289
+ 0.7380238051597326
290
  ],
291
+ "ece": 0.13678368329116114,
292
+ "lift_vs_uncertainty": -0.07912023192192452
293
  },
294
+ "escalation_ahead": {
295
+ "auroc": 0.6112157626452699,
296
  "auroc_ci": [
297
+ 0.5771099121849764,
298
+ 0.6450646836756757
299
  ],
300
+ "ece": 0.036482168852846844,
301
+ "lift_vs_uncertainty": -0.050781469919554234
302
  },
303
+ "compound_fire_stress": {
304
+ "auroc": null,
305
+ "auroc_ci": null,
306
+ "ece": null,
307
+ "lift_vs_uncertainty": null
 
 
 
308
  }
309
  }
310
  },
311
  {
312
+ "domain_id": "spaceweather",
313
+ "title": "Geomagnetic storm onset",
314
+ "corpus": "GFZ Potsdam Kp/ap/F10.7 (definitive, CC BY 4.0, credential-free)",
315
+ "n_entities": 300,
316
+ "n_rows": 64672,
317
  "real_corpus": true,
318
  "gate_status": "candidate_not_promoted",
319
+ "selective_accuracy_gain": 0.06734648611319682,
320
+ "test_coverage": 0.7911841902115176,
321
  "targets": {
322
+ "ap_regime_shift": {
323
+ "auroc": 0.7060699608107062,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
324
  "auroc_ci": [
325
+ 0.6580341882221435,
326
+ 0.7542146249589486
327
  ],
328
+ "ece": 0.08460442632775922,
329
+ "lift_vs_uncertainty": 0.0023120845027100323
330
  },
331
+ "storm_onset": {
332
+ "auroc": 0.7319841101261414,
333
  "auroc_ci": [
334
+ 0.7074301161269316,
335
+ 0.7551851649950804
336
  ],
337
+ "ece": 0.06325471762836832,
338
+ "lift_vs_uncertainty": -0.052752261225311625
339
  },
340
+ "severe_storm_onset": {
341
+ "auroc": 0.6905382414670557,
342
  "auroc_ci": [
343
+ 0.6628603038113553,
344
+ 0.7155731262510046
345
  ],
346
+ "ece": 0.06121511745012915,
347
+ "lift_vs_uncertainty": -0.07067172873399619
348
  },
349
+ "compound_geomagnetic_stress": {
350
  "auroc": 0.5,
351
  "auroc_ci": [
352
  0.5,
353
  0.5
354
  ],
355
+ "ece": 0.08201114847963652,
356
+ "lift_vs_uncertainty": -0.27376507378224757
357
  }
358
  }
359
  },
360
  {
361
+ "domain_id": "celo",
362
+ "title": "On-chain activity shifts",
363
+ "corpus": "Celo public JSON-RPC block sampling (credential-free)",
364
+ "n_entities": 240,
365
+ "n_rows": 12000,
366
  "real_corpus": true,
367
  "gate_status": "candidate_not_promoted",
368
+ "selective_accuracy_gain": 0.12581103532703747,
369
+ "test_coverage": 0.7941666666666667,
370
  "targets": {
371
+ "block_regime_transition": {
372
+ "auroc": 0.8287738454847847,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
373
  "auroc_ci": [
374
+ 0.7657732025508002,
375
+ 0.8836641460961243
376
  ],
377
+ "ece": 0.06456675400619105,
378
+ "lift_vs_uncertainty": 0.01674032369915024
379
  },
380
+ "congestion_ahead": {
381
+ "auroc": 0.8115974106666084,
382
  "auroc_ci": [
383
+ 0.7452846489962998,
384
+ 0.8744928338127343
385
  ],
386
+ "ece": 0.0607021870047358,
387
+ "lift_vs_uncertainty": -0.030458016630968365
388
  }
389
  }
390
  },
391
  {
392
+ "domain_id": "macro",
393
+ "title": "Macroeconomic shocks",
394
+ "corpus": "FRED (Federal Reserve Bank of St. Louis) observations API",
395
+ "n_entities": 198,
396
+ "n_rows": 426675,
397
+ "real_corpus": true,
398
  "gate_status": "candidate_not_promoted",
399
+ "selective_accuracy_gain": 0.02871300353897266,
400
+ "test_coverage": 0.7712684785014503,
401
  "targets": {
402
+ "print_regime_transition": {
403
+ "auroc": 0.8289485363972553,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
404
  "auroc_ci": [
405
+ 0.8076011883553355,
406
+ 0.8470248378109344
407
  ],
408
+ "ece": 0.014604037106580897,
409
+ "lift_vs_uncertainty": -0.0021641070593205747
410
  },
411
+ "shock_ahead": {
412
+ "auroc": 0.7361533515288328,
413
  "auroc_ci": [
414
+ 0.7103234235719253,
415
+ 0.7612938400832607
416
  ],
417
+ "ece": 0.02013764593156305,
418
+ "lift_vs_uncertainty": -0.0022388983023706732
419
  }
420
  }
421
  }
config.json CHANGED
@@ -1,61 +1,59 @@
1
  {
2
  "model_type": "zeno-divergent-multi",
3
- "arch_version": "surprise-arch/0.5.0",
4
- "version": "0.7.0",
5
  "domains": [
6
  {
7
- "domain_id": "seismic",
8
- "n_features": 137,
9
  "n_targets": 5,
10
- "schema_hash": "8753db3bb6f6ca11",
11
  "feature_names": [
12
  "log_gap_last",
13
  "gap_ratio_median",
14
  "log_median_gap",
15
  "gap_cv",
16
  "log_gap_prev",
17
- "log_magnitude_last",
18
- "magnitude_ratio_median",
19
- "log_median_magnitude",
20
- "magnitude_logsd",
21
- "magnitude_available",
22
- "magnitude_missing_rate",
23
- "log_depth_km_last",
24
- "depth_km_ratio_median",
25
- "log_median_depth_km",
26
- "depth_km_logsd",
27
- "depth_km_available",
28
- "depth_km_missing_rate",
29
- "log_azimuthal_gap_last",
30
- "azimuthal_gap_ratio_median",
31
- "log_median_azimuthal_gap",
32
- "azimuthal_gap_logsd",
33
- "azimuthal_gap_available",
34
- "azimuthal_gap_missing_rate",
35
- "log_rms_residual_last",
36
- "rms_residual_ratio_median",
37
- "log_median_rms_residual",
38
- "rms_residual_logsd",
39
- "rms_residual_available",
40
- "rms_residual_missing_rate",
41
  "reference_missing_rate",
42
- "cat_last__micro_shallow",
43
- "cat_last__light_shallow",
44
- "cat_last__moderate_shallow",
45
- "cat_last__strong_event",
46
- "cat_last__intermediate_depth",
47
- "cat_last__deep_focus",
48
- "cat_last__quarry_blast",
49
- "cat_last__other_event",
50
  "cat_last__unknown",
51
- "cat_rate__micro_shallow",
52
- "cat_rate__light_shallow",
53
- "cat_rate__moderate_shallow",
54
- "cat_rate__strong_event",
55
- "cat_rate__intermediate_depth",
56
- "cat_rate__deep_focus",
57
- "cat_rate__quarry_blast",
58
- "cat_rate__other_event",
59
  "cat_rate__unknown",
60
  "cat_entropy",
61
  "unknown_cat_rate",
@@ -74,10 +72,10 @@
74
  "gap_trend",
75
  "cat_concentration",
76
  "recent_vs_old_gap",
77
- "magnitude_trend",
78
- "depth_km_trend",
79
- "azimuthal_gap_trend",
80
- "rms_residual_trend",
81
  "log_n_past",
82
  "is_cold_start",
83
  "censored_horizon",
@@ -86,18 +84,18 @@
86
  "gap_cv_short",
87
  "gap_cv_long",
88
  "gap_median_short_over_long",
89
- "magnitude_ratio_median_short",
90
- "magnitude_ratio_median_long",
91
- "magnitude_median_short_over_long",
92
- "depth_km_ratio_median_short",
93
- "depth_km_ratio_median_long",
94
- "depth_km_median_short_over_long",
95
- "azimuthal_gap_ratio_median_short",
96
- "azimuthal_gap_ratio_median_long",
97
- "azimuthal_gap_median_short_over_long",
98
- "rms_residual_ratio_median_short",
99
- "rms_residual_ratio_median_long",
100
- "rms_residual_median_short_over_long",
101
  "log_count_24h",
102
  "log_count_7d",
103
  "log_count_30d",
@@ -108,36 +106,36 @@
108
  "dow_cos",
109
  "doy_sin",
110
  "doy_cos",
111
- "magnitude_vs_climatology",
112
- "magnitude_climatology_available",
113
- "depth_km_vs_climatology",
114
- "depth_km_climatology_available",
115
- "azimuthal_gap_vs_climatology",
116
- "azimuthal_gap_climatology_available",
117
- "rms_residual_vs_climatology",
118
- "rms_residual_climatology_available",
119
  "gap_quantile_pos",
120
  "gap_exceed_p95_rate",
121
- "magnitude_skew",
122
- "magnitude_kurtosis",
123
- "magnitude_quantile_pos",
124
- "magnitude_exceed_p95_rate",
125
- "magnitude_hill_tail",
126
- "depth_km_skew",
127
- "depth_km_kurtosis",
128
- "depth_km_quantile_pos",
129
- "depth_km_exceed_p95_rate",
130
- "depth_km_hill_tail",
131
- "azimuthal_gap_skew",
132
- "azimuthal_gap_kurtosis",
133
- "azimuthal_gap_quantile_pos",
134
- "azimuthal_gap_exceed_p95_rate",
135
- "azimuthal_gap_hill_tail",
136
- "rms_residual_skew",
137
- "rms_residual_kurtosis",
138
- "rms_residual_quantile_pos",
139
- "rms_residual_exceed_p95_rate",
140
- "rms_residual_hill_tail",
141
  "resid_ewma_fast",
142
  "resid_ewma_slow",
143
  "resid_drift",
@@ -152,7 +150,7 @@
152
  "domain_id": "hydrology",
153
  "n_features": 120,
154
  "n_targets": 5,
155
- "schema_hash": "ff76f6afd69fbb8f",
156
  "feature_names": [
157
  "log_gap_last",
158
  "gap_ratio_median",
@@ -280,7 +278,7 @@
280
  "domain_id": "markets",
281
  "n_features": 137,
282
  "n_targets": 5,
283
- "schema_hash": "25d7d18416182f69",
284
  "feature_names": [
285
  "log_gap_last",
286
  "gap_ratio_median",
@@ -422,56 +420,58 @@
422
  ]
423
  },
424
  {
425
- "domain_id": "spaceweather",
426
- "n_features": 135,
427
- "n_targets": 6,
428
- "schema_hash": "e470be55b5ec586a",
429
  "feature_names": [
430
  "log_gap_last",
431
  "gap_ratio_median",
432
  "log_median_gap",
433
  "gap_cv",
434
  "log_gap_prev",
435
- "log_kp_last",
436
- "kp_ratio_median",
437
- "log_median_kp",
438
- "kp_logsd",
439
- "kp_available",
440
- "kp_missing_rate",
441
- "log_ap_last",
442
- "ap_ratio_median",
443
- "log_median_ap",
444
- "ap_logsd",
445
- "ap_available",
446
- "ap_missing_rate",
447
- "log_ap_rise_last",
448
- "ap_rise_ratio_median",
449
- "log_median_ap_rise",
450
- "ap_rise_logsd",
451
- "ap_rise_available",
452
- "ap_rise_missing_rate",
453
- "log_f107_last",
454
- "f107_ratio_median",
455
- "log_median_f107",
456
- "f107_logsd",
457
- "f107_available",
458
- "f107_missing_rate",
459
  "reference_missing_rate",
460
- "cat_last__quiet",
461
- "cat_last__unsettled",
462
- "cat_last__active",
463
- "cat_last__minor_storm",
464
- "cat_last__moderate_storm",
465
- "cat_last__strong_storm",
466
- "cat_last__severe_storm",
 
467
  "cat_last__unknown",
468
- "cat_rate__quiet",
469
- "cat_rate__unsettled",
470
- "cat_rate__active",
471
- "cat_rate__minor_storm",
472
- "cat_rate__moderate_storm",
473
- "cat_rate__strong_storm",
474
- "cat_rate__severe_storm",
 
475
  "cat_rate__unknown",
476
  "cat_entropy",
477
  "unknown_cat_rate",
@@ -490,9 +490,295 @@
490
  "gap_trend",
491
  "cat_concentration",
492
  "recent_vs_old_gap",
493
- "kp_trend",
494
- "ap_trend",
495
- "ap_rise_trend",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
496
  "f107_trend",
497
  "log_n_past",
498
  "is_cold_start",
@@ -565,56 +851,56 @@
565
  ]
566
  },
567
  {
568
- "domain_id": "climate",
569
  "n_features": 135,
570
- "n_targets": 6,
571
- "schema_hash": "0e637920318818fc",
572
  "feature_names": [
573
  "log_gap_last",
574
  "gap_ratio_median",
575
- "log_median_gap",
576
- "gap_cv",
577
- "log_gap_prev",
578
- "log_tmax_c_last",
579
- "tmax_c_ratio_median",
580
- "log_median_tmax_c",
581
- "tmax_c_logsd",
582
- "tmax_c_available",
583
- "tmax_c_missing_rate",
584
- "log_trange_c_last",
585
- "trange_c_ratio_median",
586
- "log_median_trange_c",
587
- "trange_c_logsd",
588
- "trange_c_available",
589
- "trange_c_missing_rate",
590
- "log_anomaly_c_last",
591
- "anomaly_c_ratio_median",
592
- "log_median_anomaly_c",
593
- "anomaly_c_logsd",
594
- "anomaly_c_available",
595
- "anomaly_c_missing_rate",
596
- "log_precip_mm_last",
597
- "precip_mm_ratio_median",
598
- "log_median_precip_mm",
599
- "precip_mm_logsd",
600
- "precip_mm_available",
601
- "precip_mm_missing_rate",
602
- "reference_missing_rate",
603
- "cat_last__cold_anomaly",
604
- "cat_last__cool",
605
- "cat_last__seasonal_normal",
606
- "cat_last__warm",
607
- "cat_last__heat_anomaly",
608
- "cat_last__wet_day",
609
- "cat_last__extreme_precip",
610
- "cat_last__unknown",
611
- "cat_rate__cold_anomaly",
612
- "cat_rate__cool",
613
- "cat_rate__seasonal_normal",
614
- "cat_rate__warm",
615
- "cat_rate__heat_anomaly",
616
- "cat_rate__wet_day",
617
- "cat_rate__extreme_precip",
618
  "cat_rate__unknown",
619
  "cat_entropy",
620
  "unknown_cat_rate",
@@ -633,10 +919,10 @@
633
  "gap_trend",
634
  "cat_concentration",
635
  "recent_vs_old_gap",
636
- "tmax_c_trend",
637
- "trange_c_trend",
638
- "anomaly_c_trend",
639
- "precip_mm_trend",
640
  "log_n_past",
641
  "is_cold_start",
642
  "censored_horizon",
@@ -645,18 +931,18 @@
645
  "gap_cv_short",
646
  "gap_cv_long",
647
  "gap_median_short_over_long",
648
- "tmax_c_ratio_median_short",
649
- "tmax_c_ratio_median_long",
650
- "tmax_c_median_short_over_long",
651
- "trange_c_ratio_median_short",
652
- "trange_c_ratio_median_long",
653
- "trange_c_median_short_over_long",
654
- "anomaly_c_ratio_median_short",
655
- "anomaly_c_ratio_median_long",
656
- "anomaly_c_median_short_over_long",
657
- "precip_mm_ratio_median_short",
658
- "precip_mm_ratio_median_long",
659
- "precip_mm_median_short_over_long",
660
  "log_count_24h",
661
  "log_count_7d",
662
  "log_count_30d",
@@ -667,36 +953,36 @@
667
  "dow_cos",
668
  "doy_sin",
669
  "doy_cos",
670
- "tmax_c_vs_climatology",
671
- "tmax_c_climatology_available",
672
- "trange_c_vs_climatology",
673
- "trange_c_climatology_available",
674
- "anomaly_c_vs_climatology",
675
- "anomaly_c_climatology_available",
676
- "precip_mm_vs_climatology",
677
- "precip_mm_climatology_available",
678
  "gap_quantile_pos",
679
  "gap_exceed_p95_rate",
680
- "tmax_c_skew",
681
- "tmax_c_kurtosis",
682
- "tmax_c_quantile_pos",
683
- "tmax_c_exceed_p95_rate",
684
- "tmax_c_hill_tail",
685
- "trange_c_skew",
686
- "trange_c_kurtosis",
687
- "trange_c_quantile_pos",
688
- "trange_c_exceed_p95_rate",
689
- "trange_c_hill_tail",
690
- "anomaly_c_skew",
691
- "anomaly_c_kurtosis",
692
- "anomaly_c_quantile_pos",
693
- "anomaly_c_exceed_p95_rate",
694
- "anomaly_c_hill_tail",
695
- "precip_mm_skew",
696
- "precip_mm_kurtosis",
697
- "precip_mm_quantile_pos",
698
- "precip_mm_exceed_p95_rate",
699
- "precip_mm_hill_tail",
700
  "resid_ewma_fast",
701
  "resid_ewma_slow",
702
  "resid_drift",
@@ -710,8 +996,8 @@
710
  {
711
  "domain_id": "macro",
712
  "n_features": 135,
713
- "n_targets": 6,
714
- "schema_hash": "29cb21c7dfc09981",
715
  "feature_names": [
716
  "log_gap_last",
717
  "gap_ratio_median",
@@ -849,290 +1135,6 @@
849
  "baseline_max_abs",
850
  "baseline_available"
851
  ]
852
- },
853
- {
854
- "domain_id": "wildfire",
855
- "n_features": 135,
856
- "n_targets": 6,
857
- "schema_hash": "eb9e09646761bb3e",
858
- "feature_names": [
859
- "log_gap_last",
860
- "gap_ratio_median",
861
- "log_median_gap",
862
- "gap_cv",
863
- "log_gap_prev",
864
- "log_frp_mw_last",
865
- "frp_mw_ratio_median",
866
- "log_median_frp_mw",
867
- "frp_mw_logsd",
868
- "frp_mw_available",
869
- "frp_mw_missing_rate",
870
- "log_brightness_k_last",
871
- "brightness_k_ratio_median",
872
- "log_median_brightness_k",
873
- "brightness_k_logsd",
874
- "brightness_k_available",
875
- "brightness_k_missing_rate",
876
- "log_detections_last",
877
- "detections_ratio_median",
878
- "log_median_detections",
879
- "detections_logsd",
880
- "detections_available",
881
- "detections_missing_rate",
882
- "log_frp_growth_last",
883
- "frp_growth_ratio_median",
884
- "log_median_frp_growth",
885
- "frp_growth_logsd",
886
- "frp_growth_available",
887
- "frp_growth_missing_rate",
888
- "reference_missing_rate",
889
- "cat_last__sparse_detection",
890
- "cat_last__cluster_forming",
891
- "cat_last__active_front",
892
- "cat_last__intense_front",
893
- "cat_last__extreme_front",
894
- "cat_last__night_detection",
895
- "cat_last__low_confidence",
896
- "cat_last__unknown",
897
- "cat_rate__sparse_detection",
898
- "cat_rate__cluster_forming",
899
- "cat_rate__active_front",
900
- "cat_rate__intense_front",
901
- "cat_rate__extreme_front",
902
- "cat_rate__night_detection",
903
- "cat_rate__low_confidence",
904
- "cat_rate__unknown",
905
- "cat_entropy",
906
- "unknown_cat_rate",
907
- "cat_switch_rate",
908
- "source_count_last",
909
- "source_count_mean",
910
- "log_confirmations",
911
- "contradiction_rate",
912
- "ref_resid_gap",
913
- "ref_resid_magnitude",
914
- "ref_resid_category",
915
- "ref_disagreement",
916
- "ref_avail_gap",
917
- "ref_avail_magnitude",
918
- "ref_avail_category",
919
- "gap_trend",
920
- "cat_concentration",
921
- "recent_vs_old_gap",
922
- "frp_mw_trend",
923
- "brightness_k_trend",
924
- "detections_trend",
925
- "frp_growth_trend",
926
- "log_n_past",
927
- "is_cold_start",
928
- "censored_horizon",
929
- "gap_ratio_median_short",
930
- "gap_ratio_median_long",
931
- "gap_cv_short",
932
- "gap_cv_long",
933
- "gap_median_short_over_long",
934
- "frp_mw_ratio_median_short",
935
- "frp_mw_ratio_median_long",
936
- "frp_mw_median_short_over_long",
937
- "brightness_k_ratio_median_short",
938
- "brightness_k_ratio_median_long",
939
- "brightness_k_median_short_over_long",
940
- "detections_ratio_median_short",
941
- "detections_ratio_median_long",
942
- "detections_median_short_over_long",
943
- "frp_growth_ratio_median_short",
944
- "frp_growth_ratio_median_long",
945
- "frp_growth_median_short_over_long",
946
- "log_count_24h",
947
- "log_count_7d",
948
- "log_count_30d",
949
- "rate_ratio_24h_30d",
950
- "hour_sin",
951
- "hour_cos",
952
- "dow_sin",
953
- "dow_cos",
954
- "doy_sin",
955
- "doy_cos",
956
- "frp_mw_vs_climatology",
957
- "frp_mw_climatology_available",
958
- "brightness_k_vs_climatology",
959
- "brightness_k_climatology_available",
960
- "detections_vs_climatology",
961
- "detections_climatology_available",
962
- "frp_growth_vs_climatology",
963
- "frp_growth_climatology_available",
964
- "gap_quantile_pos",
965
- "gap_exceed_p95_rate",
966
- "frp_mw_skew",
967
- "frp_mw_kurtosis",
968
- "frp_mw_quantile_pos",
969
- "frp_mw_exceed_p95_rate",
970
- "frp_mw_hill_tail",
971
- "brightness_k_skew",
972
- "brightness_k_kurtosis",
973
- "brightness_k_quantile_pos",
974
- "brightness_k_exceed_p95_rate",
975
- "brightness_k_hill_tail",
976
- "detections_skew",
977
- "detections_kurtosis",
978
- "detections_quantile_pos",
979
- "detections_exceed_p95_rate",
980
- "detections_hill_tail",
981
- "frp_growth_skew",
982
- "frp_growth_kurtosis",
983
- "frp_growth_quantile_pos",
984
- "frp_growth_exceed_p95_rate",
985
- "frp_growth_hill_tail",
986
- "resid_ewma_fast",
987
- "resid_ewma_slow",
988
- "resid_drift",
989
- "resid_median",
990
- "resid_seasonal_naive",
991
- "baseline_spread",
992
- "baseline_max_abs",
993
- "baseline_available"
994
- ]
995
- },
996
- {
997
- "domain_id": "chaos",
998
- "n_features": 133,
999
- "n_targets": 5,
1000
- "schema_hash": "c037a57b78b4a96b",
1001
- "feature_names": [
1002
- "log_gap_last",
1003
- "gap_ratio_median",
1004
- "log_median_gap",
1005
- "gap_cv",
1006
- "log_gap_prev",
1007
- "log_energy_last",
1008
- "energy_ratio_median",
1009
- "log_median_energy",
1010
- "energy_logsd",
1011
- "energy_available",
1012
- "energy_missing_rate",
1013
- "log_residual_last",
1014
- "residual_ratio_median",
1015
- "log_median_residual",
1016
- "residual_logsd",
1017
- "residual_available",
1018
- "residual_missing_rate",
1019
- "log_spread_last",
1020
- "spread_ratio_median",
1021
- "log_median_spread",
1022
- "spread_logsd",
1023
- "spread_available",
1024
- "spread_missing_rate",
1025
- "log_order_param_last",
1026
- "order_param_ratio_median",
1027
- "log_median_order_param",
1028
- "order_param_logsd",
1029
- "order_param_available",
1030
- "order_param_missing_rate",
1031
- "reference_missing_rate",
1032
- "cat_last__fixed_point",
1033
- "cat_last__periodic",
1034
- "cat_last__quasiperiodic",
1035
- "cat_last__weak_chaos",
1036
- "cat_last__strong_chaos",
1037
- "cat_last__intermittent",
1038
- "cat_last__unknown",
1039
- "cat_rate__fixed_point",
1040
- "cat_rate__periodic",
1041
- "cat_rate__quasiperiodic",
1042
- "cat_rate__weak_chaos",
1043
- "cat_rate__strong_chaos",
1044
- "cat_rate__intermittent",
1045
- "cat_rate__unknown",
1046
- "cat_entropy",
1047
- "unknown_cat_rate",
1048
- "cat_switch_rate",
1049
- "source_count_last",
1050
- "source_count_mean",
1051
- "log_confirmations",
1052
- "contradiction_rate",
1053
- "ref_resid_gap",
1054
- "ref_resid_magnitude",
1055
- "ref_resid_category",
1056
- "ref_disagreement",
1057
- "ref_avail_gap",
1058
- "ref_avail_magnitude",
1059
- "ref_avail_category",
1060
- "gap_trend",
1061
- "cat_concentration",
1062
- "recent_vs_old_gap",
1063
- "energy_trend",
1064
- "residual_trend",
1065
- "spread_trend",
1066
- "order_param_trend",
1067
- "log_n_past",
1068
- "is_cold_start",
1069
- "censored_horizon",
1070
- "gap_ratio_median_short",
1071
- "gap_ratio_median_long",
1072
- "gap_cv_short",
1073
- "gap_cv_long",
1074
- "gap_median_short_over_long",
1075
- "energy_ratio_median_short",
1076
- "energy_ratio_median_long",
1077
- "energy_median_short_over_long",
1078
- "residual_ratio_median_short",
1079
- "residual_ratio_median_long",
1080
- "residual_median_short_over_long",
1081
- "spread_ratio_median_short",
1082
- "spread_ratio_median_long",
1083
- "spread_median_short_over_long",
1084
- "order_param_ratio_median_short",
1085
- "order_param_ratio_median_long",
1086
- "order_param_median_short_over_long",
1087
- "log_count_24h",
1088
- "log_count_7d",
1089
- "log_count_30d",
1090
- "rate_ratio_24h_30d",
1091
- "hour_sin",
1092
- "hour_cos",
1093
- "dow_sin",
1094
- "dow_cos",
1095
- "doy_sin",
1096
- "doy_cos",
1097
- "energy_vs_climatology",
1098
- "energy_climatology_available",
1099
- "residual_vs_climatology",
1100
- "residual_climatology_available",
1101
- "spread_vs_climatology",
1102
- "spread_climatology_available",
1103
- "order_param_vs_climatology",
1104
- "order_param_climatology_available",
1105
- "gap_quantile_pos",
1106
- "gap_exceed_p95_rate",
1107
- "energy_skew",
1108
- "energy_kurtosis",
1109
- "energy_quantile_pos",
1110
- "energy_exceed_p95_rate",
1111
- "energy_hill_tail",
1112
- "residual_skew",
1113
- "residual_kurtosis",
1114
- "residual_quantile_pos",
1115
- "residual_exceed_p95_rate",
1116
- "residual_hill_tail",
1117
- "spread_skew",
1118
- "spread_kurtosis",
1119
- "spread_quantile_pos",
1120
- "spread_exceed_p95_rate",
1121
- "spread_hill_tail",
1122
- "order_param_skew",
1123
- "order_param_kurtosis",
1124
- "order_param_quantile_pos",
1125
- "order_param_exceed_p95_rate",
1126
- "order_param_hill_tail",
1127
- "resid_ewma_fast",
1128
- "resid_ewma_slow",
1129
- "resid_drift",
1130
- "resid_median",
1131
- "resid_seasonal_naive",
1132
- "baseline_spread",
1133
- "baseline_max_abs",
1134
- "baseline_available"
1135
- ]
1136
  }
1137
  ],
1138
  "d_model": 256,
@@ -1147,18 +1149,20 @@
1147
  "counter_expectation": true,
1148
  "domain_adversarial": true,
1149
  "n_domains_adv": 8,
 
 
1150
  "sequence": {
1151
  "sequence_steps": 12,
1152
  "sequence_version": "surprise-sequence/0.4.0",
1153
  "domains": [
1154
- "seismic",
1155
  "hydrology",
1156
  "markets",
1157
- "spaceweather",
1158
- "climate",
1159
- "macro",
1160
  "wildfire",
1161
- "chaos"
 
 
1162
  ]
1163
  }
1164
  }
 
1
  {
2
  "model_type": "zeno-divergent-multi",
3
+ "arch_version": "surprise-arch/0.6.0",
4
+ "version": "0.9.0",
5
  "domains": [
6
  {
7
+ "domain_id": "climate",
8
+ "n_features": 135,
9
  "n_targets": 5,
10
+ "schema_hash": "3d69ae3938606367",
11
  "feature_names": [
12
  "log_gap_last",
13
  "gap_ratio_median",
14
  "log_median_gap",
15
  "gap_cv",
16
  "log_gap_prev",
17
+ "log_tmax_c_last",
18
+ "tmax_c_ratio_median",
19
+ "log_median_tmax_c",
20
+ "tmax_c_logsd",
21
+ "tmax_c_available",
22
+ "tmax_c_missing_rate",
23
+ "log_trange_c_last",
24
+ "trange_c_ratio_median",
25
+ "log_median_trange_c",
26
+ "trange_c_logsd",
27
+ "trange_c_available",
28
+ "trange_c_missing_rate",
29
+ "log_anomaly_c_last",
30
+ "anomaly_c_ratio_median",
31
+ "log_median_anomaly_c",
32
+ "anomaly_c_logsd",
33
+ "anomaly_c_available",
34
+ "anomaly_c_missing_rate",
35
+ "log_precip_mm_last",
36
+ "precip_mm_ratio_median",
37
+ "log_median_precip_mm",
38
+ "precip_mm_logsd",
39
+ "precip_mm_available",
40
+ "precip_mm_missing_rate",
41
  "reference_missing_rate",
42
+ "cat_last__cold_anomaly",
43
+ "cat_last__cool",
44
+ "cat_last__seasonal_normal",
45
+ "cat_last__warm",
46
+ "cat_last__heat_anomaly",
47
+ "cat_last__wet_day",
48
+ "cat_last__extreme_precip",
 
49
  "cat_last__unknown",
50
+ "cat_rate__cold_anomaly",
51
+ "cat_rate__cool",
52
+ "cat_rate__seasonal_normal",
53
+ "cat_rate__warm",
54
+ "cat_rate__heat_anomaly",
55
+ "cat_rate__wet_day",
56
+ "cat_rate__extreme_precip",
 
57
  "cat_rate__unknown",
58
  "cat_entropy",
59
  "unknown_cat_rate",
 
72
  "gap_trend",
73
  "cat_concentration",
74
  "recent_vs_old_gap",
75
+ "tmax_c_trend",
76
+ "trange_c_trend",
77
+ "anomaly_c_trend",
78
+ "precip_mm_trend",
79
  "log_n_past",
80
  "is_cold_start",
81
  "censored_horizon",
 
84
  "gap_cv_short",
85
  "gap_cv_long",
86
  "gap_median_short_over_long",
87
+ "tmax_c_ratio_median_short",
88
+ "tmax_c_ratio_median_long",
89
+ "tmax_c_median_short_over_long",
90
+ "trange_c_ratio_median_short",
91
+ "trange_c_ratio_median_long",
92
+ "trange_c_median_short_over_long",
93
+ "anomaly_c_ratio_median_short",
94
+ "anomaly_c_ratio_median_long",
95
+ "anomaly_c_median_short_over_long",
96
+ "precip_mm_ratio_median_short",
97
+ "precip_mm_ratio_median_long",
98
+ "precip_mm_median_short_over_long",
99
  "log_count_24h",
100
  "log_count_7d",
101
  "log_count_30d",
 
106
  "dow_cos",
107
  "doy_sin",
108
  "doy_cos",
109
+ "tmax_c_vs_climatology",
110
+ "tmax_c_climatology_available",
111
+ "trange_c_vs_climatology",
112
+ "trange_c_climatology_available",
113
+ "anomaly_c_vs_climatology",
114
+ "anomaly_c_climatology_available",
115
+ "precip_mm_vs_climatology",
116
+ "precip_mm_climatology_available",
117
  "gap_quantile_pos",
118
  "gap_exceed_p95_rate",
119
+ "tmax_c_skew",
120
+ "tmax_c_kurtosis",
121
+ "tmax_c_quantile_pos",
122
+ "tmax_c_exceed_p95_rate",
123
+ "tmax_c_hill_tail",
124
+ "trange_c_skew",
125
+ "trange_c_kurtosis",
126
+ "trange_c_quantile_pos",
127
+ "trange_c_exceed_p95_rate",
128
+ "trange_c_hill_tail",
129
+ "anomaly_c_skew",
130
+ "anomaly_c_kurtosis",
131
+ "anomaly_c_quantile_pos",
132
+ "anomaly_c_exceed_p95_rate",
133
+ "anomaly_c_hill_tail",
134
+ "precip_mm_skew",
135
+ "precip_mm_kurtosis",
136
+ "precip_mm_quantile_pos",
137
+ "precip_mm_exceed_p95_rate",
138
+ "precip_mm_hill_tail",
139
  "resid_ewma_fast",
140
  "resid_ewma_slow",
141
  "resid_drift",
 
150
  "domain_id": "hydrology",
151
  "n_features": 120,
152
  "n_targets": 5,
153
+ "schema_hash": "5d147bb24c2cbe00",
154
  "feature_names": [
155
  "log_gap_last",
156
  "gap_ratio_median",
 
278
  "domain_id": "markets",
279
  "n_features": 137,
280
  "n_targets": 5,
281
+ "schema_hash": "ff0fef09349ea5a3",
282
  "feature_names": [
283
  "log_gap_last",
284
  "gap_ratio_median",
 
420
  ]
421
  },
422
  {
423
+ "domain_id": "seismic",
424
+ "n_features": 137,
425
+ "n_targets": 4,
426
+ "schema_hash": "2cd75de68c3480f8",
427
  "feature_names": [
428
  "log_gap_last",
429
  "gap_ratio_median",
430
  "log_median_gap",
431
  "gap_cv",
432
  "log_gap_prev",
433
+ "log_magnitude_last",
434
+ "magnitude_ratio_median",
435
+ "log_median_magnitude",
436
+ "magnitude_logsd",
437
+ "magnitude_available",
438
+ "magnitude_missing_rate",
439
+ "log_depth_km_last",
440
+ "depth_km_ratio_median",
441
+ "log_median_depth_km",
442
+ "depth_km_logsd",
443
+ "depth_km_available",
444
+ "depth_km_missing_rate",
445
+ "log_azimuthal_gap_last",
446
+ "azimuthal_gap_ratio_median",
447
+ "log_median_azimuthal_gap",
448
+ "azimuthal_gap_logsd",
449
+ "azimuthal_gap_available",
450
+ "azimuthal_gap_missing_rate",
451
+ "log_rms_residual_last",
452
+ "rms_residual_ratio_median",
453
+ "log_median_rms_residual",
454
+ "rms_residual_logsd",
455
+ "rms_residual_available",
456
+ "rms_residual_missing_rate",
457
  "reference_missing_rate",
458
+ "cat_last__micro_shallow",
459
+ "cat_last__light_shallow",
460
+ "cat_last__moderate_shallow",
461
+ "cat_last__strong_event",
462
+ "cat_last__intermediate_depth",
463
+ "cat_last__deep_focus",
464
+ "cat_last__quarry_blast",
465
+ "cat_last__other_event",
466
  "cat_last__unknown",
467
+ "cat_rate__micro_shallow",
468
+ "cat_rate__light_shallow",
469
+ "cat_rate__moderate_shallow",
470
+ "cat_rate__strong_event",
471
+ "cat_rate__intermediate_depth",
472
+ "cat_rate__deep_focus",
473
+ "cat_rate__quarry_blast",
474
+ "cat_rate__other_event",
475
  "cat_rate__unknown",
476
  "cat_entropy",
477
  "unknown_cat_rate",
 
490
  "gap_trend",
491
  "cat_concentration",
492
  "recent_vs_old_gap",
493
+ "magnitude_trend",
494
+ "depth_km_trend",
495
+ "azimuthal_gap_trend",
496
+ "rms_residual_trend",
497
+ "log_n_past",
498
+ "is_cold_start",
499
+ "censored_horizon",
500
+ "gap_ratio_median_short",
501
+ "gap_ratio_median_long",
502
+ "gap_cv_short",
503
+ "gap_cv_long",
504
+ "gap_median_short_over_long",
505
+ "magnitude_ratio_median_short",
506
+ "magnitude_ratio_median_long",
507
+ "magnitude_median_short_over_long",
508
+ "depth_km_ratio_median_short",
509
+ "depth_km_ratio_median_long",
510
+ "depth_km_median_short_over_long",
511
+ "azimuthal_gap_ratio_median_short",
512
+ "azimuthal_gap_ratio_median_long",
513
+ "azimuthal_gap_median_short_over_long",
514
+ "rms_residual_ratio_median_short",
515
+ "rms_residual_ratio_median_long",
516
+ "rms_residual_median_short_over_long",
517
+ "log_count_24h",
518
+ "log_count_7d",
519
+ "log_count_30d",
520
+ "rate_ratio_24h_30d",
521
+ "hour_sin",
522
+ "hour_cos",
523
+ "dow_sin",
524
+ "dow_cos",
525
+ "doy_sin",
526
+ "doy_cos",
527
+ "magnitude_vs_climatology",
528
+ "magnitude_climatology_available",
529
+ "depth_km_vs_climatology",
530
+ "depth_km_climatology_available",
531
+ "azimuthal_gap_vs_climatology",
532
+ "azimuthal_gap_climatology_available",
533
+ "rms_residual_vs_climatology",
534
+ "rms_residual_climatology_available",
535
+ "gap_quantile_pos",
536
+ "gap_exceed_p95_rate",
537
+ "magnitude_skew",
538
+ "magnitude_kurtosis",
539
+ "magnitude_quantile_pos",
540
+ "magnitude_exceed_p95_rate",
541
+ "magnitude_hill_tail",
542
+ "depth_km_skew",
543
+ "depth_km_kurtosis",
544
+ "depth_km_quantile_pos",
545
+ "depth_km_exceed_p95_rate",
546
+ "depth_km_hill_tail",
547
+ "azimuthal_gap_skew",
548
+ "azimuthal_gap_kurtosis",
549
+ "azimuthal_gap_quantile_pos",
550
+ "azimuthal_gap_exceed_p95_rate",
551
+ "azimuthal_gap_hill_tail",
552
+ "rms_residual_skew",
553
+ "rms_residual_kurtosis",
554
+ "rms_residual_quantile_pos",
555
+ "rms_residual_exceed_p95_rate",
556
+ "rms_residual_hill_tail",
557
+ "resid_ewma_fast",
558
+ "resid_ewma_slow",
559
+ "resid_drift",
560
+ "resid_median",
561
+ "resid_seasonal_naive",
562
+ "baseline_spread",
563
+ "baseline_max_abs",
564
+ "baseline_available"
565
+ ]
566
+ },
567
+ {
568
+ "domain_id": "wildfire",
569
+ "n_features": 135,
570
+ "n_targets": 6,
571
+ "schema_hash": "cc1cddf8c7ac8333",
572
+ "feature_names": [
573
+ "log_gap_last",
574
+ "gap_ratio_median",
575
+ "log_median_gap",
576
+ "gap_cv",
577
+ "log_gap_prev",
578
+ "log_frp_mw_last",
579
+ "frp_mw_ratio_median",
580
+ "log_median_frp_mw",
581
+ "frp_mw_logsd",
582
+ "frp_mw_available",
583
+ "frp_mw_missing_rate",
584
+ "log_brightness_k_last",
585
+ "brightness_k_ratio_median",
586
+ "log_median_brightness_k",
587
+ "brightness_k_logsd",
588
+ "brightness_k_available",
589
+ "brightness_k_missing_rate",
590
+ "log_detections_last",
591
+ "detections_ratio_median",
592
+ "log_median_detections",
593
+ "detections_logsd",
594
+ "detections_available",
595
+ "detections_missing_rate",
596
+ "log_frp_growth_last",
597
+ "frp_growth_ratio_median",
598
+ "log_median_frp_growth",
599
+ "frp_growth_logsd",
600
+ "frp_growth_available",
601
+ "frp_growth_missing_rate",
602
+ "reference_missing_rate",
603
+ "cat_last__sparse_detection",
604
+ "cat_last__cluster_forming",
605
+ "cat_last__active_front",
606
+ "cat_last__intense_front",
607
+ "cat_last__extreme_front",
608
+ "cat_last__night_detection",
609
+ "cat_last__low_confidence",
610
+ "cat_last__unknown",
611
+ "cat_rate__sparse_detection",
612
+ "cat_rate__cluster_forming",
613
+ "cat_rate__active_front",
614
+ "cat_rate__intense_front",
615
+ "cat_rate__extreme_front",
616
+ "cat_rate__night_detection",
617
+ "cat_rate__low_confidence",
618
+ "cat_rate__unknown",
619
+ "cat_entropy",
620
+ "unknown_cat_rate",
621
+ "cat_switch_rate",
622
+ "source_count_last",
623
+ "source_count_mean",
624
+ "log_confirmations",
625
+ "contradiction_rate",
626
+ "ref_resid_gap",
627
+ "ref_resid_magnitude",
628
+ "ref_resid_category",
629
+ "ref_disagreement",
630
+ "ref_avail_gap",
631
+ "ref_avail_magnitude",
632
+ "ref_avail_category",
633
+ "gap_trend",
634
+ "cat_concentration",
635
+ "recent_vs_old_gap",
636
+ "frp_mw_trend",
637
+ "brightness_k_trend",
638
+ "detections_trend",
639
+ "frp_growth_trend",
640
+ "log_n_past",
641
+ "is_cold_start",
642
+ "censored_horizon",
643
+ "gap_ratio_median_short",
644
+ "gap_ratio_median_long",
645
+ "gap_cv_short",
646
+ "gap_cv_long",
647
+ "gap_median_short_over_long",
648
+ "frp_mw_ratio_median_short",
649
+ "frp_mw_ratio_median_long",
650
+ "frp_mw_median_short_over_long",
651
+ "brightness_k_ratio_median_short",
652
+ "brightness_k_ratio_median_long",
653
+ "brightness_k_median_short_over_long",
654
+ "detections_ratio_median_short",
655
+ "detections_ratio_median_long",
656
+ "detections_median_short_over_long",
657
+ "frp_growth_ratio_median_short",
658
+ "frp_growth_ratio_median_long",
659
+ "frp_growth_median_short_over_long",
660
+ "log_count_24h",
661
+ "log_count_7d",
662
+ "log_count_30d",
663
+ "rate_ratio_24h_30d",
664
+ "hour_sin",
665
+ "hour_cos",
666
+ "dow_sin",
667
+ "dow_cos",
668
+ "doy_sin",
669
+ "doy_cos",
670
+ "frp_mw_vs_climatology",
671
+ "frp_mw_climatology_available",
672
+ "brightness_k_vs_climatology",
673
+ "brightness_k_climatology_available",
674
+ "detections_vs_climatology",
675
+ "detections_climatology_available",
676
+ "frp_growth_vs_climatology",
677
+ "frp_growth_climatology_available",
678
+ "gap_quantile_pos",
679
+ "gap_exceed_p95_rate",
680
+ "frp_mw_skew",
681
+ "frp_mw_kurtosis",
682
+ "frp_mw_quantile_pos",
683
+ "frp_mw_exceed_p95_rate",
684
+ "frp_mw_hill_tail",
685
+ "brightness_k_skew",
686
+ "brightness_k_kurtosis",
687
+ "brightness_k_quantile_pos",
688
+ "brightness_k_exceed_p95_rate",
689
+ "brightness_k_hill_tail",
690
+ "detections_skew",
691
+ "detections_kurtosis",
692
+ "detections_quantile_pos",
693
+ "detections_exceed_p95_rate",
694
+ "detections_hill_tail",
695
+ "frp_growth_skew",
696
+ "frp_growth_kurtosis",
697
+ "frp_growth_quantile_pos",
698
+ "frp_growth_exceed_p95_rate",
699
+ "frp_growth_hill_tail",
700
+ "resid_ewma_fast",
701
+ "resid_ewma_slow",
702
+ "resid_drift",
703
+ "resid_median",
704
+ "resid_seasonal_naive",
705
+ "baseline_spread",
706
+ "baseline_max_abs",
707
+ "baseline_available"
708
+ ]
709
+ },
710
+ {
711
+ "domain_id": "spaceweather",
712
+ "n_features": 135,
713
+ "n_targets": 4,
714
+ "schema_hash": "d06f95410a1ddb08",
715
+ "feature_names": [
716
+ "log_gap_last",
717
+ "gap_ratio_median",
718
+ "log_median_gap",
719
+ "gap_cv",
720
+ "log_gap_prev",
721
+ "log_kp_last",
722
+ "kp_ratio_median",
723
+ "log_median_kp",
724
+ "kp_logsd",
725
+ "kp_available",
726
+ "kp_missing_rate",
727
+ "log_ap_last",
728
+ "ap_ratio_median",
729
+ "log_median_ap",
730
+ "ap_logsd",
731
+ "ap_available",
732
+ "ap_missing_rate",
733
+ "log_ap_rise_last",
734
+ "ap_rise_ratio_median",
735
+ "log_median_ap_rise",
736
+ "ap_rise_logsd",
737
+ "ap_rise_available",
738
+ "ap_rise_missing_rate",
739
+ "log_f107_last",
740
+ "f107_ratio_median",
741
+ "log_median_f107",
742
+ "f107_logsd",
743
+ "f107_available",
744
+ "f107_missing_rate",
745
+ "reference_missing_rate",
746
+ "cat_last__quiet",
747
+ "cat_last__unsettled",
748
+ "cat_last__active",
749
+ "cat_last__minor_storm",
750
+ "cat_last__moderate_storm",
751
+ "cat_last__strong_storm",
752
+ "cat_last__severe_storm",
753
+ "cat_last__unknown",
754
+ "cat_rate__quiet",
755
+ "cat_rate__unsettled",
756
+ "cat_rate__active",
757
+ "cat_rate__minor_storm",
758
+ "cat_rate__moderate_storm",
759
+ "cat_rate__strong_storm",
760
+ "cat_rate__severe_storm",
761
+ "cat_rate__unknown",
762
+ "cat_entropy",
763
+ "unknown_cat_rate",
764
+ "cat_switch_rate",
765
+ "source_count_last",
766
+ "source_count_mean",
767
+ "log_confirmations",
768
+ "contradiction_rate",
769
+ "ref_resid_gap",
770
+ "ref_resid_magnitude",
771
+ "ref_resid_category",
772
+ "ref_disagreement",
773
+ "ref_avail_gap",
774
+ "ref_avail_magnitude",
775
+ "ref_avail_category",
776
+ "gap_trend",
777
+ "cat_concentration",
778
+ "recent_vs_old_gap",
779
+ "kp_trend",
780
+ "ap_trend",
781
+ "ap_rise_trend",
782
  "f107_trend",
783
  "log_n_past",
784
  "is_cold_start",
 
851
  ]
852
  },
853
  {
854
+ "domain_id": "celo",
855
  "n_features": 135,
856
+ "n_targets": 2,
857
+ "schema_hash": "2eae33f0adc6fc7c",
858
  "feature_names": [
859
  "log_gap_last",
860
  "gap_ratio_median",
861
+ "log_median_gap",
862
+ "gap_cv",
863
+ "log_gap_prev",
864
+ "log_tx_count_last",
865
+ "tx_count_ratio_median",
866
+ "log_median_tx_count",
867
+ "tx_count_logsd",
868
+ "tx_count_available",
869
+ "tx_count_missing_rate",
870
+ "log_gas_ratio_last",
871
+ "gas_ratio_ratio_median",
872
+ "log_median_gas_ratio",
873
+ "gas_ratio_logsd",
874
+ "gas_ratio_available",
875
+ "gas_ratio_missing_rate",
876
+ "log_block_interval_s_last",
877
+ "block_interval_s_ratio_median",
878
+ "log_median_block_interval_s",
879
+ "block_interval_s_logsd",
880
+ "block_interval_s_available",
881
+ "block_interval_s_missing_rate",
882
+ "log_base_fee_gwei_last",
883
+ "base_fee_gwei_ratio_median",
884
+ "log_median_base_fee_gwei",
885
+ "base_fee_gwei_logsd",
886
+ "base_fee_gwei_available",
887
+ "base_fee_gwei_missing_rate",
888
+ "reference_missing_rate",
889
+ "cat_last__idle_block",
890
+ "cat_last__light_block",
891
+ "cat_last__normal_block",
892
+ "cat_last__busy_block",
893
+ "cat_last__saturated_block",
894
+ "cat_last__slow_block",
895
+ "cat_last__burst_block",
896
+ "cat_last__unknown",
897
+ "cat_rate__idle_block",
898
+ "cat_rate__light_block",
899
+ "cat_rate__normal_block",
900
+ "cat_rate__busy_block",
901
+ "cat_rate__saturated_block",
902
+ "cat_rate__slow_block",
903
+ "cat_rate__burst_block",
904
  "cat_rate__unknown",
905
  "cat_entropy",
906
  "unknown_cat_rate",
 
919
  "gap_trend",
920
  "cat_concentration",
921
  "recent_vs_old_gap",
922
+ "tx_count_trend",
923
+ "gas_ratio_trend",
924
+ "block_interval_s_trend",
925
+ "base_fee_gwei_trend",
926
  "log_n_past",
927
  "is_cold_start",
928
  "censored_horizon",
 
931
  "gap_cv_short",
932
  "gap_cv_long",
933
  "gap_median_short_over_long",
934
+ "tx_count_ratio_median_short",
935
+ "tx_count_ratio_median_long",
936
+ "tx_count_median_short_over_long",
937
+ "gas_ratio_ratio_median_short",
938
+ "gas_ratio_ratio_median_long",
939
+ "gas_ratio_median_short_over_long",
940
+ "block_interval_s_ratio_median_short",
941
+ "block_interval_s_ratio_median_long",
942
+ "block_interval_s_median_short_over_long",
943
+ "base_fee_gwei_ratio_median_short",
944
+ "base_fee_gwei_ratio_median_long",
945
+ "base_fee_gwei_median_short_over_long",
946
  "log_count_24h",
947
  "log_count_7d",
948
  "log_count_30d",
 
953
  "dow_cos",
954
  "doy_sin",
955
  "doy_cos",
956
+ "tx_count_vs_climatology",
957
+ "tx_count_climatology_available",
958
+ "gas_ratio_vs_climatology",
959
+ "gas_ratio_climatology_available",
960
+ "block_interval_s_vs_climatology",
961
+ "block_interval_s_climatology_available",
962
+ "base_fee_gwei_vs_climatology",
963
+ "base_fee_gwei_climatology_available",
964
  "gap_quantile_pos",
965
  "gap_exceed_p95_rate",
966
+ "tx_count_skew",
967
+ "tx_count_kurtosis",
968
+ "tx_count_quantile_pos",
969
+ "tx_count_exceed_p95_rate",
970
+ "tx_count_hill_tail",
971
+ "gas_ratio_skew",
972
+ "gas_ratio_kurtosis",
973
+ "gas_ratio_quantile_pos",
974
+ "gas_ratio_exceed_p95_rate",
975
+ "gas_ratio_hill_tail",
976
+ "block_interval_s_skew",
977
+ "block_interval_s_kurtosis",
978
+ "block_interval_s_quantile_pos",
979
+ "block_interval_s_exceed_p95_rate",
980
+ "block_interval_s_hill_tail",
981
+ "base_fee_gwei_skew",
982
+ "base_fee_gwei_kurtosis",
983
+ "base_fee_gwei_quantile_pos",
984
+ "base_fee_gwei_exceed_p95_rate",
985
+ "base_fee_gwei_hill_tail",
986
  "resid_ewma_fast",
987
  "resid_ewma_slow",
988
  "resid_drift",
 
996
  {
997
  "domain_id": "macro",
998
  "n_features": 135,
999
+ "n_targets": 2,
1000
+ "schema_hash": "a483c38e354bd308",
1001
  "feature_names": [
1002
  "log_gap_last",
1003
  "gap_ratio_median",
 
1135
  "baseline_max_abs",
1136
  "baseline_available"
1137
  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1138
  }
1139
  ],
1140
  "d_model": 256,
 
1149
  "counter_expectation": true,
1150
  "domain_adversarial": true,
1151
  "n_domains_adv": 8,
1152
+ "context_dim": 4,
1153
+ "baseline_residual": true,
1154
  "sequence": {
1155
  "sequence_steps": 12,
1156
  "sequence_version": "surprise-sequence/0.4.0",
1157
  "domains": [
1158
+ "climate",
1159
  "hydrology",
1160
  "markets",
1161
+ "seismic",
 
 
1162
  "wildfire",
1163
+ "spaceweather",
1164
+ "celo",
1165
+ "macro"
1166
  ]
1167
  }
1168
  }
model.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:37cc49e35d6d1856b5703fb40f1858ddb46c32d3c4454de7a89ce9c474e9099c
3
- size 7507464
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eec29d542608fc99097522bfa22a58df29701a9269b01b5f497f71d1635eaa08
3
+ size 7523716
release.json CHANGED
@@ -1,13 +1,12 @@
1
  {
2
- "version": "0.7.0",
3
- "tag": "v0.7.0",
4
- "released_at": "2026-08-28T10:04:04+00:00",
5
  "gate_status": "promoted",
6
  "promoted_domains": [
7
- "hydrology",
8
- "climate"
9
  ],
10
- "parameters": 1874220,
11
- "main_revision_note": "main serves v0.7.0 (zeno-divergent-multi, 1,874,220 params). The v0.3.1 transformers-native single-domain pipeline stays available at revision v0.3.1.",
12
- "inference_bundle": "inference.json"
13
  }
 
1
  {
2
+ "version": "0.9.0",
3
+ "tag": "v0.9.0",
4
+ "released_at": "2026-08-29T12:41:25+00:00",
5
  "gate_status": "promoted",
6
  "promoted_domains": [
7
+ "climate",
8
+ "seismic"
9
  ],
10
+ "parameters": 1877849,
11
+ "main_revision_note": "main serves v0.9.0 (multi-domain, promoted: climate, seismic)"
 
12
  }
report.json CHANGED
The diff for this file is too large to render. See raw diff