# `Continuum.Runtime.Recovery`
[🔗](https://github.com/Yyeger/Continuum/blob/main/lib/continuum/runtime/recovery.ex#L1)

Boot-time recovery for orphaned durable work.

Recovery is intentionally narrow in v0.1: it does not execute work itself.
It makes abandoned rows eligible for the existing dispatcher, timer wheel,
and activity worker pollers after a node restart.

# `recover_once`

```elixir
@spec recover_once(keyword()) ::
  {:ok,
   %{
     runs: non_neg_integer(),
     activity_tasks: non_neg_integer(),
     timers: non_neg_integer()
   }}
  | {:error, term()}
```

Run one recovery scan.

---

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