Skip to content

[P0][deploy] Correct deployment verification to recognize partial telemetry readiness #106

Description

@psam21

Migrated from docs/pending-work-plan.md §3.3.

Problem

The deployment script must verify the direct event total separately from the grouped breakdown. It should parse JSON defensively and distinguish these outcomes:

  • Healthy: HTTP service responds and direct totals are ready.
  • Partially ready: direct totals are ready but grouped telemetry is warming; deployment continues with a warning.
  • Unhealthy: endpoint is unreachable, database is unavailable, or direct totals report an error.

The uploaded script version was stricter and removed defensive || true handling around the events curl calls. Under set -Eeuo pipefail, a transient curl failure can abort verification before the script can report the real state.

Required changes

  1. Parse /api/events JSON defensively and check each readiness layer independently.
  2. Classify the deployment outcome as Healthy / Partially ready / Unhealthy.
  3. Treat Partially ready as a non-fatal warning when direct totals are ready.
  4. Restore defensive || true handling around transient curl failures so verification can report the real state.
  5. The canonical repository version (deploy/ns-deploy-full.sh) must be the only version used for deployment. The bootstrap script must hand off to it before executing deployment logic.

Acceptance criteria

  • Deployment script distinguishes Healthy / Partially ready / Unhealthy for the relay.
  • A warming grouped breakdown no longer aborts verification when direct totals are ready.
  • The script never reports "deployment verification complete" based only on static HTTP checks.
  • Secret-bearing commands redirect only safe status output and never include environment files or full process environments.

Dependencies

Source

Migrated from docs/pending-work-plan.md §3.3.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions