# `SmolBox.Telemetry`
[🔗](https://github.com/hfiguera/smolbox/blob/v0.1.3/lib/smolbox/telemetry.ex#L1)

Redacted, optional managed-runtime observations through `:telemetry`.

Notifications are asynchronous and bounded. They are not a durable event log,
an execution receipt, or an acknowledgment from an exporter. Events may be
dropped, repeated, or missing their matching stage stop after interruption.
Stored execution evidence remains authoritative. Handlers run in separate
processes with a deadline; ordinary slow/failing handlers do not run in the
execution process. Handlers are trusted host code, not sandboxed code.

Execution metadata contains the configured runtime and namespace, bounded
scope/execution/worker identifiers and
finite state/evidence/collection/cleanup categories. Identifiers belong in
protected traces, never metric labels. Events omit specifications, commands,
environment, fingerprints, artifact paths, contents, stdout/stderr and raw
errors. Numeric output sizes and exit codes are measurements, not labels.
Third-party transport instrumentation and exporter logging are outside this
payload contract.

Stage durations use monotonic milliseconds for the current controller attempt.
Cleanup attempts exclude time spent waiting between reconciliations or during
evidence retention. Queue wait uses persisted wall-clock timestamps and needs
the host's documented clock discipline. Notifications can complete out of order
across producers; use stored versions for inspection, not workflow decisions.

# `events`

```elixir
@spec events() :: [[atom()]]
```

---

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