{"record":{"id":"294f642e3ab673df","repo":"ruvnet/ruflo","slug":"failed-to-get-coverage-gaps","errorCode":null,"errorMessage":"Failed to get coverage gaps","messagePattern":"Failed to get coverage gaps","errorType":"exception","errorClass":"QEMemoryError","httpStatus":null,"severity":"error","filePath":"v3/plugins/agentic-qe/src/bridges/QEMemoryBridge.ts","lineNumber":335,"sourceCode":"      const results = await this.memory.query({\n        namespace: QE_NAMESPACES.coverageData.name,\n        filters: { filePath: file },\n        limit: 100,\n      });\n\n      const gaps = results.map((result) => {\n        try {\n          return JSON.parse(result.content) as CoverageGap;\n        } catch {\n          return null;\n        }\n      }).filter((g): g is CoverageGap => g !== null);\n\n      this.logger.debug(`Found ${gaps.length} coverage gaps for ${file}`);\n      return gaps;\n    } catch (error) {\n      this.logger.error(`Failed to get coverage gaps for ${file}`, error);\n      throw new QEMemoryError('Failed to get coverage gaps', error as Error);\n    }\n  }\n\n  /**\n   * Get prioritized coverage gaps\n   */\n  async getPrioritizedGaps(limit: number = 20): Promise<CoverageGap[]> {\n    this.ensureInitialized();\n\n    try {\n      this.logger.debug(`Getting prioritized coverage gaps, limit: ${limit}`);\n\n      // Query all gaps and sort by priority and risk score\n      const results = await this.memory.query({\n        namespace: QE_NAMESPACES.coverageData.name,\n        limit: limit * 2, // Fetch more to allow for filtering\n      });\n","sourceCodeStart":317,"sourceCodeEnd":353,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/plugins/agentic-qe/src/bridges/QEMemoryBridge.ts#L317-L353","documentation":"QEMemoryBridge.getCoverageGaps() failed to query the coverage-data namespace or the results could not be parsed. The catch logs the file path and wraps in QEMemoryError, so no gap list is returned for the file.","triggerScenarios":"Thrown at v3/plugins/agentic-qe/src/bridges/QEMemoryBridge.ts:335 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure memory namespaces are initialized before querying gaps.","Inspect the underlying retrieval error."],"exampleFix":null,"handlingStrategy":"try-catch","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"}