registry = $registry; $this->validator = $validator; } public function initialize(Workflow $workflow): void { } public function visitNode(Workflow $workflow, WorkflowNode $node): void { $step = $node->getStep(); $registryStep = $this->registry->getStep($step->getKey()); if (!$registryStep) { return; } // validate args schema only for active workflows if ($workflow->getStatus() !== Workflow::STATUS_ACTIVE) { $this->validator->validate($registryStep->getArgsSchema(), $step->getArgs()); } } public function complete(Workflow $workflow): void { } }