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.pyExpected 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
README.md— View fileExercise, use with your own graph and limitationscheck_graph.py— View sourceReference checks without executing blockssample-flow.json— View fileTraining flow_data structureexpected.json— View fileReference reportcheck_example.py— View sourceMissing nodes, tabs, wires and cycle checks
