Skip to main content
Challenge

Build a Sparkplug B Industrial Subnet Outage Diagnosis Sandbox

Analyze simulated Sparkplug B network heartbeat packets and historical broker disconnects to pinpoint subnet failures. Construct isolated recovery scripts for plant automation technicians.

EngineeringHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Analyze simulated Sparkplug B network heartbeat packets and historical broker disconnects to pinpoint subnet failures. Construct isolated recovery scripts for plant automation technicians.

Industrial Network Engineer

Process Sparkplug B DDATA metric updates and broker disconnect telemetry logs.

Correlate metric latency spikes with switch VLAN mappings to diagnose subnet segmentation.

Simulate recovery sequences verifying that DDATA resume flags conform to Sparkplug v3.0 specs.

Generate an outage diagnostic report with recommended physical link tests.

Interactive network timeline displaying packet drops, affected device groups, and a terminal-style recovery runbook.

JSON-serialized logs of MQTT Sparkplug payloads containing timestamps, metric names, values, and diagnostic codes. Starter examples below are synthetic. They are not downloaded records.

Eclipse Sparkplug Utilizes Sparkplug specification guidelines for metric properties, DDATA sequence validation, and state recovery.

dspy, pydantic, pytest. DSPy compiles robust prompt pipelines to extract diagnostic indicators from noisy metric drop logs without hallucination. Fast hosted or local model capable of prompt-compiled logical deductions over network time-series.

Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

Correctly isolates faulty subnets based on clustered DDATA message dropouts.

Verifies message sequence numbers before declaring network stability.

Outputs actionable recovery verification steps with zero hallucinated IPs.

```json [ { "input": { "subnet": "192.168.10.0/24", "devices": [ "DEV-PLC-101", "DEV-RIO-102" ], "events": [ { "device": "DEV-PLC-101", "event": "METRIC_TIMEOUT", "last_seq": 140, "timestamp": "10:14:22" }, { "device": "DEV-RIO-102", "event": "METRIC_TIMEOUT", "last_seq": 98, "timestamp": "10:14:25" } ], "gateway_status": "UNREACHABLE" }, "expected_output": { "fault_type": "SUBDOMAIN_GATEWAY_DOWN", "isolated_segment": "192.168.10.0/24", "affected_devices": [ "DEV-PLC-101", "DEV-RIO-102" ], "recovery_action": "Cycle VLAN 10 gateway interface and monitor NBIRTH sequence initialization." } }, { "input": { "subnet": "192.168.20.0/24", "devices": [ "DEV-PLC-201" ], "events": [ { "device": "DEV-PLC-201", "event": "METRIC_SPORADIC", "last_seq": 501, "timestamp": "11:00:10" } ], "gateway_status": "REACHABLE" }, "expected_output": { "fault_type": "SINGLE_NODE_CABLE_FAULT", "isolated_segment": "DEV-PLC-201 Port 1", "affected_devices": [ "DEV-PLC-201" ], "recovery_action": "Inspect RJ45 termination on DEV-PLC-201; gateway communication healthy." } } ] ```

Read-only network diagnostic synthesis; all proposed recovery scripts require technician validation. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Read-only network diagnostic synthesis; all proposed recovery scripts require technician validation. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Correctly isolates faulty subnets based on clustered DDATA message dropouts. Verifies message sequence numbers before declaring network stability. Outputs actionable recovery verification steps with zero hallucinated IPs.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Process Sparkplug B DDATA metric updates and broker disconnect telemetry logs. Correlate metric latency spikes with switch VLAN mappings to diagnose subnet segmentation. Simulate recovery sequences verifying that DDATA resume flags conform to Sparkplug v3.0 specs. Generate an outage diagnostic report with recommended physical link tests.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Correctly isolates faulty subnets based on clustered DDATA message dropouts. Verifies message sequence numbers before declaring network stability. Outputs actionable recovery verification steps with zero hallucinated IPs.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

Interactive network timeline displaying packet drops, affected device groups, and a terminal-style recovery runbook.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Read-only network diagnostic synthesis; all proposed recovery scripts require technician validation.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Process Sparkplug B DDATA metric updates and broker disconnect telemetry logs.

  • Correlate metric latency spikes with switch VLAN mappings to diagnose subnet segmentation.

  • Simulate recovery sequences verifying that DDATA resume flags conform to Sparkplug v3.0 specs.

  • Generate an outage diagnostic report with recommended physical link tests.

Resources and assets

Reference links and supporting material

Dataset notes

JSON-serialized logs of MQTT Sparkplug payloads containing timestamps, metric names, values, and diagnostic codes. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

DSPy

Prompt and LM program optimization framework.

Evaluated output

No output checks are configured.

Evaluation checks
  • Process Sparkplug B DDATA metric updates and broker disconnect telemetry logs. Correlate metric latency spi...
  • Correctly isolates faulty subnets based on clustered DDATA message dropouts. Verifies message sequence numb...
  • Interactive network timeline displaying packet drops, affected device groups, and a terminal-style recovery...
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 3 configured tools

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • DSPy · Optional
Training Infra
  • DSPy · Optional
Orchestration
  • DSPy · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build a Sparkplug B Industrial Subnet Outage Diagnosis Sandbox