moonstone

Status

Running with a known degradationLast checked · hourly, with a deeper sweep daily

Each column is one day. Clean Degraded Failing Not measured

Scan API

Operational

POST /api/v1/scan, key authentication, quota accounting, and how often the scanner returns the right card.

93.29% clean · 1,103 sweeps · since Sep 22

Pricing data

Operational

Raw market prices and graded medians on card, set and portfolio pages.

85.31% clean · 1,103 sweeps · since Sep 22

Site and catalog

Operational

Card and set pages, search, images, and the catalog behind them.

95.19% clean · 1,103 sweeps · since Sep 22

Research and screener

Degraded

The screener, the movers boards, the daily letter, weekly studies and the article archive.

Degraded: ARTICLE DESK.

83.58% clean · 1,102 sweeps · since Sep 22

Collection and portfolio

Operational

Saved collections, live valuation, and the daily value history behind the chart.

98.55% clean · 1,100 sweeps · since Sep 22

Cynthia

Operational

The research assistant, on card pages, set pages and her own tab.

98.64% clean · 1,103 sweeps · since Sep 22

Accounts and billing

Operational

Sign in, Stripe checkout and webhooks, and notification email.

98.10% clean · 1,103 sweeps · since Sep 22

Past disruptions

  • Nov 4Pricing data · a failing check in 1 of 23 sweeps
  • Nov 2 – Nov 4Research and screener · 3 days · a failing check in 19 of 73 sweeps
  • Nov 1 – Nov 3Site and catalog · 3 days · a failing check in 4 of 74 sweeps
  • Nov 2Pricing data · a failing check in 3 of 28 sweeps
  • Oct 30Research and screener · a failing check in 5 of 14 sweeps
  • Oct 24Collection and portfolio · a failing check in 12 of 15 sweeps
  • Oct 23Scan API · a failing check in 1 of 22 sweeps
  • Oct 23Site and catalog · a failing check in 1 of 22 sweeps
  • Oct 21 – Oct 22Pricing data · 2 days · a failing check in 25 of 44 sweeps
  • Oct 21Site and catalog · a failing check in 10 of 21 sweeps
  • Oct 21Accounts and billing · a failing check in 2 of 21 sweeps
  • Oct 20Research and screener · a failing check in 3 of 28 sweeps
  • Oct 15 – Oct 17Research and screener · 3 days · a failing check in 35 of 85 sweeps
  • Oct 14 – Oct 17Pricing data · 4 days · a failing check in 20 of 109 sweeps
  • Oct 13 – Oct 16Site and catalog · 4 days · a failing check in 16 of 100 sweeps
  • Oct 12Scan API · a failing check in 7 of 31 sweeps
  • Oct 12Research and screener · a failing check in 8 of 31 sweeps
  • Oct 11 – Oct 12Pricing data · 2 days · a failing check in 41 of 59 sweeps
  • Oct 9 – Oct 10Research and screener · 2 days · a failing check in 18 of 47 sweeps
  • Oct 8Pricing data · a failing check in 1 of 24 sweeps
  • Oct 5 – Oct 7Scan API · 3 days · a failing check in 3 of 77 sweeps
  • Oct 6Site and catalog · a failing check in 5 of 28 sweeps
  • Oct 5 – Oct 6Pricing data · 2 days · a failing check in 11 of 52 sweeps
  • Oct 5Cynthia · a failing check in 13 of 24 sweeps
  • Oct 1 – Oct 3Scan API · 3 days · a failing check in 12 of 79 sweeps
  • Sep 24 – Oct 3Pricing data · 10 days · a failing check in 60 of 244 sweeps
  • Oct 1Site and catalog · a failing check in 2 of 26 sweeps
  • Oct 1Accounts and billing · a failing check in 15 of 26 sweeps
  • Sep 26 – Oct 1Research and screener · 6 days · a failing check in 92 of 169 sweeps
  • Sep 26 – Sep 28Site and catalog · 3 days · a failing check in 13 of 90 sweeps
  • Sep 25 – Sep 28Scan API · 4 days · a failing check in 50 of 103 sweeps
  • Sep 26Collection and portfolio · a failing check in 3 of 17 sweeps
  • Sep 26Cynthia · a failing check in 1 of 17 sweeps
  • Sep 26Accounts and billing · a failing check in 3 of 17 sweeps
  • Sep 24Research and screener · a failing check in 1 of 9 sweeps
  • Sep 22Site and catalog · a failing check in 1 of 34 sweeps
  • Sep 22Collection and portfolio · a failing check in 1 of 34 sweeps

How this page is made

An integrity sweep runs against production every hour and a deeper one once a day. It makes real reads: it queries the database, prices cards, calls the scanner and asks Stripe. This page groups those checks into the seven things somebody outside this company depends on, and keeps the result for 90 days.

Each column is one day, filled by the share of that day's sweeps that came back completely clean. A day on which one sweep in thirty found a problem is drawn as one thirtieth, not as a red day, because the two are not the same thing. A day we did not measure is drawn as a gap rather than as a green day, and the history starts where our measurements do rather than being padded out to a round number.

The percentages count clean sweeps over sweeps actually recorded, and the denominator is printed beside each one. Some checks are expensive and run daily rather than hourly, and a check we deliberately skipped is never counted as a pass. Our monitoring is young, and some of what it has recorded against us was the checks themselves being wrong rather than the service being down. We count those against ourselves anyway and fix the check.

The raw engineering report, every published check and its detail, is public at /api/health, and this page's own feed is at /api/status. If something is broken for you and green here, that gap is worth knowing about: tell us and it pages a person.