methods & definitions
Indexed glossary and integration contracts
Every formula on this site, with a plain-language reading, a definition for each symbol, and a statement of what it is testing — followed by the exact schemas Zeno runs on.
Model signature
Given the history of what reality did, what every reference model expected, which channels were actually observable, and the context, the model returns a model–world state and forecasts how long those references stay valid.
what it testsDefines the learned object under test — what the model consumes and what it must emit.
- Zeno Divergent — the learned divergence model with parameters θ
- observed reality up to t (values, coverage, quality flags)
- the reference set — every existing model's expectation for the same question, with its uncertainty and freshness
- observability record — which channels reported, and which went dark
- context: regime tags, constraints, institutional state
- the model–world latent state, ten axes
- typed failure — which kind of divergence this is
- blindness channel — what could not be observed, kept separate from what was observed and looked calm
- forecast validity of each reference over horizon H — the learned target
- surprise potential — a ranking, unitless by construction
- action, including epistemic abstention (request information rather than score)
Surprise latent
The learned object is a ten-dimensional state describing how reality is departing from the reference set.
what it testsDefines the learned object under test — what the model consumes and what it must emit.
- surprise latent at time t
- ten real-valued axes with a region topology (disagreement, blindness, timing, …)
AUPRC
Area under the precision–recall curve: how clean the alarms stay as you demand more of the real breaks be caught.
why it mattersPrimary column. With rare breaks, precision–recall area degrades honestly where AUROC still looks flattering; read it against prevalence, which is the score a random detector gets.
what it testsTests a different way the claim could be wrong: ranking, timing, coverage or calibration.
- precision — share of alarms that were real breaks
- recall — share of real breaks that were alarmed
AUROC
The chance that a randomly chosen break step is scored higher than a randomly chosen clean step.
why it mattersProbability a break step outranks a clean one. Reported for comparability with the uncertainty literature, not as the decision metric.
what it testsTests a different way the claim could be wrong: ranking, timing, coverage or calibration.
- score assigned to a step inside a real break
- score assigned to a step with no break
lead@FAR
Average number of steps of warning you get, measured only while the alarm budget is held at 10%.
why it mattersWarning time is only worth anything at a fixed alarm budget, so a method that ignores the budget shows a dash instead of a long lead.
what it testsTests a different way the claim could be wrong: ranking, timing, coverage or calibration.
- step at which the structural break begins
- first step at which the method crossed its locked threshold
- step false-positive rate on clean steps, locked at 0.10
step FPR
How often the method cries wolf, per clean step.
why it mattersThe realised cost of the alarm. It is what makes lead time comparable across rows rather than a race to alarm first.
what it testsTests a different way the claim could be wrong: ranking, timing, coverage or calibration.
- threshold crossings on steps with no break
- all steps outside any break window
detect
The share of real break episodes that got any warning at all before the break began.
why it mattersCoverage in episode units — how often a real break is caught at all, which AUPRC can hide by ranking well inside a few episodes.
what it testsTests a different way the claim could be wrong: ranking, timing, coverage or calibration.
- break episodes with at least one pre-break threshold crossing
- held-out episodes containing a labelled structural break
ECE
Expected calibration error: bucket the predictions by confidence and measure how far stated confidence sits from what actually happened.
why it mattersA score that ranks well but is systematically overconfident cannot be used as a threshold in an operating procedure.
what it testsTests a different way the claim could be wrong: ranking, timing, coverage or calibration.
- a confidence bucket (e.g. scores in 0.6–0.7)
- share of all steps falling in bucket b
- observed break frequency in bucket b
- mean predicted probability in bucket b
SI — z^S failure head
A logistic read-off of the learned surprise latent, giving the probability that the references are about to fail.
The failure head read off the learned surprise latent — a function of how reality relates to the whole reference set, not of any single predictor's confidence.
why it mattersThis is the subject of the claim. If it cannot beat every row below it on identical inputs and labels, the learned representation carries nothing the conventional signals do not already carry.
what it testsTests whether the learned latent carries anything a conventional detector does not already carry.
- logistic function, squashing to a probability
- learned weights and bias of the failure head
- the ten-axis surprise latent at time t
Logistic on hand-engineered signals
Ordinary logistic regression on hand-built features, trained on the same labels.
Supervised logistic regression on the hand-engineered signals, trained on the same labels.
why it mattersA strong supervised baseline, not a ceiling. It sees the answers during fitting, so it shows how much of the label a simple supervised model recovers from features alone — a better-specified supervised model could score higher.
what it testsTests whether the learned latent carries anything a conventional detector does not already carry.
- hand-engineered feature vector for step t
- fitted regression coefficients
Ensemble variance
How far apart the ensemble members' predictions are at this step.
Spread of the member predictions at each step.
why it mattersThe standard answer to 'are the models unsure?'. It measures disagreement about the next value, which is not the same as the references losing validity.
what it testsTests whether the learned latent carries anything a conventional detector does not already carry.
- prediction of ensemble member k
- mean prediction across members
- number of members
Predictive entropy
How spread out the predicted distribution is — high when the model has no clear expectation.
Entropy of the predictive distribution.
why it mattersClassic epistemic-uncertainty proxy. High entropy in a noisy but stable regime is not a break, which is exactly the confusion the claim is testing.
what it testsTests whether the learned latent carries anything a conventional detector does not already carry.
- predicted probability of outcome c at step t
- Shannon entropy in nats
OOD score
How unusual the current input looks compared with the data the model was trained on.
Mahalanobis distance of the current input from the training distribution.
why it mattersDetects inputs the model was never trained on. It is blind to breaks that occur inside the training support.
what it testsTests whether the learned latent carries anything a conventional detector does not already carry.
- current input state
- mean of the training distribution
- inverse covariance — the Mahalanobis metric
Anomaly score
How large today's error is, expressed in units of the model's own typical error.
Standardised residual against the primary reference.
why it mattersThe default anomaly detector. It fires on one-off outliers as loudly as on structural change — the false_anomaly episodes exist to punish that.
what it testsTests whether the learned latent carries anything a conventional detector does not already carry.
- observed value
- reference prediction
- estimated residual scale
Conformal width
How wide the calibrated prediction interval has to be to keep its coverage promise.
Width of the conformal prediction interval at the locked coverage level.
why it mattersA calibrated uncertainty band. Widening intervals are the honest baseline for 'the model is losing grip'.
what it testsTests whether the learned latent carries anything a conventional detector does not already carry.
- the (1−α) quantile of past absolute residuals
- miscoverage level, locked before evaluation
CUSUM change-point
A running total of errors that only grows while errors persistently lean the same way.
Cumulative-sum statistic over residuals with a drift allowance.
why it mattersThe textbook change-point detector, and the toughest classical rival on timing: it is designed to accumulate small persistent shifts.
what it testsTests whether the learned latent carries anything a conventional detector does not already carry.
- cumulative sum statistic at step t
- residual at step t
- drift allowance — the shift size considered ignorable
kNN novelty
How far the current state is from the closest situations ever seen before.
Mean distance to the k nearest historical states.
why it mattersNon-parametric novelty. It answers 'have we been here before?' without any model of what should have happened here.
what it testsTests whether the learned latent carries anything a conventional detector does not already carry.
- the k nearest historical states to x_t
- neighbourhood size
Disagreement × impact
Model disagreement multiplied by how much the outcome would matter.
Ensemble disagreement weighted by the consequence model.
why it mattersThe strongest hand-built composite — the thing a good team would build without a learned latent. It is the honest 'do you even need a new model?' comparison.
what it testsTests whether the learned latent carries anything a conventional detector does not already carry.
- ensemble variance at step t
- expected consequence from the domain consequence model
Control — constant predictor
Emits the same number forever, so it detects nothing by construction.
A predictor that emits the same score at every step.
why it mattersAny metric a constant can score well on is a property of the label prevalence, not of detection.
what it testsTests the harness itself — if a control scores well, the metric is broken, not the method good.
- a fixed constant, identical at every step
Control — uniform random
Pure noise — the score any method must clearly beat before it means anything.
Uniform random scores.
why it mattersChance floor. Every method is also re-scored against shuffled labels and must collapse to this level when it does.
what it testsTests the harness itself — if a control scores well, the metric is broken, not the method good.
- uniform distribution on the unit interval
Control — shuffled labels
Every method is re-scored against randomly permuted labels; if it still scores well, the metric is broken, not the method good.
A destructive control that removes any real association between score and label.
why it mattersIt is the guard against leakage and metric artefacts: a method must collapse to chance here or its headline number is not evidence.
what it testsTests the harness itself — if a control scores well, the metric is broken, not the method good.
- a random permutation of step indices
- the shuffled label sequence
integration
Three contracts, nothing else
Zeno runs as a sidecar: you keep your predictors, send what reality did and what your models expected, and receive one report. These are the exact schemas in model/sim/schemas.py.
ProcessObservation
What reality did, in the sending organisation's own units. One record per entity per timestamp; sensor health is carried explicitly so absence of signal is never read as absence of risk.
- domain*string
- Domain pack the record belongs to (earth | finance | critical | custom).
- entity_id*string
- Stable identifier of the observed entity (parcel, book, substation).
- episode_id*string
- Groups a contiguous run of observations for lead-time evaluation.
- timestamp*string (ISO 8601)
- Observation time, UTC.
- stateRecord<string, number>
- Observed state variables in native units.
- contextRecord<string, number>
- Exogenous conditions that are not the target of prediction.
- modalitiesSensorHealth[]
- Per-modality availability, freshness, coverage, quality, expected availability.
- data_qualityRecord<string, number>
- Per-field quality scores in [0, 1].
- source_provenanceRecord<string, unknown>
- Where the record came from; travels into the report unchanged.
- labelsRecord<string, unknown>
- Optional supervision: break onsets, operator judgements, realised consequence.
{
"domain": "earth",
"entity_id": "parcel-0421",
"episode_id": "2026-fire-season-north",
"timestamp": "2026-08-23T12:00:00Z",
"state": { "fuel_moisture": 0.11, "wind_speed": 42.0 },
"context": { "days_since_rain": 31 },
"modalities": [
{ "modality": "thermal_ir", "available": false, "coverage": 0.0,
"freshness_seconds": 86400, "expected_availability": 0.95 }
],
"data_quality": { "fuel_moisture": 0.7 },
"labels": { "break_onset": null }
}