One way a record can move from one step to another, as
AshWorkflow.Charts.Graph.build/2 gives it to a chart backend.
kind says what moves the record, and name says which declaration:
:transition— a caller runs the transitionname.labelis its name.:on_success— the step's actionnamesucceeds.labelis the action's name.:on_error— the step's actionnamefails.labelison_error.:timeout— the timeoutnamefires.labelis its deadline, such asafter 7 daysorat offer_expires_at.:undo— the generatedundoaction rewinds the move fromtotofrom.labelisundo.
condition is the route's when expression as text, for one route of a
conditional transition or a conditional on_success, and nil for an edge
without a condition. fallback? is true for the last route of a
conditional on_success when that route has no when: it is taken only
when no earlier route matched, so a backend draws it as "otherwise", not as
a route that is always taken.