# `WardrikChannel.Replies`

Posts agents' answers in each room's threads.

Each room has one `WardrikChannel.Replies.Server` in the cluster, kept in Wardrik's store. It
reads the agents' logs, so no answer is lost to a restart. It posts:

  * what a run answered
  * what the agent is doing while it works
  * the calls it waits on, and who decided them
  * why a run failed, or that it stopped

# `child_spec`

```elixir
@spec child_spec(WardrikChannel.Channel.t()) :: Supervisor.child_spec()
```

Returns the child spec of the supervisor the channel's rooms run under.

# `follow`

```elixir
@spec follow(WardrikChannel.Workspace.t(), String.t()) :: :ok
```

Starts posting in `room`'s threads. Does nothing if it already is.

# `forget`

```elixir
@spec forget(WardrikChannel.Workspace.t(), String.t()) :: :ok
```

Stops posting in `room` and deletes its saved position.

# `remind`

```elixir
@spec remind(WardrikChannel.Workspace.t(), String.t(), String.t()) :: :ok
```

Posts the calls `conversation` waits on again, in its thread of `room`.

---

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