ruvnet/ruflo · error · QEMemoryError

Failed to get stats

Error message

Failed to get stats

What it means

QEMemoryError raised by getStats when retrieving per-namespace entry counts from the memory backend fails, so the QEMemoryStats aggregation over test patterns, coverage gaps, trajectories, code knowledge, and security findings cannot be produced.

Source

Thrown at v3/plugins/agentic-qe/src/bridges/QEMemoryBridge.ts:495

  async getStats(): Promise<QEMemoryStats> {
    this.ensureInitialized();

    try {
      const stats = await this.memory.getStats();

      const qeStats: QEMemoryStats = {
        testPatterns: stats.entriesByNamespace[QE_NAMESPACES.testPatterns.name] || 0,
        coverageGaps: stats.entriesByNamespace[QE_NAMESPACES.coverageData.name] || 0,
        learningTrajectories: stats.entriesByNamespace[QE_NAMESPACES.learningTrajectories.name] || 0,
        codeKnowledge: stats.entriesByNamespace[QE_NAMESPACES.codeKnowledge.name] || 0,
        securityFindings: stats.entriesByNamespace[QE_NAMESPACES.securityFindings.name] || 0,
        totalMemoryBytes: stats.memoryUsage,
      };

      return qeStats;
    } catch (error) {
      this.logger.error('Failed to get memory stats', error);
      throw new QEMemoryError('Failed to get stats', error as Error);
    }
  }

  /**
   * Build filter object for pattern search
   */
  private buildPatternFilters(filters?: PatternFilters): Record<string, unknown> | undefined {
    if (!filters) return undefined;

    const memoryFilters: Record<string, unknown> = {};

    if (filters.type) memoryFilters.patternType = filters.type;
    if (filters.language) memoryFilters.language = filters.language;
    if (filters.framework) memoryFilters.framework = filters.framework;
    if (filters.minEffectiveness !== undefined) {
      memoryFilters.effectiveness = { $gte: filters.minEffectiveness };
    }
    // Tags require special handling (array contains)

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Ensure the memory bridge is initialized before requesting stats.
  2. Inspect the underlying stats error.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at v3/plugins/agentic-qe/src/bridges/QEMemoryBridge.ts:495 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/4f163385d68b85ba. Report an issue: GitHub.