Check scenario graph connections

Find missing nodes, duplicate IDs and invalid wires in saved flow_data.

Platform 4.0 / BOX 5.0 · Structure check

What you will get

A graph structure report: three objects, one connection and explicit warnings about block types that have not been validated.

Requirements

  • Python 3.9 or later; no third-party libraries.
  • The extracted ZIP includes a JSON fixture with one tab and two training nodes.

Run the example

python3 check_graph.py sample-flow.json
python3 check_example.py

Expected output

"status": "structure_checked"
"nodes": 3
"links": 1
"errors": []

Checks included

  • Unique string IDs and a wires structure consisting of arrays of arrays.
  • Destination nodes exist, as does the tab referenced by z.
  • A JSON array or flow_data wrapper is accepted. A cycle alone is not treated as an error.

Scope and limitations

  • The <source-type> and <result-type> values are placeholders. This graph illustrates a format; it is not an executable detector.
  • The palette, flow_settings, input/output contracts, models and processing results are not checked.
  • The example covers ordinary tabs and direct wires. Subflows require separate checks.

Use it with your data

  • Replace result in wires with missing-node and check that the script reports the error.
  • Check a permitted copy of your installation's graph; repair connections through the editor.
  • In a test environment, check block settings, inputs and outputs, then inspect the result on an asset.

Files and source code

Related documentation