{"record":{"id":"cd8310c18570095d","repo":"ruvnet/ruflo","slug":"telemetry-ingest-error-for-deviceid-error-me","errorCode":null,"errorMessage":"Telemetry ingest error for ${deviceId}: ${error.message}","messagePattern":"Telemetry ingest error for (.+?): (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/plugin-iot-cognitum/src/plugin.ts","lineNumber":86,"sourceCode":"      onDeviceOffline: (deviceId) => {\n        context.logger.warn(`Device offline: ${deviceId}`);\n        context.eventBus.emit('iot:device-offline', { deviceId });\n      },\n      onDeviceOnline: (deviceId) => {\n        context.logger.info(`Device back online: ${deviceId}`);\n        context.eventBus.emit('iot:device-online', { deviceId });\n      },\n    });\n    this.healthProbe.start();\n\n    const telemetryIntervalMs = (config['telemetryIntervalMs'] as number) ?? 60_000;\n    this.telemetryIngest = new TelemetryIngestWorker(this.coordinator, {\n      intervalMs: telemetryIntervalMs,\n      onIngestionComplete: (deviceId, vectorCount) => {\n        context.logger.debug(`Telemetry ingest for ${deviceId}: ${vectorCount} vectors`);\n      },\n      onIngestionError: (deviceId, error) => {\n        context.logger.warn(`Telemetry ingest error for ${deviceId}: ${error.message}`);\n      },\n    });\n    this.telemetryIngest.start();\n\n    const anomalyScanIntervalMs = (config['anomalyScanIntervalMs'] as number) ?? 300_000;\n    this.anomalyScan = new AnomalyScanWorker(this.coordinator, {\n      intervalMs: anomalyScanIntervalMs,\n      onAnomalyDetected: (deviceId, score) => {\n        context.logger.warn(`Anomaly detected on ${deviceId}: trust score ${score.toFixed(3)}`);\n        context.eventBus.emit('iot:anomaly-detected', { deviceId, score });\n      },\n      onScanError: (deviceId, error) => {\n        context.logger.warn(`Anomaly scan error for ${deviceId}: ${error.message}`);\n      },\n    });\n    this.anomalyScan.start();\n\n    const meshSyncIntervalMs = (config['meshSyncIntervalMs'] as number) ?? 120_000;","sourceCodeStart":68,"sourceCodeEnd":104,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/plugin-iot-cognitum/src/plugin.ts#L68-L104","documentation":"Log warning wired as onIngestionError in the IoT plugin's initialize: the telemetry ingest worker reported an error pulling/encoding vectors for a device; ingestion for that interval is skipped, other devices are unaffected.","triggerScenarios":"Thrown at v3/@claude-flow/plugin-iot-cognitum/src/plugin.ts:86 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the telemetry payload shape from the named device and the ingest pipeline error detail; malformed readings should be fixed at the device or parser."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}