{"record":{"id":"234ddcd84d3442c4","repo":"ruvnet/ruflo","slug":"discovery-using-built-in-fallback-registry-ma","errorCode":null,"errorMessage":"⚠ [Discovery] Using built-in fallback registry (may be outdated)","messagePattern":"⚠ \\[Discovery\\] Using built-in fallback registry \\(may be outdated\\)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/cli/src/transfer/store/discovery.ts","lineNumber":212,"sourceCode":"              cid,\n              resolvedAt: new Date().toISOString(),\n              expiresAt: new Date(Date.now() + 3600000).toISOString(),\n            };\n\n            this.ipnsCache.set(ipnsName, resolution);\n            console.log(`[Discovery] Resolved IPNS via redirect to CID: ${cid}`);\n            return resolution;\n          }\n        }\n      } catch (error) {\n        console.warn(`[Discovery] IPNS resolution via ${gateway} failed:`, error);\n        // Continue to next gateway\n      }\n    }\n\n    // Fallback: Generate deterministic CID for well-known registries\n    console.warn(`⚠ [Discovery] OFFLINE MODE - Could not resolve IPNS: ${ipnsName}`);\n    console.warn(`⚠ [Discovery] Using built-in fallback registry (may be outdated)`);\n    const fallbackCid = this.generateFallbackCID(ipnsName);\n    const resolution: IPNSResolution = {\n      ipnsName,\n      cid: fallbackCid,\n      resolvedAt: new Date().toISOString(),\n      expiresAt: new Date(Date.now() + 3600000).toISOString(),\n    };\n\n    this.ipnsCache.set(ipnsName, resolution);\n    return resolution;\n  }\n\n  /**\n   * Generate deterministic fallback CID for offline/demo mode\n   */\n  private generateFallbackCID(input: string): string {\n    const hash = crypto.createHash('sha256').update(input + 'registry').digest();\n    const prefix = 'bafybei';","sourceCodeStart":194,"sourceCodeEnd":230,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/cli/src/transfer/store/discovery.ts#L194-L230","documentation":"Warning accompanying offline mode in resolveIPNS: because live IPNS resolution failed, discovery falls back to a built-in (possibly outdated) registry snapshot instead of the current on-chain/IPFS registry.","triggerScenarios":"Thrown at v3/@claude-flow/cli/src/transfer/store/discovery.ts:212 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Restore network/IPNS access to refresh the registry; the built-in fallback may be outdated."],"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"}