Shipping to production

Deployment

Mynd is an API — there is nothing of ours to deploy. Production-readiness is about how your services hold keys, handle failure, and observe runs.

Environments

Use sk_test_ keys against the sandbox in development and CI; it is the same API surface over synthetic context, free to call. Promote to sk_live_ per environment, one key per deployable service, named after the service so audit-log entries are attributable.

Production checklist

  • Keys injected via secret manager — never in images or env files in git
  • Idempotency-Key on every run creation
  • Backoff with jitter on 429/5xx (SDK default; verify if raw HTTP)
  • Webhook endpoint verified, deduplicating on event.id
  • Trace replay + eval gate wired into CI before prompt changes ship
  • Alerts on scope_denied (bug or probe) and on run.failed rate
  • Region pinned deliberately at project creation — it cannot move later

Observability

Every API response carries an X-Request-Id; log it. Run traces are your application-level telemetry — export them to your store if you need retention beyond your tier's window. The /v1/usage endpoint exposes spend and token counts for dashboards.

Graceful degradation

Deep runs are the first thing to queue under load (503 overloaded). Design the fallback up front: degrade to y0-fast with a tighter prompt, or queue the request and notify via webhook. Synchronous user-facing paths should never block on y0-deep.