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.
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.
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.
How work is evaluated
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.
Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.
Challenge datasets
Public datasets, plus the private datasets you have access to.
How submissions are scored
These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.
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.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
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.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Review interface
Real-time alerting dashboard displaying aggregated equipment incidents, suppressed alarm toggle counts, and historical Sparkplug B metric timelines.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Safe execution
Outputs advisory alarm aggregations for operator review; does not actively modify machine configurations or bypass physical safety interlocks.
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
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.
Reference links and supporting material
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.
- 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...
- 2 public reference cases
- 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
- Mastra AI · Optional
- 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.