# `MontyCad.Gen.Policy`
[🔗](https://github.com/d-led/ex.monty.cad/blob/main/lib/monty_cad/gen/policy.ex#L1)

The source of a motor policy: the contract, the description, and nothing
invented.

A policy answers one question per step — where to sense next — and returns
whether learning modules should sit the step out. What this generator writes is
the shape of that answer and the description a cluster asks for; the decision
itself raises until somebody writes it, because a generated function that does
something plausible is a decision nobody made.

# `source`

```elixir
@spec source(module()) :: String.t()
```

The module's source.

# `test_source`

```elixir
@spec test_source(module()) :: String.t()
```

The test that holds the contract, which is the part a generator can prove.

---

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