Skip to main content

Tutorial · data freshness

/status reports service health; /admin/readiness explains the detail.

The public page exposes only aggregated freshness groups without a provider inventory. Authenticated operators see provider cards and job-level SLA; for ENTSO-E vintages, a fresh signal still does not prove usable content.

/status/admin/readinessaggregated publicly

Tutorial · data freshness

What to inspect

Public groups

/status shows only served data groups as fresh, stale or pending, without provider names or configuration.

Internal detail

/admin/readiness shows operators provider cards and SLA rows for forecast, JAO and other jobs; each row's policy defines its signal.

ENTSO-E vintages

For vintage rows, within_sla confirms archived-attempt timing, not parsed-content usability.

Honesty

Breached and no_signal are explicit caveats; within_sla must be read with the signal-specific boundary.

HowTo: read /status

1. Start with public groups

On /status, fresh means the group has a signal within policy; stale means at least one served signal has exceeded its boundary.

2. Open operator detail

On /admin/readiness, provider cards and SLA rows cover individual integrations and jobs. A signal may mean fact freshness, a content deadline or capture-attempt timing.

3. Decode the state

within_sla means the signal satisfies its row policy, at_risk is near the limit, breached violates it, no_signal means none is recorded, blocked means signal or setup is missing, and unclassified means a signal exists without a policy.

4. Isolate ENTSO-E vintages

For these rows, a fresh timestamp means only an archived capture attempt. The response can carry 0 parsed points or events, so a separate audit must establish usability.

5. Carry the caveat into the decision

The trader should see both an SLA violation and the row-specific meaning boundary beside the forecast, brief or export, not only in a backend status.

What not to claim

No status shortcut

within_sla means compliance with that row's policy. For ENTSO-E vintages it does not prove parsed market data is non-empty or usable.

No backfill fiction

A point-in-time forward archive is not rebuilt as a real forecast after the delivery window has passed.

No hidden gaps

When Alvo sees a gap, the public group should degrade and /admin/readiness should identify the exact provider or job for operators.

Tutorial · data freshness

Checklist and states

Morning freshness read

Minimal sequence before a market read or brief review.

1. Open public /status before using a market signal.
2. Read the served data groups: fresh, stale or pending.
3. If you are an operator, open /admin/readiness for provider and job-level Freshness SLA.
4. Check forecast-da-capture rows separately for UA, PL and HU in the authenticated view.
5. Treat a stale/breached signal as a decision caveat, not a hidden backend detail.
SLA taxonomy

The six internal SLA states on authenticated /admin/readiness.

within_sla: latest signal satisfies this row's SLA policy; read the row-specific caveat before judging content
at_risk: the latest signal is close to breaching this row's policy
breached: the latest signal violates this row's SLA policy
no_signal: an SLA policy exists, but no signal has been recorded yet
blocked: the required signal or setup is unavailable
unclassified: a signal exists, but no SLA policy classifies it yet

Tutorial · data freshness

Data freshness FAQ

Why does /status omit provider cards and SLA rows?

Public status is deliberately aggregated and does not expose internal configuration. The full matrix lives behind admin authentication at /admin/readiness.

Why do ENTSO-E vintage rows have a separate caveat?

They aggregate archived-attempt timing even when a response has 0 parsed points or events. A fresh signal therefore is not proof of usable forecast content.

Can Alvo just rerun capture and recover everything?

Not always. When an upstream source served a full-day hole, the forward archive for past delivery days remains lost point-in-time evidence; the system self-heals only when that gap leaves the lag window.

Want to inspect the live state?

Open /status or /api/health for the public aggregate; exact providers and SLA rows are available to operators at /admin/readiness.

Open /status