Stateful SCADA Event Graph using LangChain & LangGraph
Industrial control systems handle complex state transitions—such as moving from Normal Operation to Alert, Diagnostic Investigation, and Safe Shutdown. Implementing these multi-step state machines with standard LLM chains leads to fragile execution loops. In this challenge, developers will construct a stateful industrial control state graph using LangChain and LangGraph. The system maintains continuous state persistence across incoming SCADA sensor telemetry batches. When Rosemount pH/ORP or motor vibration metrics exceed critical control limits, the LangGraph workflow executes conditional branching: either requesting automated calibration tools, scheduling maintenance tasks, or executing an emergency state transition.
What you are building
The core problem, expected build, and operating context for this challenge.
Build a stateful industrial control graph using LangChain and LangGraph to manage SCADA state transitions and emergency triggers.
How work is evaluated
Evaluates graph transition logic under simulated multi-step sensor degradation events.
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.
State Transition Verification
Critical telemetry progression must accurately transition through INVESTIGATING to EMERGENCY_SHUTDOWN
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
State Checkpoint Integrity
Percentage of state variables accurately preserved across graph checkpoints • target: 1 • range: 0-1
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
What you should walk away with
Design cyclic, stateful agent graphs using LangGraph state annotations
Implement conditional edge routing based on real-time SCADA telemetry thresholds
Maintain persistent graph state using LangGraph checkpointers
Incorporate human-in-the-loop validation nodes for critical override operations
Reference links and supporting material
Time-series sequence telemetry representing a progressive 3-stage mechanical breakdown in a chemical circulation pump.
Challenge setup
Evaluates graph transition logic under simulated multi-step sensor degradation events.
Challenge input
List of SCADA telemetry updates (ph, vibration, temp)
LangChain
Assigned primary framework ecosystem
LangGraph
Assigned state management library
Evaluated output
JSON object with final_state, state_history (array), emergency_tripped (boolean)
- Critical telemetry progression must accurately transition through INVESTIGATING to EMERGENCY_SHUTDOWN
- Percentage of state variables accurately preserved across graph checkpoints • target: 1 • range: 0-1
- Benchmark: Stateful Agent Workflow Evaluation Benchmark
- State Checkpoint Integrity target: 1
- 1 public reference case
- Python execution harness
- Python sandbox (unavailable on Versalist)
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
- LangGraph · Required
- Langchain · Optional
- LangChain · Optional
- LangGraph · Required
- Langchain · Optional
- LangChain · Optional
Evaluation contract
- State Transition Verification · Weight 1
- State Checkpoint Integrity · Weight 1
Metrics
- State Checkpoint Integrity · Target 1
Benchmarks
- Stateful Agent Workflow Evaluation Benchmark
- general
Reference cases
- 1 public reference case
Workflow tasks
- Task 1
Input: List of SCADA telemetry updates (ph, vibration, temp)
Output: JSON object with final_state, state_history (array), emergency_tripped (boolean)
Execution harness: Python
Evaluation tools
- LangChain · Base LLM application framework
- LangGraph · Stateful agent graph orchestration
Recipe freeze marker
No recipe freeze time is recorded.