Immutable, per-attempt budget handed from the Instance to a worker/session.
Deadlines are absolute system milliseconds. Heartbeats may renew stall
timers, but they never mutate deadline_at.
Summary
Types
@type limit() :: non_neg_integer() | number() | nil
@type t() :: %Spectre.Inference.BudgetSnapshot{ attempt_id: String.t(), deadline_at: integer() | nil, estimation_policy: :provider | :conservative | :unavailable, inference_id: String.t(), pricing_ref: String.t() | nil, remaining: %{optional(atom()) => limit()}, reserved: Spectre.Inference.Usage.t() }