BYTE NEWS — integrity report for the `exchange-incidents` dataset ======================================================================== No gap ledger covers this dataset, so nothing here can say when its producer was not looking. SCOPE Append-only and NOT backfillable: it starts on 2026-08-18, the day polling began, and there is no source to rebuild the days before it from. The venues listed as UNMONITORED publish no status this site can read at all — see /coverage/. COVERAGE — when this dataset's producers were not looking ledgers read: none (0 ledger row(s), merged into 0 window(s)) (none recorded in this window) DENSITY Not a continuous record. A day with no rows on this dataset is a quiet day in the world rather than a gap in ours, so no per-day expectation is stated. PROVENANCE — what produced these rows coinbase: 1 row(s) — https://status.coinbase.com/api/v2/summary.json kraken: 1 row(s) — https://status.kraken.com/api/v2/summary.json gemini: 1 row(s) — https://status.gemini.com/api/v2/summary.json bitstamp: 1 row(s) — https://status.bitstamp.net/api/v2/summary.json crypto-com: 1 row(s) — https://status.crypto.com/api/v2/summary.json bitfinex: 1 row(s) — https://bitfinex.statuspage.io/api/v2/summary.json bitmex: 1 row(s) — https://status.bitmex.com/api/v2/summary.json bitflyer: 1 row(s) — https://status.bitflyer.com/api/v2/summary.json binance: 1 row(s) — https://api.binance.com/sapi/v1/system/status okx: 1 row(s) — https://www.okx.com/api/v5/system/status bybit: 0 row(s) — UNMONITORED — Bybit publishes no status page we can read. The one at bybit.statuspage.io belongs to somebody else — it is headed "Login" and lists another company's systems — so we refuse it rather than report it as theirs. Their own announcements feed mixes marketing with outage notices and never states whether the exchange is up, so a dot drawn from it would be our guess rather than their statement. kucoin: 0 row(s) — UNMONITORED — KuCoin's status address does not exist. Their announcements feed does, and it never says whether the exchange is up right now. bitget: 0 row(s) — UNMONITORED — Bitget's status page is private and will not open for us. gate-io: 0 row(s) — UNMONITORED — Gate's status address does not exist, and their announcements feed will not answer anyone without an account. htx: 0 row(s) — UNMONITORED — HTX's status address does not exist, and we could find no other source that states whether the exchange is up without an account. upbit: 0 row(s) — UNMONITORED — Upbit's status address does not exist. Their announcements feed does, and it never says whether the exchange is up right now. deribit: 0 row(s) — UNMONITORED — Deribit's status page is private and will not open for us. CORRECTIONS — what has been revised since publication (none) OUR OWN DOWNTIME — recorded incidents inside this window 2026-10-07 38 min degraded The wire wrote no ledger row for 38 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-10-06 44 min degraded The wire wrote no ledger row for 44 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-10-06 107 min degraded The wire wrote no ledger row for 107 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-10-06 47 min degraded The wire wrote no ledger row for 47 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-10-03 39 min degraded The wire wrote no ledger row for 39 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-10-03 46 min degraded The wire wrote no ledger row for 46 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-10-02 65 min degraded The wire wrote no ledger row for 65 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-09-29 57 min degraded The wire wrote no ledger row for 57 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-09-28 44 min degraded The wire wrote no ledger row for 44 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-09-28 39 min degraded The wire wrote no ledger row for 39 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-09-28 37 min degraded The wire wrote no ledger row for 37 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-09-28 31 min degraded The wire wrote no ledger row for 31 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-09-25 31 min degraded The wire wrote no ledger row for 31 minutes (stage 'budget') [NOT YET WRITTEN UP] 2026-09-24 31 min degraded The wire wrote no ledger row for 31 minutes (stage 'budget') [NOT YET WRITTEN UP] WHAT THE CHECKS DID NOT CHECK gate of 2026-08-31: 2705/2710 checks passed, 4 skipped, 5 failing, 0 block(s) cut short SKIPPED: digest-2026-08-09-pm: its links resolve to published posts and to pages on disk (3 checks) — published before the wrap became a linked recap — the stored post is the audit trail and is never rewritten SKIPPED: the display rung (44) is asserted on the lead card's figure — the figure is the hero number INSIDE the card graphic — SVG user units in an 800x450 viewBox — so its rendered size is `units x (card width / 800)` and no one value makes it 44px on the front page, an article page and a share kit at once. Measured: 126px before this batch and 68.7px after, at 1440x900, because §6 put the lead in a 1/3 column. Reaching 44 means re-composing the card graphic, which is a batch and not a line — see docs/BATCH-K-REPORT.md FAILING: …and the tape carries PLAIN-TEXT rows as well as linked ones — a row with nothing behind it has no `href` at all, so the two states are distinguishable in the markup and not only in the styling (batch L §9), and a page where every row linked would not be exercising that rule FAILING: every recorded incident carries a written post-mortem FAILING: …and the timeline shows we were first FAILING: …which keeps the permalink, grows the timeline, and records the event that ended it FAILING: …and the measured row is 46px on a phone and 42px above 620 — the heights §1 asked for, read off the rendered page This report is assembled from records this site already keeps; it adds no new collection. The datasets it describes: /api/v1/exchange-incidents.json and .csv