paperclipai/paperclip · error
Parent issue not found
Error message
Parent issue not found
What it means
404 from issue creation. Fires when the request supplies a parentId whose issue cannot be found (or is not accessible), so the parent lookup returns null and the handler cannot attach the new child issue.
Source
Thrown at server/src/routes/issues.ts:8820
const result = await ensureArtifactReviewDocumentForWorkProduct({ issue, workProduct, actor });
res.status(result.created ? 201 : 200).json(result.document);
});
router.post("/issues/:id/low-trust/promotions", validate(promoteLowTrustOutputSchema), async (req, res) => {
const id = req.params.id as string;
const issue = await getAccessibleResource(req, res, svc.getById(id), "Issue not found");
if (!issue) return;
if (!(await assertIssueReadAllowed(req, res, issue))) return;
if (!(await assertAgentIssueMutationAllowed(req, res, issue))) return;
if (!(await assertDeliverableMutationAllowedByRunContext(req, res, issue))) return;
const actor = getActorInfo(req);
if (await sourceTrustForActorWrite(issue, actor)) {
res.status(403).json({ error: "Low-trust actors cannot promote quarantined output" });
return;
}
const sourceTrust = await lookupLowTrustSourceArtifact({
issueId: issue.id,
artifactKind: req.body.sourceArtifactKind,
artifactId: req.body.sourceArtifactId,
});
if (!sourceTrust) {
res.status(404).json({ error: "Low-trust source artifact not found" });
return;
}
if (!isLowTrustQuarantined(sourceTrust)) {
res.status(422).json({ error: "Source artifact is not quarantined low-trust output" });
return;
}
const promotedAt = new Date();
const promotionTrust = buildPromotedSourceTrust({
sourceIssueId: issue.id,
sourceArtifactKind: req.body.sourceArtifactKind,
sourceArtifactId: req.body.sourceArtifactId,
promotedByActorType: actor.actorType,
promotedByActorId: actor.actorId,View on GitHub (pinned to 01ad858492)
Solutions
- Verify the id in the request path or body refers to an existing record in this company; re-list the parent collection to get a valid id.
- Check that the record was not deleted or archived, and that the request is scoped to the correct companyId.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/routes/issues.ts:8199 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/0233db5d945a2e1a.
Report an issue: GitHub.