{"record":{"id":"8af1f4ffdcf3a345","repo":"paperclipai/paperclip","slug":"sandbox-namespace-name-did-not-reach-ready-p","errorCode":null,"errorMessage":"Sandbox ${namespace}/${name} did not reach Ready phase within ${timeoutMs}ms","messagePattern":"Sandbox (.+?)/(.+?) did not reach Ready phase within (.+?)ms","errorType":"exception","errorClass":"SandboxCrTimeoutError","httpStatus":null,"severity":"error","filePath":"packages/plugins/sandbox-providers/kubernetes/src/sandbox-cr-orchestrator.ts","lineNumber":299,"sourceCode":"      throw new Error(\n        `Sandbox ${namespace}/${name} failed: ${mapped.reason ?? (failedCondition?.reason as string) ?? \"unknown reason\"} — ${mapped.message ?? (failedCondition?.message as string) ?? \"\"}`,\n      );\n    }\n    if (phase === \"Terminating\") {\n      // A Sandbox being torn down will never transition to Ready. Polling\n      // until the deadline would burn the full timeoutMs (potentially\n      // 30+ minutes) before throwing a generic timeout. Fail fast instead\n      // so the caller can surface a clear \"the lease is being released\"\n      // error and decide whether to retry against a fresh Sandbox.\n      throw new Error(\n        `Sandbox ${namespace}/${name} is Terminating — cannot wait for Ready`,\n      );\n    }\n    // Pending — keep polling\n    await sleep(pollMs);\n  }\n\n  throw new SandboxCrTimeoutError(namespace, name, opts.timeoutMs);\n}\n\n/**\n * Sandbox CR-backed conformance to SandboxOrchestrator.\n *\n * waitForCompletion semantics change: for this backend, \"completion\" means\n * \"pod is up and Ready to exec into\" — NOT \"workload finished\". The actual\n * command execution and its completion is handled by execInPod().\n */\nexport const sandboxCrOrchestrator: SandboxOrchestrator = {\n  claim: createSandboxCr,\n  getStatus: getSandboxCrStatus,\n  findPod: findPodForSandbox,\n  streamLogs: streamSandboxLogs,\n  release: deleteSandboxCr,\n  waitForCompletion: waitForSandboxReady,\n};\n","sourceCodeStart":281,"sourceCodeEnd":317,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/packages/plugins/sandbox-providers/kubernetes/src/sandbox-cr-orchestrator.ts#L281-L317","documentation":"Error \"Sandbox ${namespace}/${name} did not reach Ready phase within ${timeoutMs}ms\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at packages/plugins/sandbox-providers/kubernetes/src/sandbox-cr-orchestrator.ts:299 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Increase the timeout or inspect pod events/logs for why Ready was not reached."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}