ruvnet/ruflo · error

[GUPP] Sync not implemented - stub adapter

Error message

[GUPP] Sync not implemented - stub adapter

What it means

The GUPP (Gas Town sync protocol) adapter's sync() is a stub: pull and push are not implemented, so it reports zero beads moved and logs a '[GUPP] Sync not implemented' warning rather than pretending to sync. Expected behavior until a real GUPP endpoint adapter is wired in.

Source

Thrown at v3/plugins/gastown-bridge/src/index.ts:409

    console.warn('[GUPP] Pull not implemented - stub adapter');
    return [];
  }

  async push(_beads: Bead[]): Promise<{ pushed: number; errors: string[] }> {
    if (!this.isAvailable()) {
      return { pushed: 0, errors: ['GUPP not configured'] };
    }
    // Stub: Would connect to GUPP endpoint
    console.warn('[GUPP] Push not implemented - stub adapter');
    return { pushed: 0, errors: ['Not implemented'] };
  }

  async sync(): Promise<{ pulled: number; pushed: number; conflicts: string[] }> {
    if (!this.isAvailable()) {
      return { pulled: 0, pushed: 0, conflicts: [] };
    }
    // Stub: Would connect to GUPP endpoint
    console.warn('[GUPP] Sync not implemented - stub adapter');
    return { pulled: 0, pushed: 0, conflicts: [] };
  }
}

// ============================================================================
// Logger
// ============================================================================

interface PluginLogger {
  debug: (msg: string, meta?: Record<string, unknown>) => void;
  info: (msg: string, meta?: Record<string, unknown>) => void;
  warn: (msg: string, meta?: Record<string, unknown>) => void;
  error: (msg: string, meta?: Record<string, unknown>) => void;
}

function createPluginLogger(config?: GasTownBridgeConfig['logger']): PluginLogger {
  const level = config?.level ?? 'info';
  const levels = { debug: 0, info: 1, warn: 2, error: 3 };

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Implement the sync operation in the gupp adapter, or select a non-stub adapter that supports sync.
  2. Guard sync calls so they are skipped when the active adapter is a stub.
  3. Surface an explicit unsupported-operation error to callers.
Defensive patterns

Strategy: fallback

When it happens

Trigger: Caller invokes sync() on the GUPP stub adapter where sync is not yet implemented; logged as a no-op pending the real adapter.

Common situations: See trigger scenarios.


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