Repository navigation
feat(status-pages): status edge Worker and renderers - #1928
Merged
Merged
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.
rememberOverlayre-reads the colo cache so a post that raced a lagging KV list survivesformatPercentrounds float error off before flooring, so 99.84% no longer prints as 99.83%test-supportgains aduringListhook 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
- 🔵 Note · F10 · KV, R2 and Cache reads get no Client span ·
apps/status/src/storage.ts:26 - 🔵 Note · F11 ·
PAGE_SCRIPTre-implementsformatAge's buckets ·packages/status-page/src/page.ts:27 - 🔵 Note · F9 · A failing overlay list is retried in full on every request ·
apps/status/src/snapshot.ts:210
Fixed since the last review
- ✅
F6 ·loadOverlay's list path caches over a break-glass post it raced - ✅
F7 ·formatPercentfloors 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% errPOST 1.2k/day, 0.3% errGET 981/day, 1.4% err |
apps/status/src/test-support.ts |
2.9k | POST 1.7k/day, 3.2% errPOST 1.2k/day, 0.3% err |
apps/status/src/worker.ts |
100 | status.request 100/day, 0.0% err |
What was checked
rememberOverlayre-reads the cache right beforecachePutand merges by entry id (apps/status/src/snapshot.ts:194)- Swept every two-decimal uptime for 2..200k checks in node: the new
formatPercentmatches 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.
Loading