ruvnet/ruflo · error
[vector-db] ruvector HNSW init failed, falling back to brute
Error message
[vector-db] ruvector HNSW init failed, falling back to brute-force search: ${(err as Error)?.message ?? err} What it means
Log warning in createVectorDB: ruvector's HNSW-backed createVectorDB threw for the requested dimensions, so the factory deliberately falls back to the brute-force implementation and makes the performance degradation visible rather than silent.
Source
Thrown at v3/@claude-flow/cli/src/ruvector/vector-db.ts:282
}
return false;
}
/**
* Create a vector database
* Uses ruvector HNSW if available, falls back to brute-force search
*/
export async function createVectorDB(dimensions: number = 768): Promise<VectorDB> {
await loadRuVector();
if (ruvectorModule && typeof ruvectorModule.createVectorDB === 'function') {
try {
return await ruvectorModule.createVectorDB(dimensions);
} catch (err) {
// Fall back to simple implementation, but make the degradation VISIBLE.
// A silent fall-through here turns HNSW into O(n) brute force without any
// signal — exactly the failure mode that masked the lock-contention bug.
console.warn(
`[vector-db] ruvector HNSW init failed, falling back to brute-force search: ${(err as Error)?.message ?? err}`
);
}
}
return new FallbackVectorDB(dimensions);
}
/**
* Generate an embedding for text
* Uses ruvector if available, falls back to hash-based embedding
*
* @returns The embedding vector. When using hash fallback, the returned
* Float32Array will have a `_warning` property (non-enumerable)
* indicating it lacks semantic meaning.
*/
export function generateEmbedding(text: string, dimensions: number = 768): Float32Array {
if (ruvectorModule && typeof ruvectorModule.generateEmbedding === 'function') {View on GitHub (pinned to fa13ee4ad6)
Solutions
- Check the ruvector native/WASM module load error in the message; brute-force search works but is slower, so reinstall or rebuild ruvector to restore HNSW indexing.
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at v3/@claude-flow/cli/src/ruvector/vector-db.ts:282 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18).
Data as JSON: /api/errors/eb869b96d51b4113.
Report an issue: GitHub.