{"record":{"id":"48b31b1b145f62ae","repo":"multica-ai/multica","slug":"active-duplicate-issue","errorCode":"active_duplicate_issue","errorMessage":"active duplicate issue exists","messagePattern":"active duplicate issue exists","errorType":"http","errorClass":"service.ErrActiveDuplicate","httpStatus":409,"severity":"error","filePath":"server/internal/service/issue.go","lineNumber":130,"sourceCode":"\t// Platform tags the IssueCreated analytics + business-metrics event\n\t// with the client surface the request came in on (web / desktop /\n\t// daemon / lark / autopilot). Derived from middleware's client\n\t// metadata at the handler layer.\n\tPlatform string\n\n\t// AssignedAgentRunFireAt creates the automatic assigned-agent task in a\n\t// durable deferred state. Channel /issue uses this while detached media is\n\t// still resolving, then promotes the returned task after attachment binding.\n\t// Zero preserves the ordinary immediate enqueue path.\n\tAssignedAgentRunFireAt time.Time\n}\n\n// ErrActiveDuplicate signals that the duplicate guard found an active\n// issue with the same (workspace, project, parent, title) tuple and\n// AllowDuplicate was false. The IssueCreateResult.DuplicateIssue field is\n// populated when this error is returned so callers can render the\n// conflict (HTTP 409, Lark card, etc.).\nvar ErrActiveDuplicate = errors.New(\"active duplicate issue exists\")\n\n// ErrParentIssueNotFound signals that the supplied ParentIssueID does\n// not exist in the issue's workspace. The service refuses to create\n// orphaned or cross-workspace child issues; callers translate this into\n// their transport's 400 / Lark card error.\nvar ErrParentIssueNotFound = errors.New(\"parent issue not found in this workspace\")\n\n// ErrProjectNotFound signals that the supplied ProjectID does not exist\n// in the issue's workspace. Cross-workspace project IDs are rejected\n// here so every create entry (HTTP `POST /issues`, Lark `/issue`, future\n// MCP / API key callers) enforces the same workspace boundary without\n// having to remember it. Callers translate this into 400.\nvar ErrProjectNotFound = errors.New(\"project not found in this workspace\")\n\n// ErrIssueLabelNotFound signals that one of the supplied LabelIDs does not\n// exist in the issue's workspace or is not an issue-scoped label. The whole\n// create is rejected so a new issue is never born with a partial or wrong\n// label set. Callers translate this into their transport's 400.","sourceCodeStart":112,"sourceCodeEnd":148,"githubUrl":"https://github.com/multica-ai/multica/blob/2c0912b6ec764b373d44eeea1e80f0d9f11ab417/server/internal/service/issue.go#L112-L148","documentation":"Error \"active duplicate issue exists\" thrown in multica-ai/multica.","triggerScenarios":"Thrown at server/internal/service/issue.go:130 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Resolve or close the existing duplicate issue before creating a new one."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2c0912b6ec764b373d44eeea1e80f0d9f11ab417","analyzedAt":"2026-08-15T13:25:18.241Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}