paperclipai/paperclip · error

result.detail

Error message

result.detail

What it means

taskWatchdogScopeAllowsIssueMutation denied creating under the chosen parent: the proposed parent lies outside the watched subtree (allowWatchdogIssue caveat not applicable), and result.detail carries the precise scope rejection reason.

Solutions

  1. Correct the request so it satisfies the condition stated in the error message, then retry; see the throwing line in the named file for the exact check.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server/src/routes/issues.ts:4625 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-08-18). Data as JSON: /api/errors/7b7a0262ddc417ab. Report an issue: GitHub.

Appendix: source

Thrown at server/src/routes/issues.ts:4789

      createdByUserId?: string | null;
    },
  ): Promise<{
    restriction: IssueThreadInteractionCanonicalResolverPolicy | IssueThreadInteractionResolverRestriction;
    binding: "explicit" | "legacy";
  } | null> {
    if (
      issue.status !== "in_review"
      || interaction.status !== "pending"
      || (
        interaction.kind !== "request_confirmation"
        && interaction.kind !== "request_checkbox_confirmation"
      )
    ) return null;
    if (!(await isIssueReviewVerdictInteraction(db, { issue, interaction }))) return null;
    const requester = await resolveIssueReviewRequester(db, issue);
    const binding = requester?.reviewInteractionId === interaction.id ? "explicit" : "legacy";
    if (issue.reviewPolicy == null || issue.reviewPolicy === "anyone") {
      return { restriction: "anyone", binding };
    }
    if (issue.reviewPolicy === "human_only") {
      return { restriction: { policy: "human_only", source: "issue_review" }, binding };
    }
    return {
      restriction: {
        policy: "not_creator",
        source: "issue_review",
        excludedActor: requester ? { type: requester.type, id: requester.id } : null,
      },
      binding,
    };
  }

  async function assertPendingReviewInteractionVerdictAllowed(
    req: Request,
    issue: {
      id: string;

View on GitHub (pinned to 01ad858492)