# `Beaver.MLIR.Transform.Resolver`

Behaviour for resolving Transform Tune choices.

Resolver state is explicit so one resolver may be reused safely by concurrent
tuning candidates. Returning `:unresolved` lets an already selected value be
used; otherwise resolution fails for an active choice.

# `resolve`

```elixir
@callback resolve(Beaver.MLIR.Transform.Schedule.Choice.t(), state :: term()) ::
  {:ok, term(), new_state :: term()}
  | {:error, term(), new_state :: term()}
  | {:unresolved, new_state :: term()}
```

