{"record":{"id":"94c6255bfe3d45d5","repo":"ruvnet/ruflo","slug":"ruvector-wasm-backend-unavailable-reason-u","errorCode":null,"errorMessage":"[ruvector] WASM backend unavailable (${reason}), using JS fallback","messagePattern":"\\[ruvector\\] WASM backend unavailable \\((.+?)\\), using JS fallback","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/cli/src/services/ruvector-training.ts","lineNumber":357,"sourceCode":"    microLoRA = new learningWasm.WasmMicroLoRA(dim, alpha, lr);\n    features.push(`MicroLoRA/WASM (${dim}-dim, <1μs adaptation)`);\n\n    scopedLoRA = new learningWasm.WasmScopedLoRA(dim, alpha, lr);\n    scopedLoRA.set_category_fallback(true);\n    features.push('ScopedLoRA/WASM (17 operators)');\n\n    trajectoryBuffer = new learningWasm.WasmTrajectoryBuffer(\n      config.trajectoryCapacity || 10000,\n      dim\n    );\n    features.push('TrajectoryBuffer/WASM');\n\n    activeBackend = 'wasm';\n    wasmLoaded = true;\n  } catch (wasmError) {\n    // WASM not available - fall back to JS implementation\n    const reason = wasmError instanceof Error ? wasmError.message : String(wasmError);\n    console.warn(`[ruvector] WASM backend unavailable (${reason}), using JS fallback`);\n\n    microLoRA = new JsMicroLoRA(dim, alpha, lr) as unknown as WasmMicroLoRA;\n    features.push(`MicroLoRA/JS (${dim}-dim, JS fallback)`);\n\n    scopedLoRA = new JsScopedLoRA(dim, alpha, lr) as unknown as WasmScopedLoRA;\n    (scopedLoRA as any).set_category_fallback(true);\n    features.push('ScopedLoRA/JS (17 operators)');\n\n    trajectoryBuffer = new JsTrajectoryBuffer(\n      config.trajectoryCapacity || 10000,\n      dim\n    ) as unknown as WasmTrajectoryBuffer;\n    features.push('TrajectoryBuffer/JS');\n\n    activeBackend = 'js-fallback';\n  }\n\n  // --- Attention mechanisms (optional, independent of WASM) ---","sourceCodeStart":339,"sourceCodeEnd":375,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/cli/src/services/ruvector-training.ts#L339-L375","documentation":"Log warning in ruvector-training setup: loading the WASM learning backend (MicroLoRA/ScopedLoRA/TrajectoryBuffer) failed, so training runs on the pure-JS implementations with the reason attached.","triggerScenarios":"Thrown at v3/@claude-flow/cli/src/services/ruvector-training.ts:357 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the WASM backend unavailability reason; the JS fallback works — rebuild or reinstall the ruvector WASM package to restore speed."],"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"}