Status
What the job did last, what the feeds look like, and whether the ledger still verifies.
Operator checks
Read from the committed ledger/state.json and
ledger/scoreboard.jsonl when this page was built — never from a log, which expires.
Ages below are measured from that build.
| Check | Value | Detail | Health |
|---|---|---|---|
| Last issuing run | 2026-09-15T07:36:46.320Z (7 h ago) | bin 2026-09-14 consumed; forecast issued for 2026-09-15; status live | Failing |
| Flare feed window end | 2026-09-15T07:36:46.320Z (7 h ago) | source swpc-live flares#202457cbecf8 flux#c31c3290ad2e sats#18 | OK |
| Last closed bin absorbed | 2026-09-14 (38 h ago) | zero-record staleness fires after 3 consecutive empty days | OK |
| X-ray flux feed | reading present (2.7430613158685446e-7 W/m²) | last good reading: 2026-09-15T07:36:46.320Z. The Level channel is muted; the forecast never uses flux. | OK |
| Era table validity | valid through 2027-12-31 | the state absorbed under factor 1.38; past the horizon the lookup would silently clamp, so the job marks the state stale instead | OK |
| Last resolution | 2026-09-14 resolved false at 2026-09-15T07:36:46.320Z (7 h ago) | source: SWPC xray-flares-7-day.json | OK |
| Unresolved forecast days | 1 of 13 | days older than the archive's publication lag (1 d) can be resolved by backfill | OK |
| Consecutive gap-marked days | 0 | a gap day is a missed or unsupplyable bin, recorded rather than hidden | OK |
| Ledger chain | verified over 27 lines | re-verified from the committed ledger at build time; run tools/verify_ledger.mjs to reproduce | OK |
Page built 2026-09-15T14:59:16.990Z.
Chain verification
Chain verified over 27 committed ledger line(s).
Reproduce it from a clean clone, with no network and no build:
git clone <repo> && cd <repo> && npm ci
node tools/verify_ledger.mjs
The chain proves internal consistency. Tamper-evidence against a full re-seal rests on the external anchors: the append-only git history, and each published state's recorded chain tail. The Scoreboard explains both.
What these rows mean
- Last issuing run — when the state job last wrote a state; past the pinned staleness age the Live page blanks the forecast rather than show a stale one.
- Feed ages — how old the flare feed's own window end and the last absorbed closed bin are, measured from the feed's observations rather than the clock, so a feed that has stopped publishing can say so.
- Flux — the X-ray flux feed is a display and Level input only, entering no filter step, and the site says when it is unavailable rather than showing a dash.
- Era table validity — the exposure covariate comes from a sealed table with a dated horizon, past which the job refuses to absorb rather than silently clamp to the last era.
- Gap-marked days — a forecast day that was missed, or whose bin no source could supply: recorded in the ledger, never hidden, and excluded from scoring.