Incident Management Platform  ·  View 17 of 34  ·  4 · Data

Coverage Snapshot — Resolved Ahead, Verified Twice, Read in One Lookup

How layered rotations, overrides and timezones become a 15-minute bucket that the dispatcher reads with a single key, and what stops a wrong answer from reaching it.

Editable source SVG draw.io All views
Edit Schedule editor rotation owners only Override wins every layer Store Schedule store PostgreSQL Schedule audit actor · window Resolve Schedule resolver IANA zones · 72 h Gap detector 14 d horizon Verify DST verifier independent code Diff gate hold on disagreement Publish Coverage buckets 15 min · R3 quorum Snapshot version stamped on pages Page Dispatcher one KV get Staleness alarm p99 ≤ 60 s Coverage Snapshot — Resolved Ahead, Verified Twice, Read in One Lookup Application we own Data store Decision point Security / platform A change is visible to paging within 60 s at p99. If the two resolvers disagree, the previous verified buckets keep serving and the owner is told why. v 1.0 · owner Reliability Architecture · date 2026-09

Decisions

  • The resolver materialises 72 hours ahead, three times the requirement's 60 minutes. A control-plane outage of up to three days leaves paging with correct, pre-verified coverage; beyond that the last buckets keep serving and staleness pages the platform team (ADR-14).
  • Every change re-resolves only the affected rotation and publishes with a version. Pages record the snapshot version they used, so 'who did we page and why' is answerable even when the schedule has since changed.
  • A disagreement between the resolver and the independent verifier holds the previous verified buckets and tells the rotation owner. It does not publish the newer answer and hope.

Targets

  • Snapshot staleness after an edit: p99 ≤ 60 s. Coverage lookup: one key read, independent of layering depth. Gap detection horizon: 14 days, evaluated hourly.

Risks

  • A timezone database update from upstream can change future instants for a rotation. tzdata is pinned per release and a new version is rolled out like code, with the verifier comparing old and new resolutions for the next 14 days.