Skip to main content
Challenge

Build a Sparkplug B Nuisance Alarm Suppressor and Aggregator

Correlate repetitive Sparkplug B DDATA alarm payloads to identify oscillating sensor nuisance trips. Synthesize an aggregated alarm dashboard that groups related warnings and suppresses redundant notifications for operators.

EngineeringHosted by Vera
Challenge brief

What you are building

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

Correlate repetitive Sparkplug B DDATA alarm payloads to identify oscillating sensor nuisance trips. Synthesize an aggregated alarm dashboard that groups related warnings and suppresses redundant notifications for operators.

Control Room Operator

Ingest continuous Sparkplug B DDATA streams containing raw alarm state transitions and metric timestamps.

Identify rapidly toggling sensor states that cross threshold limits multiple times within a short observation window.

Group related nuisance alarms originating from the same equipment node and calculate a composite severity score based on the toggle count.

Output an aggregated incident ticket that suppresses individual toggle noise while preserving the core equipment fault for the dashboard.

Real-time alerting dashboard displaying aggregated equipment incidents, suppressed alarm toggle counts, and historical Sparkplug B metric timelines.

Generate a continuous stream of Sparkplug B JSON payloads featuring nominal states mixed with high-frequency oscillating alarm states across multiple equipment nodes. Starter examples below are synthetic. They are not downloaded records.

Eclipse Sparkplug Uses Sparkplug B DDATA specification structures to represent realistic stateful device metric updates and oscillating sensor transitions.

mastra-ai, fastapi, react. Mastra AI provides stateful agent memory and data aggregation patterns to analyze time-windowed sensor events and group nuisance alarms. Requires structured data parsing and temporal reasoning capabilities to group related state transitions using local or hosted LLMs.

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.

Successfully detects alarms toggling between normal and fault states within the defined suppression window.

Groups oscillating events into a single aggregated incident ticket with an accurate toggle count.

Maintains the correct original timestamp for the first instance of the fault while suppressing subsequent redundant notifications.

```json [ { "input": { "node_id": "Line1/Feeder3", "alarms": [ { "timestamp": "2025-06-01T14:09:40Z", "metric": "Vibration", "state": "HIGH" }, { "timestamp": "2025-06-01T14:09:42Z", "metric": "Vibration", "state": "NORMAL" }, { "timestamp": "2025-06-01T14:09:45Z", "metric": "Vibration", "state": "HIGH" } ], "suppression_window_sec": 10, "schema_note": "Simplified synthetic app records, not complete official schema files" }, "expected_output": { "node_id": "Line1/Feeder3", "nuisance_detected": true, "toggle_count": 2, "aggregated_incident": { "metric": "Vibration", "status": "OSCILLATING_HIGH", "first_seen": "2025-06-01T14:09:40Z" }, "suppressed_events": 2 } }, { "input": { "node_id": "Line1/Chiller", "alarms": [ { "timestamp": "2025-06-01T21:15:00Z", "metric": "Temp", "state": "HIGH" } ], "suppression_window_sec": 10, "schema_note": "Simplified synthetic app records, not complete official schema files" }, "expected_output": { "node_id": "Line1/Chiller", "nuisance_detected": false, "toggle_count": 0, "aggregated_incident": { "metric": "Temp", "status": "HIGH", "first_seen": "2025-06-01T21:15:00Z" }, "suppressed_events": 0 } } ] ```

Outputs advisory alarm aggregations for operator review; does not actively modify machine configurations or bypass physical safety interlocks. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Outputs advisory alarm aggregations for operator review; does not actively modify machine configurations or bypass physical safety interlocks. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Successfully detects alarms toggling between normal and fault states within the defined suppression window. Groups oscillating events into a single aggregated incident ticket with an accurate toggle count. Maintains the correct original timestamp for the first instance of the fault while suppressing subsequent redundant notifications.

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

Ingest continuous Sparkplug B DDATA streams containing raw alarm state transitions and metric timestamps. Identify rapidly toggling sensor states that cross threshold limits multiple times within a short observation window. Group related nuisance alarms originating from the same equipment node and calculate a composite severity score based on the toggle count. Output an aggregated incident ticket that suppresses individual toggle noise while preserving the core equipment fault for the dashboard.

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

Successfully detects alarms toggling between normal and fault states within the defined suppression window. Groups oscillating events into a single aggregated incident ticket with an accurate toggle count. Maintains the correct original timestamp for the first instance of the fault while suppressing subsequent redundant notifications.

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

Real-time alerting dashboard displaying aggregated equipment incidents, suppressed alarm toggle counts, and historical Sparkplug B metric timelines.

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

Outputs advisory alarm aggregations for operator review; does not actively modify machine configurations or bypass physical safety interlocks.

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

  • Ingest continuous Sparkplug B DDATA streams containing raw alarm state transitions and metric timestamps.

  • Identify rapidly toggling sensor states that cross threshold limits multiple times within a short observation window.

  • Group related nuisance alarms originating from the same equipment node and calculate a composite severity score based on the toggle count.

  • Output an aggregated incident ticket that suppresses individual toggle noise while preserving the core equipment fault for the dashboard.

Resources and assets

Reference links and supporting material

Dataset notes

Generate a continuous stream of Sparkplug B JSON payloads featuring nominal states mixed with high-frequency oscillating alarm states across multiple equipment nodes. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

Mastra AI

TypeScript agent framework.

Evaluated output

No output checks are configured.

Evaluation checks
  • Ingest continuous Sparkplug B DDATA streams containing raw alarm state transitions and metric timestamps. I...
  • Successfully detects alarms toggling between normal and fault states within the defined suppression window....
  • Real-time alerting dashboard displaying aggregated equipment incidents, suppressed alarm toggle counts, and...
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 2 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
  • Mastra AI · Optional
Orchestration
  • Mastra AI · 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 Nuisance Alarm Suppressor and Aggregator