The freshness label
Every observation includes a freshness label with one of three values:fresh
The value is recent enough for its frequency. The source is delivering on cadence.
stale
The value is older than its frequency gate allows. Usable, but treat with caution.
unknown
Freshness could not be determined for this value.
Filtering by freshness
Most observation routes accept afreshness filter, so you can ask for only the values that pass the gate.
One of
fresh, stale, or unknown. Returns only observations with the matching label.Per-frequency freshness gates
“Recent” means different things for different series. A daily FX reference rate that is a week old is badly stale; a quarterly GDP figure that is a week old is brand new. Conduit applies the freshness gate per frequency, so each series is judged against a window appropriate to how often it is published.A daily series and a quarterly series can both be labeled
fresh while having very different ages, because each is measured against its own gate. The label answers “is this on cadence for its frequency?”, not “how many days old is this in absolute terms?”Liveness: catching silently-frozen feeds
Freshness tells you whether a value is recent. It does not, on its own, tell you whether a source has stopped. A feed that froze last month can keep returning the same last-known value, and each individual observation might still look defensible. Liveness exists to catch exactly that failure mode. Conduit runs a per-series liveness check that detects feeds which have silently stopped updating, across the connector fleet. You can read its results:The operational routes require the
ops:read scope. A key scoped only for data:read will receive 403 forbidden. Request ops:read if you need to monitor feed health programmatically.Choosing the right signal
I am consuming a single value for a decision
I am consuming a single value for a decision
Read the inline
freshness label, or pass freshness=fresh to exclude anything past its gate. This is the per-value check.I am building a dashboard or strategy on many series
I am building a dashboard or strategy on many series
Poll
GET /v1/ops/liveness to catch sources that have silently frozen before they quietly corrupt your inputs. This is the per-series, fleet-wide check.I want a higher-level view of source health
I want a higher-level view of source health
GET /v1/source-health reports source and connector freshness at the source level, complementing the per-series liveness check.Use the freshness label to judge a value and the liveness check to judge the pipe. Together they keep stale numbers and dead feeds out of your decisions.
Related
The time model
How knowledge time and vintage relate to when a value became known.
Provenance
Trace any observation back to its source and ingestion run.