ruvnet/ruflo · error

Failed to calculate progress

Error message

Failed to calculate progress

What it means

Log warning in calculateProgress: computing closed/in-progress/blocked counts over the convoy's issue beads threw (e.g. missing bead data); a zeroed/empty progress summary is returned instead of propagating the error.

Source

Thrown at v3/plugins/gastown-bridge/src/convoy/tracker.ts:692

        if (bead.blockedBy && bead.blockedBy.length > 0) {
          const hasOpenBlocker = bead.blockedBy.some(blockerId => {
            const blocker = beadMap.get(blockerId);
            return blocker && blocker.status !== 'closed';
          });
          if (hasOpenBlocker) {
            blocked++;
          }
        }
      }

      return {
        total: issueIds.length,
        closed,
        inProgress,
        blocked,
      };
    } catch (error) {
      this.logger.warn('Failed to calculate progress', {
        issueIds,
        error: error instanceof Error ? error.message : String(error),
      });

      return {
        total: issueIds.length,
        closed: 0,
        inProgress: 0,
        blocked: 0,
      };
    }
  }

  /**
   * Verify issues exist
   */
  private async verifyIssues(issueIds: string[]): Promise<string[]> {
    const verified: string[] = [];

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Check the tracker state and the logged cause; progress calculation needs valid bead status data.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at v3/plugins/gastown-bridge/src/convoy/tracker.ts:692 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/931d1cb9f9b5b740. Report an issue: GitHub.