{"record":{"id":"59d11cc6abd52bf6","repo":"paperclipai/paperclip","slug":"another-execution-for-this-routine-is-already-in-p","errorCode":null,"errorMessage":"Another execution for this routine is already in progress","messagePattern":"Another execution for this routine is already in progress","errorType":"http","errorClass":null,"httpStatus":409,"severity":"error","filePath":"server/src/routes/issues.ts","lineNumber":11471,"sourceCode":"        actor,\n        source: \"issue.comment\",\n      });\n      if (issue.status === \"in_review\" && expiredInteractions.length > 0) {\n        const reviewAttention = await svc\n          .listReviewAttention(issue.companyId, [issue])\n          .then((map) => map.get(issue.id));\n        if (reviewAttention?.state === \"stalled\") {\n          const expiredInteractionIds = expiredInteractions.map((interaction) => interaction.id).sort();\n          lostReviewPathRef = expiredInteractionIds.length === 1\n            ? expiredInteractionIds[0]!\n            : `interactions:${expiredInteractionIds.join(\",\")}`;\n        }\n      }\n\n    } else if (updateReferenceSummaryAfter) {\n      issueResponse = {\n        ...issueResponse,\n        relatedWork: updateReferenceSummaryAfter,\n        referencedIssueIdentifiers: updateReferenceSummaryAfter.outbound.map(\n          (item) => item.issue.identifier ?? item.issue.id,\n        ),\n      };\n    }\n\n    const commentIsFromAssigneeRun = comment\n      ? await commentWasCreatedByAssigneeRun(comment, issue.assigneeAgentId)\n      : false;\n\n    const assigneeChanged =\n      issue.assigneeAgentId !== existing.assigneeAgentId || issue.assigneeUserId !== existing.assigneeUserId;\n    const statusChangedFromBacklog =\n      existing.status === \"backlog\" &&\n      issue.status !== \"backlog\" &&\n      req.body.status !== undefined;\n    const statusChangedFromClosedToTodo =\n      isClosedIssueStatus(existing.status) &&","sourceCodeStart":11453,"sourceCodeEnd":11489,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/routes/issues.ts#L11453-L11489","documentation":"409 from issue checkout/run start. Fires when the target routine already has an execution in progress — the checkout path detects an existing active run for the same routine and refuses to start a concurrent one, enforcing one-active-execution-per-routine.","triggerScenarios":"Thrown at server/src/routes/issues.ts:10687 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Wait for the conflicting state to clear (running job, hold, pause, or stale fingerprint), refresh the current state, then retry the operation."],"exampleFix":null,"handlingStrategy":"retry","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"}