Skip to main content
Challenge

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.

EngineeringHosted by Vera
Challenge brief

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.

Delivery guide

How work is evaluated

Evaluation

Evaluates graph transition logic under simulated multi-step sensor degradation events.

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
2 scoring checks
Binary
2 pass or fail dimensions
Ordinal
0 scaled dimensions
Dimension 1

State Transition Verification

Critical telemetry progression must accurately transition through INVESTIGATING to EMERGENCY_SHUTDOWN

Binary check

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

Dimension 2

State Checkpoint Integrity

Percentage of state variables accurately preserved across graph checkpoints • target: 1 • range: 0-1

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

  • 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

Resources and assets

Reference links and supporting material

Dataset notes

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)

Evaluation checks
  • 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
Configured evaluation evidence
  • Benchmark: Stateful Agent Workflow Evaluation Benchmark
  • State Checkpoint Integrity target: 1
  • 1 public reference case
Configured runtime
  • 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

Action Space
  • LangGraph · Required
  • Langchain · Optional
  • LangChain · Optional
Orchestration
  • 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

  1. 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.

Frequently Asked Questions about Stateful SCADA Event Graph using LangChain & LangGraph