{"record":{"id":"924939185580ec69","repo":"multica-ai/multica","slug":"parent-issue-not-found-in-this-workspace","errorCode":null,"errorMessage":"parent issue not found in this workspace","messagePattern":"parent issue not found in this workspace","errorType":"validation","errorClass":"ErrParentIssueNotFound","httpStatus":400,"severity":"error","filePath":"server/internal/service/issue.go","lineNumber":136,"sourceCode":"\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.\nvar ErrIssueLabelNotFound = errors.New(\"issue label not found in this workspace\")\n\n// IssueCreateResult is the typed return from IssueService.Create.\n//\n//   - On the happy path: Issue is the new row, Attachments lists the\n//     linked attachments (may be empty), DuplicateIssue is nil.","sourceCodeStart":118,"sourceCodeEnd":154,"githubUrl":"https://github.com/multica-ai/multica/blob/2c0912b6ec764b373d44eeea1e80f0d9f11ab417/server/internal/service/issue.go#L118-L154","documentation":"Error \"parent issue not found in this workspace\" thrown in multica-ai/multica.","triggerScenarios":"Thrown at server/internal/service/issue.go:136 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pick a parent issue that exists in this workspace."],"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"}