Non-seam prompt/script nodes now dispatch to an injected WorkflowCustomNodeRunner instead of throwing; gate nodes support an executable (prompt/script-backed) form alongside the original context-gate contract. WorkflowGraphExecutor accepts the runner via deps.