{"record":{"id":"930b753d9d9d3871","repo":"ruvnet/ruflo","slug":"missing-dependency-name","errorCode":null,"errorMessage":"Missing dependency: ${name}","messagePattern":"Missing dependency: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/plugins/src/registry/plugin-registry.ts","lineNumber":342,"sourceCode":"  // =========================================================================\n\n  /**\n   * Resolve dependencies and return load order.\n   */\n  private resolveDependencies(): string[] {\n    const visited = new Set<string>();\n    const visiting = new Set<string>();\n    const order: string[] = [];\n\n    const visit = (name: string): void => {\n      if (visited.has(name)) return;\n      if (visiting.has(name)) {\n        throw new Error(`Circular dependency detected: ${name}`);\n      }\n\n      const entry = this.plugins.get(name);\n      if (!entry) {\n        throw new Error(`Missing dependency: ${name}`);\n      }\n\n      visiting.add(name);\n\n      const deps = entry.plugin.metadata.dependencies ?? [];\n      for (const dep of deps) {\n        visit(dep);\n      }\n\n      visiting.delete(name);\n      visited.add(name);\n      order.push(name);\n    };\n\n    for (const name of this.plugins.keys()) {\n      visit(name);\n    }\n","sourceCodeStart":324,"sourceCodeEnd":360,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/plugins/src/registry/plugin-registry.ts#L324-L360","documentation":"During dependency resolution a plugin's declared dependency name has no entry in the registry map. The plugin being visited requires a peer that was never registered (or was registered under a different name), so the load order cannot be computed.","triggerScenarios":"A plugin declares a dependency on a plugin that is not registered.","commonSituations":"Dependency plugin not installed, misspelled dependency name, or registration order excludes it.","solutions":["Register the missing dependency plugin before the dependent one.","Fix the dependency name in the plugin metadata.","Make the dependency optional if the plugin can function without it."],"exampleFix":null,"handlingStrategy":"validation","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-14T00:17:10.932Z"}