multica-ai/multica · error · service.ErrActiveDuplicate
active_duplicate_issue
active_duplicate_issue
Error message
active duplicate issue exists
What it means
Error "active duplicate issue exists" thrown in multica-ai/multica.
Source
Thrown at server/internal/service/issue.go:130
// Platform tags the IssueCreated analytics + business-metrics event
// with the client surface the request came in on (web / desktop /
// daemon / lark / autopilot). Derived from middleware's client
// metadata at the handler layer.
Platform string
// AssignedAgentRunFireAt creates the automatic assigned-agent task in a
// durable deferred state. Channel /issue uses this while detached media is
// still resolving, then promotes the returned task after attachment binding.
// Zero preserves the ordinary immediate enqueue path.
AssignedAgentRunFireAt time.Time
}
// ErrActiveDuplicate signals that the duplicate guard found an active
// issue with the same (workspace, project, parent, title) tuple and
// AllowDuplicate was false. The IssueCreateResult.DuplicateIssue field is
// populated when this error is returned so callers can render the
// conflict (HTTP 409, Lark card, etc.).
var ErrActiveDuplicate = errors.New("active duplicate issue exists")
// ErrParentIssueNotFound signals that the supplied ParentIssueID does
// not exist in the issue's workspace. The service refuses to create
// orphaned or cross-workspace child issues; callers translate this into
// their transport's 400 / Lark card error.
var ErrParentIssueNotFound = errors.New("parent issue not found in this workspace")
// ErrProjectNotFound signals that the supplied ProjectID does not exist
// in the issue's workspace. Cross-workspace project IDs are rejected
// here so every create entry (HTTP `POST /issues`, Lark `/issue`, future
// MCP / API key callers) enforces the same workspace boundary without
// having to remember it. Callers translate this into 400.
var ErrProjectNotFound = errors.New("project not found in this workspace")
// ErrIssueLabelNotFound signals that one of the supplied LabelIDs does not
// exist in the issue's workspace or is not an issue-scoped label. The whole
// create is rejected so a new issue is never born with a partial or wrong
// label set. Callers translate this into their transport's 400.View on GitHub (pinned to 2c0912b6ec)
Solutions
- Resolve or close the existing duplicate issue before creating a new one.
When it happens
Trigger: Thrown at server/internal/service/issue.go:130 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/48b31b1b145f62ae.
Report an issue: GitHub.