ruvnet/ruflo · error · BdBridgeError

BEAD_NOT_FOUND

BEAD_NOT_FOUND

Error message

Bead not found: ${beadId}

What it means

getBead() executed 'bd get' and the failure output contains 'not found', meaning no bead exists with the validated bead id. Surfaces as a targeted not-found error (with the id) rather than a generic execution failure.

Source

Thrown at v3/plugins/gastown-bridge/src/bridges/bd-bridge.ts:787

   */
  async getBead(beadId: string): Promise<Bead> {
    this.ensureInitialized();

    const validatedId = BeadIdSchema.parse(beadId);

    // Check single bead cache first
    const cached = singleBeadCache.get(validatedId);
    if (cached) {
      this.logger.debug('Bead cache hit', { beadId: validatedId });
      return cached;
    }

    const args = ['get', validatedId, '--format', 'json'];

    const result = await this.execBd(args);
    if (!result.success) {
      if (result.error?.includes('not found')) {
        throw new BdBridgeError(
          `Bead not found: ${beadId}`,
          'BEAD_NOT_FOUND',
          'bd',
          args
        );
      }
      throw new BdBridgeError(
        result.error ?? 'Failed to get bead',
        'EXECUTION_FAILED',
        'bd',
        args
      );
    }

    const bead = this.parseSingleBead(result.data ?? '');

    // Cache the result
    singleBeadCache.set(bead.id, bead);

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Verify the referenced identifier exists before use (list available items and match against user input).
  2. Return a clear 404-style error listing valid identifiers, and have the caller retry with an existing id.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at v3/plugins/gastown-bridge/src/bridges/bd-bridge.ts:787 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/bf1b7a98faa6fb27. Report an issue: GitHub.