# `Monty.Experiment.RecognitionStrategy.MontyIsDone`
[🔗](https://github.com/d-led/ex.tbp.monty/blob/v0.1.0/packages/ex_tbp_monty_core/lib/monty/experiment/recognition_strategy/monty_is_done.ex#L1)

The original policy: the model says it is done, or it does not.

Mirrors `tbp/monty/experiment/recognition_strategy.py::MontyIsDone`, which is
what Monty uses when a config names no policy at all — so this is the floor
every experiment stands on, and the one an episode with no step limit falls
back to.

# `call`

```elixir
@spec call(map(), term(), map()) ::
  Monty.Experiment.RecognitionStrategy.RecognitionResult.t()
```

Done when the model says so; asks no other question.

# `new`

```elixir
@spec new(keyword()) :: {:ok, {module(), %{}}}
```

The policy, taking no configuration.

Monty's constructor takes no arguments either; the empty option list is here
so that every policy is built the same way, and an option is still refused —
by the factory, before this is asked (`Monty.Experiment.RecognitionStrategy`).

---

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