# `Squidie.Step.Context`
[🔗](https://github.com/dark-trench/squidie/blob/main/lib/squidie/step/context.ex#L2)

Durable runtime context passed to native Squidie steps.

The context intentionally exposes Squidie concepts only. It gives steps the
current run identity, workflow module, step name, attempt number, and the
durable run state available before the current attempt started.

# `t`

```elixir
@type t() :: %Squidie.Step.Context{
  attempt: pos_integer() | nil,
  claim_id: String.t() | nil,
  idempotency_key: String.t() | nil,
  run_id: Ecto.UUID.t(),
  runnable_key: String.t() | nil,
  state: map(),
  step: atom(),
  step_opts: keyword(),
  workflow: module()
}
```

---

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