# `BB.Error.Estimator.StaleInput`
[🔗](https://github.com/beam-bots/bb/blob/main/lib/bb/error/estimator/stale_input.ex#L5)

An input message arrived too late to be useful.

The framework drops these envelopes itself, transitioning the estimator
to `:degraded` with reason `:stale_input` and emitting
`[:bb, :estimator, :dropped]` telemetry. This error type exists for
algorithms or supervisors that want to surface the age overrun as a
structured value instead — for instance when an input exceeded its
`max_input_age`.

# `t`

```elixir
@type t() :: %BB.Error.Estimator.StaleInput{
  __exception__: term(),
  age_ms: number(),
  bread_crumbs: term(),
  budget_ms: number(),
  class: term(),
  input_path: [atom()],
  path: term(),
  splode: term(),
  stacktrace: term(),
  vars: term()
}
```

# `exception`

```elixir
@spec exception(opts :: Keyword.t()) :: %BB.Error.Estimator.StaleInput{
  __exception__: term(),
  age_ms: term(),
  bread_crumbs: term(),
  budget_ms: term(),
  class: term(),
  input_path: term(),
  path: term(),
  splode: term(),
  stacktrace: term(),
  vars: term()
}
```

Create an `Elixir.BB.Error.Estimator.StaleInput` without raising it.

## Keys

- :input_path
- :age_ms
- :budget_ms

---

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