{"record":{"id":"6c5caa5e37ba480f","repo":"ruvnet/ruflo","slug":"could-not-locate-noble-ed25519-install-it-in-y","errorCode":null,"errorMessage":"Could not locate '@noble/ed25519'. Install it in your project (npm i @noble/ed25519) or pass a node_modules root via the WITNESS_ED25519_ROOT env var. Probed: ${expanded.join(', ')}. Last error: ${lastErr?.message ?? '?'}","messagePattern":"Could not locate '@noble/ed25519'\\. Install it in your project \\(npm i @noble/ed25519\\) or pass a node_modules root via the WITNESS_ED25519_ROOT env var\\. Probed: (.+?)\\. Last error: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"plugins/ruflo-core/scripts/witness/lib.mjs","lineNumber":83,"sourceCode":"    ...probeRoots.flatMap(r => [\n      join(r, 'v3/@claude-flow/cli'),\n      join(r, 'v3/@claude-flow/plugin-agent-federation'),\n    ]),\n  ];\n  let lastErr;\n  for (const root of expanded) {\n    try {\n      const req = createRequire(join(root, 'noop.js'));\n      const ed = req('@noble/ed25519');\n      ed.etc.sha512Sync = (...m) => {\n        const h = createHash('sha512');\n        for (const x of m) h.update(x);\n        return h.digest();\n      };\n      return ed;\n    } catch (e) { lastErr = e; }\n  }\n  throw new Error(\n    \"Could not locate '@noble/ed25519'. Install it in your project \" +\n    \"(npm i @noble/ed25519) or pass a node_modules root via the \" +\n    \"WITNESS_ED25519_ROOT env var. Probed: \" + expanded.join(', ') +\n    \". Last error: \" + (lastErr?.message ?? '?')\n  );\n}\n\n// ─── manifest helpers ─────────────────────────────────────────────\nexport function fileSha256(absPath) {\n  return createHash('sha256').update(readFileSync(absPath)).digest('hex');\n}\n\nexport function fileContains(absPath, marker) {\n  return readFileSync(absPath, 'utf8').includes(marker);\n}\n\nexport function refreshFix(repoRoot, fix) {\n  const abs = join(repoRoot, fix.file);","sourceCodeStart":65,"sourceCodeEnd":101,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/plugins/ruflo-core/scripts/witness/lib.mjs#L65-L101","documentation":"Error \"Could not locate '@noble/ed25519'. Install it in your project (npm i @noble/ed25519) or pass a node_modules root via the WITNESS_ED25519_ROOT env var. Probed: ${expanded.join(', ')}. Last error: ${lastErr?.message ?? '?'}\" thrown in ruvnet/ruflo.","triggerScenarios":"Thrown at plugins/ruflo-core/scripts/witness/lib.mjs:83 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install @noble/ed25519 (npm i @noble/ed25519) or set WITNESS_ED25519_ROOT to the node_modules root containing it."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}