ruvnet/ruflo · error

Witness audit error for ${deviceId}: ${error.message}

Error message

Witness audit error for ${deviceId}: ${error.message}

What it means

Log warning wired as an audit-callback error in the IoT plugin's initialize: the witness audit worker failed auditing a device; that audit round is skipped without stopping the periodic worker.

Source

Thrown at v3/@claude-flow/plugin-iot-cognitum/src/plugin.ts:138

      onVersionMismatch: (deviceId, expected, actual) => {
        context.logger.warn(`Firmware mismatch on ${deviceId}: expected ${expected}, got ${actual}`);
        context.eventBus.emit('iot:firmware-mismatch', { deviceId, expected, actual });
      },
      onWatchError: (deviceId, error) => {
        context.logger.warn(`Firmware watch error for ${deviceId}: ${error.message}`);
      },
    });
    this.firmwareWatch.start();

    const witnessAuditIntervalMs = (config['witnessAuditIntervalMs'] as number) ?? 600_000;
    this.witnessAudit = new WitnessAuditWorker(this.coordinator, {
      intervalMs: witnessAuditIntervalMs,
      onGapDetected: (deviceId, fromEpoch, toEpoch) => {
        context.logger.warn(`Witness chain gap on ${deviceId}: epoch ${fromEpoch} → ${toEpoch}`);
        context.eventBus.emit('iot:witness-gap', { deviceId, fromEpoch, toEpoch });
      },
      onAuditError: (deviceId, error) => {
        context.logger.warn(`Witness audit error for ${deviceId}: ${error.message}`);
      },
    });
    this.witnessAudit.start();

    context.logger.info('IoT Cognitum plugin initialized');
  }

  async shutdown(): Promise<void> {
    if (this.witnessAudit) {
      this.witnessAudit.stop();
      this.witnessAudit = null;
    }
    if (this.firmwareWatch) {
      this.firmwareWatch.stop();
      this.firmwareWatch = null;
    }
    if (this.meshSync) {
      this.meshSync.stop();

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Check the witness audit error detail; ensure the witness chain store is readable for the device.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at v3/@claude-flow/plugin-iot-cognitum/src/plugin.ts:138 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/f576f6527682fdd5. Report an issue: GitHub.