{"record":{"id":"01171e752f1015e4","repo":"ruvnet/ruflo","slug":"vector-db-using-hash-based-pseudo-embeddings-no","errorCode":null,"errorMessage":"[vector-db] Using hash-based pseudo-embeddings (no semantic similarity). Install ruvector or @claude-flow/embeddings for real ML embeddings.","messagePattern":"\\[vector-db\\] Using hash-based pseudo-embeddings \\(no semantic similarity\\)\\. Install ruvector or @claude-flow/embeddings for real ML embeddings\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/cli/src/ruvector/vector-db.ts","lineNumber":114,"sourceCode":"  }\n\n  const denom = Math.sqrt(normA) * Math.sqrt(normB);\n  return denom === 0 ? 0 : dotProduct / denom;\n}\n\n/**\n * Whether the hash-embedding one-time warning has been emitted\n */\nlet hashEmbeddingWarned = false;\n\n/**\n * Generate a simple hash-based embedding (fallback when ruvector not available)\n * WARNING: Produces deterministic vectors with NO semantic meaning.\n */\nfunction generateHashEmbedding(text: string, dimensions: number = 768): Float32Array {\n  if (!hashEmbeddingWarned) {\n    hashEmbeddingWarned = true;\n    console.warn(\n      '[vector-db] Using hash-based pseudo-embeddings (no semantic similarity). ' +\n      'Install ruvector or @claude-flow/embeddings for real ML embeddings.'\n    );\n  }\n  const embedding = new Float32Array(dimensions);\n  const normalized = text.toLowerCase().trim();\n\n  // Simple hash function\n  let hash = 0;\n  for (let i = 0; i < normalized.length; i++) {\n    hash = ((hash << 5) - hash) + normalized.charCodeAt(i);\n    hash = hash & hash; // Convert to 32bit integer\n  }\n\n  // Generate pseudo-random embedding based on hash\n  for (let i = 0; i < dimensions; i++) {\n    embedding[i] = Math.sin(hash * (i + 1) * 0.001) * 0.5 + 0.5;\n  }","sourceCodeStart":96,"sourceCodeEnd":132,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/cli/src/ruvector/vector-db.ts#L96-L132","documentation":"One-time console warning from generateHashEmbedding: neither ruvector nor @claude-flow/embeddings is available, so the system is producing deterministic hash-based pseudo-embeddings that carry no semantic similarity signal — degraded mode made explicit.","triggerScenarios":"Thrown at v3/@claude-flow/cli/src/ruvector/vector-db.ts:114 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install ruvector or @claude-flow/embeddings to get real ML embeddings; hash-based pseudo-embeddings provide no semantic similarity."],"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"}