Skip to main content
Start with durable state, not the last toast or terminal line. Preserve the request ID, sandbox ID, operation ID, resource ID, last event sequence, and UTC timestamp. Never include tokens, submitted secret values, terminal/port tickets, signed URLs, or volatile database credentials in support material.

First-response checklist

Compare:
  1. desired_state with observed_state and readiness.
  2. generation with observed_generation.
  3. active_operation.status, step, attempts, deadline, and failure fields.
  4. Effective capability decisions and their reason/remediation.
  5. Recent events after the last sequence you successfully processed.
A transport timeout means the outcome is unknown. Fetch the operation or resource before retrying.

Stable API errors

Lifecycle does not converge

  • queued or scheduling: inspect quota, capacity, target availability, and active operation deadline.
  • provisioning or starting: inspect image digest compatibility, supervisor protocol, storage, network-policy application, and worker failure code.
  • degraded: the sandbox exists but a health, policy, storage, port, service, or reconciliation condition needs attention. Avoid destructive retry loops.
  • failed: this is not successful cleanup. If recovery_state is available or required, review the failed operation and run recovery once.
If recovery fails, preserve both operation IDs. Destroy only after reviewing retained data and confirming that recovery is no longer required.

Execution or terminal fails

Use --debug only long enough to capture request diagnostics, then redact authorization, cookies, signed URLs, and headers before sharing.

File write conflicts

writer lease conflicts mean another active writer owns mutation authority. Coordinate before forced takeover. A checksum/version conflict means the file changed after it was read; reload, merge, and retry with the new expected checksum. Path errors usually indicate a non-absolute or disallowed mount path, traversal, or a symlink resolving outside the allowed root. Do not work around path validation by executing privileged shell commands.

Network or preview is unavailable

  1. Confirm the process is listening on the intended port and readiness passes.
  2. Confirm a port resource exists and is ready; listening alone does not create ingress.
  3. Confirm access mode and obtain a fresh private token/authenticated session.
  4. Inspect effective egress/inbound policy and port access logs.
  5. For outbound failures, resolve every redirect/DNS answer and check protected destination rules.
A policy-denied private, loopback, link-local, metadata, or control-plane destination should not be retried through alternate encodings or DNS aliases.

Service is not ready

Inspect both the service resource and its operation. Check engine support, sidecar capacity/quota, owned volume encryption/state, image digest, sandbox availability, and service failure fields. The connection URL appears only inside the sandbox’s volatile delivery file; its absence from API/UI output is expected. After service creation, restart executions/processes that need its environment. After resume or restore, wait for service ready before migrations or application startup.

Snapshot, restore, or volume failure

  • Snapshot creation: inspect member inventory, quiesce result, storage capacity, checksums, and terminal status.
  • Restore: target must be sleeping; verify image/backend/supervisor compatibility and keep the safety snapshot enabled.
  • Corruption: never bypass checksum failure. Preserve the snapshot metadata and select a different ready snapshot.
  • Volume attach/detach: use an absolute mount path; detach while the sandbox sleeps.
  • Volume grow: request a capacity strictly larger than the current value; shrink is unsupported.
  • Delete: snapshot must not be legally held/in use; volume must detach; destructive CLI commands require --yes.

CLI exit codes

Escalation bundle

Provide only: request ID, operation ID, sandbox/resource IDs, UTC time range, CLI/SDK version, API error code, redacted command shape, desired/observed/readiness state, generation values, last event sequence, and relevant safe failure messages. State whether retry used the same idempotency key.

Security and persistence

Review recovery and data-loss rules.

API and SDKs

Review operation and error contracts.