{"record":{"id":"1261fbe682080a02","repo":"ruvnet/ruflo","slug":"mcp-onnx-unavailable-using-fallback-embedding","errorCode":null,"errorMessage":"[MCP] ONNX unavailable, using fallback embedding","messagePattern":"\\[MCP\\] ONNX unavailable, using fallback embedding","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/cli/src/mcp-tools/embeddings-tools.ts","lineNumber":117,"sourceCode":"\nasync function generateRealEmbedding(text: string, dimension: number): Promise<EmbeddingResult> {\n  const realFn = await getRealEmbeddingFunction();\n\n  if (realFn) {\n    try {\n      const result = await realFn(text);\n      return {\n        embedding: result.embedding,\n        backend: (result as { backend?: 'onnx' | 'mock' }).backend ?? 'onnx',\n        model: result.model,\n      };\n    } catch {\n      // Fall through to fallback\n    }\n  }\n\n  // Fallback: deterministic hash-based (only if ONNX truly unavailable)\n  console.warn('[MCP] ONNX unavailable, using fallback embedding');\n  const embedding: number[] = [];\n  let hash = 0;\n  for (let i = 0; i < text.length; i++) {\n    hash = ((hash << 5) - hash + text.charCodeAt(i)) | 0;\n  }\n\n  for (let i = 0; i < dimension; i++) {\n    const seed = hash + i * 1337;\n    embedding.push(Math.sin(seed) * Math.cos(seed * 0.5));\n  }\n\n  // L2 normalize\n  const norm = Math.sqrt(embedding.reduce((sum, x) => sum + x * x, 0));\n  return {\n    embedding: embedding.map(x => x / norm),\n    backend: 'mock',\n    model: 'hash-fallback',\n  };","sourceCodeStart":99,"sourceCodeEnd":135,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/cli/src/mcp-tools/embeddings-tools.ts#L99-L135","documentation":"Log warning in generateRealEmbedding: neither the real embedding function nor ONNX could produce an embedding, so a deterministic hash-based pseudo-embedding is generated as the fallback backend.","triggerScenarios":"Thrown at v3/@claude-flow/cli/src/mcp-tools/embeddings-tools.ts:117 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install the ONNX runtime dependency to enable real embeddings; the fallback embedding works but has no semantic quality."],"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-14T05:17:10.506Z"}