CodeIssuesPull RequestsActionsSecurityInsights
✨ AI
More
Settings

fix(status): four of six services reported health nobody measured #5483

Merged⚡ AI-generatedXSccantynz wants to mergefix/status-page-stops-fabricating-service-healthmainopened 21d ago
ccantynzcommented 21d ago

The problem

The public /status table is headed "Real-time status of every platform surface" with a "30-DAY UPTIME" column. Four of its six rows were literally this:

{ name: "AI Review", state: "ok", label: "Operational", uptimePct: "100.0%" }

Constants. Nothing behind them. Only Database and Autopilot carried a real signal.

What it cost

Found 2026-08-11: GitHub→Gluecron mirroring had been dead for weeks — vapron 522 commits behind, davenroe 65, alecrae.com 17, zoobicon.com and jarvis-platform 5 each — and this page read "All systems operational · 100.0% · 6/6 services up" the entire time. The drift was eventually found by comparing git ls-remote between hosts by hand, not by any signal on this page.

A page that cannot go red is not a status page.

The rule now

A row may claim Operational only when something on this request actually established it.

Service Before After
Database ok / 100.0% real dbOk, uptime from the incidents table (same source as the hero)
API hardcoded ok — serving this page proves the process. Narrow, but true
Git Push / Smart HTTP hardcoded ok — same process as the API
AI Review hardcoded "Not monitored" / "—" — no probe exists
CI Runner hardcoded "Not monitored" / "—" — no probe exists
Autopilot already real unchanged

The hero counter now reads monitored-up / monitored-total. Counting the unprobed rows as down would read as an outage; counting them as up was the lie. The honest denominator is what we can actually see.

"Not monitored" is styled deliberately grey, never green — an unmeasured surface must not read as a healthy one at a glance.

Also fixed

The Database subtitle said "Neon PostgreSQL". Production runs pgvector/pgvector:pg16 in Docker on the master box. Crediting a vendor we don't use is the same class of untruth as the constants.

Verification

  • tsc --noEmit clean
  • status-uptime.test.ts + status-seo.test.ts19 pass, 0 fail

Follow-up worth doing

AI Review and CI Runner now say "Not monitored" honestly, but the better end state is a real probe for each. This change makes their absence visible instead of papering over it — which is the prerequisite for anyone bothering to build them.


Found during the fleet dead-surface sweep. Related: PR #5482 (mirror-sync could never report failure). Context: FINDINGS.md F20/F27 in ccantynz/platform-contracts.

🤖 Generated with Claude Code

ccantynzAI Reviewcommented 21d ago

AI Triage

(no summary)

Priority: medium Risk area: mixed

Suggested labels: (no label suggestions) Suggested reviewers: (no reviewer suggestions)

Suggestions only — nothing has been applied. The PR author stays in control.

gluecron[bot]🤖 botAI Reviewcommented 21d ago

AI review unavailable

The platform's AI balance is exhausted, so AI generation is temporarily unavailable. Nothing was lost. You can queue this as a repair for the internal agent from the repository's Health page, or try again once the balance is restored. The PR is otherwise unchanged.

Cross-repo impact

See what breaks downstream if this PR merges.

Analyze →
⮌ Merged

This pull request was merged into main.

c comment · e edit title · m merge · a approve · r request changes · ? shortcuts