Persisted long-running goal for a Vibe session.
Summary
Types
@type status() ::
:active | :paused | :blocked | :usage_limited | :budget_limited | :complete
@type t() :: %Vibe.Goals.Goal{ created_at: DateTime.t(), goal_id: String.t(), objective: String.t(), session_id: String.t(), status: status(), time_used_seconds: non_neg_integer(), token_budget: pos_integer() | nil, tokens_used: non_neg_integer(), updated_at: DateTime.t() }