# `Scrypath.Operator.State`
[🔗](https://github.com/szTheory/scrypath/blob/v0.3.5/lib/scrypath/operator/state.ex#L1)

Stable operator state projected from backend tasks and queue jobs.

This struct gives the public operator APIs a Scrypath-owned shape for
identifiers, lifecycle state, timestamps, and stable references without
exposing raw backend or queue payloads as the public contract.

# `state`

```elixir
@type state() :: :pending | :queued | :retrying | :failed | :completed
```

# `t`

```elixir
@type t() :: %Scrypath.Operator.State{
  at: DateTime.t() | nil,
  id: term(),
  kind: :backend_task | :queue_job | atom(),
  metadata: map(),
  reference: map(),
  source: :meilisearch | :oban | atom(),
  state: state()
}
```

# `new`

```elixir
@spec new(keyword()) :: t()
```

---

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