{"record":{"id":"e850e8553ae45487","repo":"paperclipai/paperclip","slug":"options-errorlabel-decision-predicate-exited-0","errorCode":null,"errorMessage":"${options.errorLabel} decision predicate exited 0 (expected 10 or 20)","messagePattern":"(.+?) decision predicate exited 0 \\(expected 10 or 20\\)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/adapters/codex-local/src/server/codex-auth-merge-decision.ts","lineNumber":70,"sourceCode":"    await execFile(\"node\", args);\n  } catch (error) {\n    const code = (error as { code?: unknown }).code;\n    if (code === USE_SOURCE_EXIT || code === KEEP_DESTINATION_EXIT) {\n      return code;\n    }\n    const detail =\n      typeof code === \"string\"\n        ? `node could not be executed (${code})`\n        : typeof code === \"number\"\n          ? `unexpected predicate exit code ${code}`\n          : error instanceof Error\n            ? error.message\n            : String(error);\n    throw new Error(`${options.errorLabel} decision predicate failed: ${detail}`);\n  }\n  // `execFile` resolved, so the predicate exited 0. The predicate always exits 10\n  // or 20, so a clean exit 0 is unexpected; fail loud.\n  throw new Error(\n    `${options.errorLabel} decision predicate exited 0 (expected 10 or 20)`,\n  );\n}\n","sourceCodeStart":52,"sourceCodeEnd":74,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/packages/adapters/codex-local/src/server/codex-auth-merge-decision.ts#L52-L74","documentation":"Error \"${options.errorLabel} decision predicate exited 0 (expected 10 or 20)\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at packages/adapters/codex-local/src/server/codex-auth-merge-decision.ts:70 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the decision predicate to exit 10 or 20 (decision) instead of 0."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}