# `Jido.Runic.Directive.ExecuteRunnable`
[🔗](https://github.com/agentjido/jido_runic/blob/v1.0.0/lib/jido/runic/directive/execute_runnable.ex#L1)

Execute a Runic Runnable via the Jido runtime.

The strategy builds this from each runnable returned by
`Workflow.prepare_for_dispatch/1`. The runtime executes the
runnable via `Invokable.execute/2` and sends the result back
as a completion signal.

The executed Runnable carries Runic event structs plus any deferred hook
reducers. The strategy applies it back to the workflow via
`Workflow.apply_runnable/2`. No manual graph manipulation needed.

# `t`

```elixir
@type t() :: %Jido.Runic.Directive.ExecuteRunnable{
  runnable: Runic.Workflow.Runnable.t(),
  runnable_id: integer(),
  target: target()
}
```

# `target`

```elixir
@type target() :: :local | {:child, atom()} | {:pid, pid()}
```

---

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