{"record":{"id":"66dbf1ff286e7f13","repo":"paperclipai/paperclip","slug":"configuration-incomplete-requiredscopedenvbindi","errorCode":null,"errorMessage":"configuration incomplete: ${requiredScopedEnvBinding.remediation}","messagePattern":"configuration incomplete: (.+?)","errorType":"validation","errorClass":"ConfigurationIncompleteFailure","httpStatus":null,"severity":"error","filePath":"server/src/services/heartbeat.ts","lineNumber":1040,"sourceCode":"    isSpawnLikeFailureMessage(resultJson.errorMessage) ||\n    isSpawnLikeFailureMessage(resultJson.message) ||\n    isSandboxProviderWorkerUnavailableFailureMessage(run.error) ||\n    isSandboxProviderWorkerUnavailableFailureMessage(resultJson.errorMessage) ||\n    isSandboxProviderWorkerUnavailableFailureMessage(resultJson.message)\n  );\n}\n\nfunction mergeAdapterRecoveryMetadata(input: {\n  resultJson: Record<string, unknown> | null | undefined;\n  errorFamily?: string | null;\n  retryNotBefore?: string | null;\n}) {\n  const errorFamily = readNonEmptyString(input.errorFamily);\n  const retryNotBefore = readNonEmptyString(input.retryNotBefore);\n  if (!input.resultJson && !errorFamily && !retryNotBefore)\n    return input.resultJson ?? null;\n\n  return {\n    ...(input.resultJson ?? {}),\n    ...(errorFamily ? { errorFamily } : {}),\n    ...(retryNotBefore\n      ? {\n          retryNotBefore,\n          transientRetryNotBefore: retryNotBefore,\n          ...(errorFamily === \"provider_quota\"\n            ? { providerQuotaRetryNotBefore: retryNotBefore }\n            : {}),\n        }\n      : {}),\n  };\n}\nconst RUNNING_ISSUE_WAKE_REASONS_REQUIRING_FOLLOWUP = new Set([\n  \"approval_approved\",\n  ISSUE_BLOCKERS_RESOLVED_WAKE_REASON,\n  \"issue_recovery_action_restored\",\n]);","sourceCodeStart":1022,"sourceCodeEnd":1058,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/services/heartbeat.ts#L1022-L1058","documentation":"Configuration-incomplete sentinel in heartbeat run preparation: a requiredScopedEnvBinding was configured, but none of its required env keys is bound with agent-consumer scope before launch. The run is paused/fails with the binding spec's own remediation text describing how to configure the required scoped secrets.","triggerScenarios":"Thrown at server/src/services/heartbeat.ts:946 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Apply the remediation described in the message to complete the required scoped env binding configuration."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}