Expand description
Authoring-time validation: checking a workflow definition before it
reaches Engine::build.
The engine’s own enforcement — parse, Workflow::validate, and
LoopConfig::validate — all fires when the engine is built. For a host
that stores definitions and builds one engine over many of them, that is the
wrong time (one bad row aborts the whole build, at reload, for every
workflow in the process), the wrong shape (one stringly error, so an
authoring API cannot point a 400 at tasks[1].tasks[0].id), and the wrong
cardinality (fail-fast, so the author fixes one violation per round trip).
Workflow::validate_authored answers all three, and carries one
guarantee:
It returns empty if and only if the JSON parses into a
Workflowand that workflow validates.
That biconditional is true by construction, not by keeping a rule list in sync — see the stages below.
Structs§
- Workflow
Issue - One problem with a workflow definition.
Enums§
- Issue
Code - Why a workflow definition is not loadable.