{"record":{"id":"7e33f48633c5ddf1","repo":"paperclipai/paperclip","slug":"no-draft-to-finish","errorCode":null,"errorMessage":"No draft to finish","messagePattern":"No draft to finish","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"ui/src/pages/tools/profiles/ProfileWizard.tsx","lineNumber":187,"sourceCode":"        defaultAction: newToolsAction,\n        entries,\n        metadata,\n      });\n      return { created: updated, goToStep: input.goToStep, seed: input.seed };\n    },\n    onSuccess: ({ created, goToStep, seed }) => {\n      setDraftId(created.id);\n      if (seed) setSelections(seed);\n      setStep(goToStep);\n      invalidate();\n    },\n    onError: (error: unknown) =>\n      pushToast({ title: \"Could not save\", body: String((error as Error)?.message ?? error), tone: \"error\" }),\n  });\n\n  const finish = useMutation({\n    mutationFn: async () => {\n      if (!draftId) throw new Error(\"No draft to finish\");\n      const entries = buildEntries(appGroups, selections, advancedRules, newToolsAction);\n      const profile = await toolsApi.updateProfile(draftId, {\n        defaultAction: newToolsAction,\n        entries,\n        metadata: withWizardMeta(existing?.metadata ?? null, { lastCompletedStep: 3, template }),\n      });\n      await reconcileBindings(companyId, profile, {\n        agentIds: [...selectedAgentIds],\n        projectIds: [...selectedProjectIds],\n        routineIds: [...selectedRoutineIds],\n        companyDefault,\n      });\n      return toolsApi.updateProfile(draftId, { status: \"active\" });\n    },\n    onSuccess: (profile) => {\n      pushToast({ title: \"Profile saved\", tone: \"success\" });\n      invalidate();\n      navigate(`/apps/advanced/profiles/${profile.id}${selectedAgentIds.size === 0 && !companyDefault ? \"?created=1\" : \"\"}`);","sourceCodeStart":169,"sourceCodeEnd":205,"githubUrl":"https://github.com/paperclipai/paperclip/blob/5716fe907e596ce73501408fc6efdb19fb61edf2/ui/src/pages/tools/profiles/ProfileWizard.tsx#L169-L205","documentation":"Error \"No draft to finish\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at ui/src/pages/tools/profiles/ProfileWizard.tsx:186 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Start a new profile draft before finishing the wizard."],"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-14T05:17:10.506Z"}