A single todo item in the agent's internal task list.
The agent uses todos to track progress on multi-step operations. Each item has a unique id, a description, and a status that progresses from :pending through :in_progress to :done.
:pending
:in_progress
:done
Todo item status.
A todo item.
@type status() :: :pending | :in_progress | :done
@type t() :: %MingaAgent.TodoItem{ description: String.t(), id: String.t(), status: status() }