# `Milvex.Migration.Runner.ApplyReport`

Final report from one `Runner.apply/2` call: per-plan results, a flag
telling whether the run was short-circuited by an `:impossible` op, and
aggregate counts.

# `counts`

```elixir
@type counts() :: %{
  applied: non_neg_integer(),
  skipped_destructive: non_neg_integer(),
  skipped_idempotent: non_neg_integer(),
  failed: non_neg_integer(),
  blocked: non_neg_integer(),
  impossible: non_neg_integer()
}
```

# `t`

```elixir
@type t() :: %Milvex.Migration.Runner.ApplyReport{
  blocked_by_impossible: boolean(),
  counts: counts(),
  plan_results: [Milvex.Migration.Runner.PlanResult.t()]
}
```

---

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