{"record":{"id":"084f179330f13fdd","repo":"paperclipai/paperclip","slug":"scope-detail","errorCode":null,"errorMessage":"scope.detail","messagePattern":"scope\\.detail","errorType":"http","errorClass":null,"httpStatus":403,"severity":"error","filePath":"server/src/routes/issues.ts","lineNumber":5858,"sourceCode":"            \"Suggested-task creation requires independent authorization for every selected task\",\n        });\n      }\n    }\n    return true;\n  }\n\n  async function resolvePendingReviewInteractionRestriction(\n    issue: {\n      id: string;\n      companyId: string;\n      status: string;\n      reviewPolicy?: IssueReviewPolicy | null;\n      createdByAgentId?: string | null;\n      createdByUserId?: string | null;\n    },\n    interaction: {\n      id: string;\n      kind: string;\n      status: string;\n      createdByAgentId?: string | null;\n      createdByUserId?: string | null;\n    },\n  ): Promise<{\n    restriction:\n      | IssueThreadInteractionCanonicalResolverPolicy\n      | IssueThreadInteractionResolverRestriction;\n    binding: \"explicit\" | \"legacy\";\n  } | null> {\n    if (\n      issue.status !== \"in_review\" ||\n      interaction.status !== \"pending\" ||\n      (interaction.kind !== \"request_confirmation\" &&\n        interaction.kind !== \"request_checkbox_confirmation\")\n    )\n      return null;\n    if (!(await isIssueReviewVerdictInteraction(db, { issue, interaction })))","sourceCodeStart":5840,"sourceCodeEnd":5876,"githubUrl":"https://github.com/paperclipai/paperclip/blob/3f1d897a7c018d76563a21c6e39c3c9b03933622/server/src/routes/issues.ts#L5840-L5876","documentation":"resolveTaskWatchdogMutationScope returned kind 'invalid' for the actor's run, and scope.detail (the scope resolver's reason, e.g. missing or malformed watchdog binding) is surfaced verbatim as the 403 error.","triggerScenarios":"Thrown at server/src/routes/issues.ts:4604 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Correct the request so it satisfies the condition stated in the error message, then retry; see the throwing line in the named file for the exact check."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3f1d897a7c018d76563a21c6e39c3c9b03933622","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}