{"record":{"id":"a7e8c6bc1f6775a4","repo":"paperclipai/paperclip","slug":"assigneeuserid-me-requires-board-authentication","errorCode":null,"errorMessage":"assigneeUserId=me requires board authentication","messagePattern":"assigneeUserId=me requires board authentication","errorType":"http","errorClass":null,"httpStatus":403,"severity":"error","filePath":"server/src/routes/issues.ts","lineNumber":6061,"sourceCode":"  }\n\n  /**\n   * Refuse an agent creating a child issue assigned to the agent that created\n   * a still-open ancestor in the same chain. That shape is a delegation cycle\n   * (A delegates to B, B delegates the same work back to A): each agent lacks\n   * something the other assumed it had, the chain of blocked issues grows,\n   * and no one tells the human. Humans are unaffected, and closed ancestors\n   * do not count — re-engaging the creator of finished work is normal.\n   */\n  async function assertNoAgentDelegationCycle(input: {\n    actorType: string;\n    parentIssueId: string | null | undefined;\n    assigneeAgentId: string | null | undefined;\n  }) {\n    if (input.actorType !== \"agent\") return;\n    if (!input.parentIssueId || !input.assigneeAgentId) return;\n    const ancestor = await svc.findOpenAncestorCreatedByAgent(input.parentIssueId, input.assigneeAgentId);\n    if (!ancestor) return;\n    throw conflict(\n      `Delegation cycle: ${ancestor.identifier ?? \"an ancestor issue\"} in this chain was created by the agent this child would be assigned to. ` +\n        \"Complete the remaining work in your own issue, leave the child unassigned, or escalate to a board operator — do not delegate the work back to the agent that delegated it to you.\",\n      {\n        code: \"delegation_cycle\",\n        ancestorIssueId: ancestor.id,\n        assigneeAgentId: input.assigneeAgentId,\n      },\n    );\n  }\n\n  async function normalizeIssueAssigneeAgentReference(\n    companyId: string,\n    rawAssigneeAgentId: string | null | undefined,\n    options: { actorType?: string } = {},\n  ) {\n    if (rawAssigneeAgentId === undefined || rawAssigneeAgentId === null) {\n      return rawAssigneeAgentId;","sourceCodeStart":6043,"sourceCodeEnd":6079,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/routes/issues.ts#L6043-L6079","documentation":"403 from the company search route: the query used assigneeUserId=me, which resolves to a specific board user, but the actor is not board-authenticated so 'me' cannot be resolved.","triggerScenarios":"Thrown at server/src/routes/issues.ts:5755 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":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}