# `Parapet.Telemetry.AsyncDelivery`
[🔗](https://github.com/szTheory/parapet/blob/v1.0.0/lib/parapet/telemetry/async_delivery.ex#L1)

Public contract helpers for Parapet's async and delivery telemetry families.

> #### Stable {: .info}
>
> This module is **stable** as of v1.0.0. Its public API will not change without a
> major-version bump and a full deprecation cycle. See
> [Stability & Deprecation Policy](stability.html) for details.

# `allowed_public_keys`
*since 1.0.0* 

Returns the list of allowed public metadata keys for a given event family.
Accepts either a full event name list (e.g. `[:parapet, :delivery, :outbound]`) or a
family atom (e.g. `:outbound`).

# `delay_bucket`
*since 1.0.0* 

Buckets a delay in milliseconds into a low-cardinality atom for use as a telemetry metadata value.
Accepts integers or floats (floats are rounded). Raises `FunctionClauseError` for negative values.

# `event_families`
*since 1.0.0* 

Returns the list of all six frozen async and delivery telemetry event family name tuples.

# `event_name`
*since 1.0.0* 

Returns the full telemetry event name tuple for a given delivery or async family atom.

# `normalize_async_outcome`
*since 1.0.0* 

Normalizes an async outcome atom or string to its canonical form.
Raises `ArgumentError` for unknown outcomes.

# `normalize_delivery_outcome`
*since 1.0.0* 

Normalizes a delivery outcome atom or string to its canonical form.
Raises `ArgumentError` for unknown outcomes.

# `normalize_fault_plane`
*since 1.0.0* 

Normalizes a fault plane atom or string to its canonical form.
Raises `ArgumentError` for unknown fault planes.

# `normalize_retry_state`
*since 1.0.0* 

Normalizes a retry state atom or string to its canonical form.
Raises `ArgumentError` for unknown retry states.

# `shape_metadata`
*since 1.0.0* 

Shapes a raw metadata map for a given event family into the public-key-only metadata map
expected in the telemetry event. Strips private/internal keys, normalizes known values, and
collects ref keys under a `:refs` sub-map. Accepts either a full event name list or a family
atom.

---

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