{"record":{"id":"fb10f5f36629fe6e","repo":"ruvnet/ruflo","slug":"ruvector-ruvector-attention-unavailable-reas","errorCode":null,"errorMessage":"[ruvector] @ruvector/attention unavailable (${reason}), attention features disabled","messagePattern":"\\[ruvector\\] @ruvector/attention unavailable \\((.+?)\\), attention features disabled","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/cli/src/services/ruvector-training.ts","lineNumber":417,"sourceCode":"\n    if (config.totalSteps) {\n      curriculum = new attention.CurriculumScheduler(\n        config.totalSteps,\n        config.warmupSteps || Math.floor(config.totalSteps * 0.1)\n      );\n      features.push('Curriculum Learning');\n    }\n\n    try {\n      hardMiner = new attention.HardNegativeMiner(5, 'semi_hard');\n      features.push('Hard Negative Mining');\n    } catch {\n      // Mining not available, continue without it\n    }\n  } catch (attentionError) {\n    // @ruvector/attention not available - attention features skipped\n    const reason = attentionError instanceof Error ? attentionError.message : String(attentionError);\n    console.warn(`[ruvector] @ruvector/attention unavailable (${reason}), attention features disabled`);\n  }\n\n  // --- SONA (optional, backward compatible) ---\n  if (config.useSona !== false) {\n    try {\n      const sona = await importWithInterop('@ruvector/sona');\n      const sonaRank = config.sonaRank || 4;\n      sonaEngine = new sona.SonaEngine(dim, sonaRank, alpha, lr) as SonaEngineInstance;\n      sonaAvailable = true;\n      features.push(`SONA (${dim}-dim, rank-${sonaRank}, 624k learn/s)`);\n    } catch (sonaError) {\n      sonaAvailable = false;\n      if (config.useSona === true) {\n        console.warn('SONA requested but not available:', sonaError);\n      }\n    }\n  }\n","sourceCodeStart":399,"sourceCodeEnd":435,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/cli/src/services/ruvector-training.ts#L399-L435","documentation":"Log warning in ruvector-training setup: the optional @ruvector/attention package (flash attention, curriculum, hard-negative mining) could not be loaded; training continues with attention features disabled.","triggerScenarios":"Thrown at v3/@claude-flow/cli/src/services/ruvector-training.ts:417 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install @ruvector/attention to enable attention features; they are disabled while the package is unavailable."],"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"}