Skip to content

feat(status-pages): status edge Worker and renderers - #1928

Merged
Makisuo merged 7 commits into
status-pages/1-foundationfrom
status-pages/2-edge
Oct 31, 2026
Merged

Makisuo merged 7 commits into
status-pages/1-foundationfrom
status-pages/2-edge

fix(status): overlay cache re-reads before writing so a raced post su…

0571d31
Select commit
Loading
Failed to load commit list.
Maple Review Bot / Maple / review succeeded Oct 31, 2026 in 1m 32s

Confidence 8/10 · No issues found

🟢 Confidence 8/10 · likely safe to merge. Held at 8 because earlier reviews of this pull request found 5 defects.
3 notes · tests covered · risk medium · 5 defects fixed in earlier rounds

The head fixes the overlay-cache race and the uptime floor, each pinned by a test that fails on the old code; the three info findings in untouched files still stand. It does not touch apps/status/src/resources.ts, so none of the open HttpClientError/NotFoundError issues are addressed.

  • rememberOverlay re-reads the colo cache so a post that raced a lagging KV list survives
  • formatPercent rounds float error off before flooring, so 99.84% no longer prints as 99.83%
  • test-support gains a duringList hook that lands a write inside a live KV list

Before merge

  • Infra · Check every environment has what this config now expects · alchemy.run.ts

Still open from earlier reviews

Fixed since the last review

  • ✅ F6 · loadOverlay's list path caches over a break-glass post it raced
  • ✅ F7 · formatPercent floors a float artifact, printing uptime a cent too low
  • ✅ F8 · The list path overwrites the colo overlay cache with an assembly read before a concurrent post, dropping the newly posted entry

Production impact

Open errors in the changed files (2)
Issue Service Occurrences File
HttpClientError (5 issues) maple-web 83 apps/status/src/resources.ts
NotFoundError maple-web 4 apps/status/src/resources.ts

After this merges, Maple checks whether they stop.

Production traffic of the changed files (last 7 days)
File Calls/day Busiest operations
apps/status/src/handler.ts 4.6k POST 1.7k/day, 3.2% err
POST 1.2k/day, 0.3% err
GET 981/day, 1.4% err
apps/status/src/test-support.ts 2.9k POST 1.7k/day, 3.2% err
POST 1.2k/day, 0.3% err
apps/status/src/worker.ts 100 status.request 100/day, 0.0% err
What was checked
  • rememberOverlay re-reads the cache right before cachePut and merges by entry id (apps/status/src/snapshot.ts:194)
  • Swept every two-decimal uptime for 2..200k checks in node: the new formatPercent matches exact flooring, no drift
  • Break-glass posts still write one KV key per entry, cap counted from listed keys, unchanged auth (apps/status/src/break-glass.ts:167)

0571d31 · Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.