{"record":{"id":"776556cc94c097ed","repo":"paperclipai/paperclip","slug":"could-not-update-assignment-operation-key-suff","errorCode":null,"errorMessage":"Could not update assignment ${operation.key}${suffix}","messagePattern":"Could not update assignment (.+?)(.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"ui/src/pages/tools/profiles/ProfileWizard.tsx","lineNumber":397,"sourceCode":"      .map((binding) => {\n        const input = { targetType: binding.targetType, targetId: binding.targetId } as ToolProfileBindingInput;\n        return {\n          key: `${binding.targetType}:${binding.targetId}`,\n          apply: () => toolsApi.unbindProfile(companyId, profile.id, input),\n          rollback: () => toolsApi.bindProfile(companyId, profile.id, input),\n        };\n      }),\n  ];\n  const completed: typeof operations = [];\n  for (const operation of operations) {\n    try {\n      await operation.apply();\n      completed.push(operation);\n    } catch (error) {\n      const rollbacks = await Promise.allSettled(completed.reverse().map((done) => done.rollback()));\n      const rollbackFailures = rollbacks.filter((result) => result.status === \"rejected\").length;\n      const suffix = rollbackFailures > 0 ? `; ${rollbackFailures} rollback operation(s) also failed` : \"\";\n      throw new Error(`Could not update assignment ${operation.key}${suffix}`, { cause: error });\n    }\n  }\n}\n\nfunction Stepper({ current }: { current: WizardStep }) {\n  return (\n    <ol className=\"flex items-center gap-2 text-sm\">\n      {STEP_LABELS.map(({ step, label }, idx) => {\n        const done = current > step;\n        const active = current === step;\n        return (\n          <li key={step} className=\"flex items-center gap-2\">\n            <span\n              className={cn(\n                \"inline-flex h-6 w-6 items-center justify-center rounded-full text-xs font-semibold\",\n                active && \"bg-primary text-primary-foreground\",\n                done && \"bg-primary/20 text-primary\",\n                !active && !done && \"bg-muted text-muted-foreground\",","sourceCodeStart":379,"sourceCodeEnd":415,"githubUrl":"https://github.com/paperclipai/paperclip/blob/5716fe907e596ce73501408fc6efdb19fb61edf2/ui/src/pages/tools/profiles/ProfileWizard.tsx#L379-L415","documentation":"Error \"Could not update assignment ${operation.key}${suffix}\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at ui/src/pages/tools/profiles/ProfileWizard.tsx:396 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the assignment update; if it persists, reload the wizard state and reapply the assignment."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5716fe907e596ce73501408fc6efdb19fb61edf2","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}