A workflow that fails half way through has already done half its work. Most of the reasons are visible in the declarations alone: a step consuming a channel nobody produces, two steps that disagree about a type, a step that requires a value its producer only sometimes emits, or two steps waiting for each other.
This walkthrough uses the tool's public README and checked-in example files. Run the command from a repository checkout with Node.js 22+.
Run the checked-in example
node bin/workflow-step-contract-validator.mjs --spec examples/order-fulfilment.json --contract build/execution-contract.json