{"record":{"id":"62ebcc5ccc228188","repo":"paperclipai/paperclip","slug":"issue-is-blocked-by-unresolved-blockers","errorCode":null,"errorMessage":"Issue is blocked by unresolved blockers","messagePattern":"Issue is blocked by unresolved blockers","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/src/services/plugin-host-services.ts","lineNumber":2177,"sourceCode":"                ])),\n              }\n            : {}),\n        };\n      },\n      async requestWakeup(params) {\n        const companyId = ensureCompanyId(params.companyId);\n        await ensurePluginAvailableForCompany(companyId);\n        const issue = requireInCompany(\"Issue\", await issues.getById(params.issueId), companyId);\n        if (!issue.assigneeAgentId) {\n          throw new Error(\"Issue has no assigned agent to wake\");\n        }\n        if ([\"backlog\", \"done\", \"cancelled\"].includes(issue.status)) {\n          throw new Error(`Issue is not wakeable in status: ${issue.status}`);\n        }\n        const relations = await issues.getRelationSummaries(issue.id);\n        const unresolvedBlockers = relations.blockedBy.filter((blocker) => blocker.status !== \"done\");\n        if (unresolvedBlockers.length > 0) {\n          throw new Error(\"Issue is blocked by unresolved blockers\");\n        }\n        const budgetBlock = await budgets.getInvocationBlock(companyId, issue.assigneeAgentId, {\n          issueId: issue.id,\n          projectId: issue.projectId,\n        });\n        if (budgetBlock) {\n          throw new Error(budgetBlock.reason);\n        }\n        const contextSource = params.contextSource ?? \"plugin.issue.requestWakeup\";\n        const run = await heartbeat.wakeup(issue.assigneeAgentId, {\n          source: \"assignment\",\n          triggerDetail: \"system\",\n          reason: params.reason ?? \"plugin_issue_wakeup_requested\",\n          payload: {\n            issueId: issue.id,\n            mutation: \"plugin_wakeup\",\n            pluginId,\n            pluginKey,","sourceCodeStart":2159,"sourceCodeEnd":2195,"githubUrl":"https://github.com/paperclipai/paperclip/blob/a7e689b3c35347b529cb9f54c9b9a8575a3dcab6/server/src/services/plugin-host-services.ts#L2159-L2195","documentation":"The issue's active blockers have not been resolved, so the wakeup request is refused. The dependency guard prevents an agent from being woken to work a task whose prerequisites are still open.","triggerScenarios":"Thrown at server/src/services/plugin-host-services.ts:2168 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Resolve or remove the issue's blocking dependencies before waking the agent; inspect the blockers list and complete or unlink them."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a7e689b3c35347b529cb9f54c9b9a8575a3dcab6","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}