# `Runic.Workflow.Events`
[🔗](https://github.com/zblanco/runic/blob/main/lib/workflow/events.ex#L1)

Barrel module for all workflow event types.

Events are the primary mutation interface in the event-sourced workflow model.
`Invokable.execute/2` produces events, and `Workflow.apply_event/2` folds them
into the workflow graph as a pure function.

# `event`

```elixir
@type event() ::
  Runic.Workflow.Events.FactProduced.t()
  | Runic.Workflow.Events.ActivationConsumed.t()
  | Runic.Workflow.Events.RunnableActivated.t()
  | Runic.Workflow.Events.ConditionSatisfied.t()
  | Runic.Workflow.Events.MapReduceTracked.t()
  | Runic.Workflow.Events.StateInitiated.t()
  | Runic.Workflow.Events.JoinFactReceived.t()
  | Runic.Workflow.Events.JoinCompleted.t()
  | Runic.Workflow.Events.JoinEdgeRelabeled.t()
  | Runic.Workflow.Events.FanOutFactEmitted.t()
  | Runic.Workflow.Events.FanInCompleted.t()
```

# `activation_consumed`

# `condition_satisfied`

# `fact_produced`

# `fan_in_completed`

# `fan_out_fact_emitted`

# `join_completed`

# `join_edge_relabeled`

# `join_fact_received`

# `map_reduce_tracked`

# `runnable_activated`

# `state_initiated`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
