Health
Health is the post-live operations page for a project. It answers the current question first: whether production traffic is reachable, server-routed, visible in GA4, and free of recent infrastructure anomalies. Pre-live the page is a placeholder; post-live it carries the production-signals panels and the "Run Health Check" button.
Pre-live vs. post-live
Health is visible in the sidebar both before and after cutover, but the body changes.
- Before cutover — the page shows the Health hero with "Available after production cutover" and a "Health activates after cutover" placeholder card with a "Continue setup →" link back to
/setup. There is no "Run Health Check" button until the project is live. - After cutover — the hero shows the current overall status, an actions-recommended count, an informational-records count, and "Last run" time. A "Run Health Check" button triggers a fresh run that re-renders the page body in place.
Status vocabulary
- Healthy — the core production signals GSS can verify are passing.
- Degraded — production may still be working, but at least one core signal needs review, such as missing GA4 event visibility or a changed container fingerprint.
- Down — endpoint reachability, server-path confirmation, or infrastructure health is failing.
- Unknown — no current health run is available, or the available evidence is incomplete.
- Not live yet — the project has not completed cutover.
How the headline is calculated
The headline is panel-derived. It does not reuse legacy readiness summaries from older health runs.
| Panel type | Effect |
|---|---|
| Core | Endpoint & server-path confirmation, recent event visibility, and infra anomalies drive the headline status. |
| Action | Monitoring readiness and configuration changes add to the action count, but they do not downgrade the headline. |
| Informational | Live state and baseline snapshot records provide context only. |
Section 1 — Production signals (core)
Three core panels live under this heading. They drive the headline.
- Endpoint & server-path confirmation — four per-row checks: Endpoint reachability (Cloud Run liveness), Server-path confirmation (server URL vs. baseline), Web container drift, and Server container drift. Renders per-row state badges and details (current vs. baseline fingerprint where relevant). Does not inspect live GTM tag configuration.
- Recent event visibility — for each critical event frozen into the cutover baseline, shows the previous complete UTC day's count from GA4 and a status badge. Each row also has an operator-attestation block with "Note present" / "Note not present" buttons. Not realtime — the GA4 export is daily.
- Infra anomalies — lists recent routing and Cloud Run error anomalies from Health runs, or "No routing or Cloud Run anomalies are active in the recent health window."
Section 2 — Actions
Action panels point to follow-up work that does not downgrade the headline. The count in the hero ("N actions recommended") is the sum of unresolved action items.
- Monitoring readiness — status of uptime checks, alert policies, and notification channels in Cloud Monitoring. Links to the Monitoring page.
- Configuration changes (action) — shows total / needs-review / last-reviewed counts when there are unacknowledged drift rows. Links to the Changes page.
Section 3 — Context (informational)
Informational panels are context only. They contribute to the informational-records count but never downgrade Health.
- Configuration changes (informational) — same drift counters as above, but rendered here when no review is currently needed.
- Live state — the live-since timestamp, cutover attempt number, and expected server URL. Links to the cutover record.
- Baseline snapshot — the structured fields captured at cutover (web/server container versions, snippet target, etc.). Links to the Setup Snapshot page.
Operator notes on event visibility
The Recent event visibility panel includes "Note present" / "Note not present" buttons for each tracked event. These attestations record operator context (who said what, when) and appear inline as "Noted as present at <time>". They do not override the GA4-derived Health status.