paperclipai/paperclip · error

Managed workspace readiness gate could not resolve a health

Error message

Managed workspace readiness gate could not resolve a health URL

What it means

The managed-workspace publish path could not derive a health URL for the service (record port/url and serviceName/command yielded no resolvable probe URL), so the readiness gate cannot even probe the workspace before publishing it.

Source

Thrown at server/src/services/workspace-runtime.ts:6015

        // Carry the reason, not just the code: a bare `listener_ownership_mismatch`
        // in the operation log is what made PAP-17254 undiagnosable (PAP-17256).
        const code = provisioned.status.lastError ?? "unknown error";
        throw new Error(
          `HTTPS exposure failed: ${code}${provisioned.errorDetail ? ` — ${provisioned.errorDetail}` : ""}`,
        );
      }
    }
    // Transport readiness only proves a listener answered. A managed workspace
    // must additionally satisfy the protected readiness contract — own database,
    // cloned rows, login handoff, and matching instance/workspace identity —
    // before it may be published as running/healthy (PAP-17572).
    if (managedWorkspaceIdentity) {
      const publishHealthUrl = resolveRuntimeServiceHealthUrl(
        record.port ? `http://127.0.0.1:${record.port}` : rewriteUrlHostToLoopback(record.url ?? backendUrl),
        { serviceName, command },
      );
      if (!publishHealthUrl) {
        throw new Error("Managed workspace readiness gate could not resolve a health URL");
      }
      let gate = await waitForManagedWorkspaceReadiness({
        healthUrl: publishHealthUrl,
        identity: managedWorkspaceIdentity,
      });
      if (gate.ok) {
        if (!record.db) {
          throw new Error("Managed workspace readiness gate could not resolve the control-plane database");
        }
        gate = await probeManagedWorkspaceHandoffSubjects({
          db: record.db,
          healthUrl: publishHealthUrl,
          identity: managedWorkspaceIdentity,
        });
      }
      if (!gate.ok) {
        logManagedWorkspaceReadinessRejection({
          executionWorkspaceId: managedWorkspaceIdentity.executionWorkspaceId,

View on GitHub (pinned to a7e689b3c3)

Solutions

  1. Check the runtime service config exposes a url or port for the service
  2. Verify the service command names a health endpoint resolvable by resolveRuntimeServiceHealthUrl
  3. Inspect the workspace runtime config for a missing serviceName/command mapping
  4. Re-run provisioning after correcting the service definition
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at server/src/services/workspace-runtime.ts:6015 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@a7e689b3c3 (2026-08-21). Data as JSON: /api/errors/80a2d729c6f24732. Report an issue: GitHub.