{"record":{"id":"4a3989b77e6fe576","repo":"paperclipai/paperclip","slug":"only-the-comment-author-can-delete-comments","errorCode":null,"errorMessage":"Only the comment author can delete comments","messagePattern":"Only the comment author can delete comments","errorType":"http","errorClass":null,"httpStatus":403,"severity":"error","filePath":"server/src/routes/issues.ts","lineNumber":12624,"sourceCode":"      ...req.body,\n      sourceRunId: req.actor.type === \"agent\" ? agentSourceRunId : req.body.sourceRunId ?? null,\n    }, {\n      identityContextId: req.actor.identityContextId,\n      agentId: actor.agentId,\n      userId: actor.actorType === \"user\" ? actor.actorId : null,\n    });\n\n    await logActivity(db, {\n      companyId: issue.companyId,\n      actorType: actor.actorType,\n      actorId: actor.actorId,\n      agentId: actor.agentId,\n      runId: actor.runId,\n      agentApiKeyId: actor.agentApiKeyId,\n      action: \"issue.thread_interaction_created\",\n      entityType: \"issue\",\n      entityId: issue.id,\n      details: {\n        interactionId: interaction.id,\n        interactionKind: interaction.kind,\n        interactionStatus: interaction.status,\n        continuationPolicy: interaction.continuationPolicy,\n        addresseeAgentId: interaction.addresseeAgentId ?? null,\n        addresseeUserId: interaction.addresseeUserId ?? null,\n        requestedResolverPolicy: interaction.requestedResolverPolicy,\n        effectiveResolverPolicy: interaction.effectiveResolverPolicy,\n        resolverPolicyProvenance: interaction.resolverPolicyProvenance,\n        effectiveResolverPolicySource: interaction.effectiveResolverPolicySource,\n      },\n    });\n\n    if (\n      interaction.addresseeAgentId\n      && issueThreadInteractionAttentionAgentAllowed({\n        agentId: interaction.addresseeAgentId,\n        interaction,","sourceCodeStart":12606,"sourceCodeEnd":12642,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/routes/issues.ts#L12606-L12642","documentation":"403 on plain comment delete. Fires when the actor does not own the comment (different agent or user than the author) and the request is a normal delete; only the comment author may delete their own comments.","triggerScenarios":"Thrown at server/src/routes/issues.ts:11619 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["This is an authorization rule, not a bug: perform the action with an actor that satisfies the stated constraint (board user, the owning agent, or an in-scope resource).","If access should be allowed, verify the actor's credentials/company scope and the resource's ownership before retrying."],"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"}