Foundation enums for the obs SDK.
Every other crate in the workspace depends on this one. The seven enums
defined here form the vocabulary of the wire envelope (10-data-model.md
§ 2-5) — Tier, Severity, FieldKind,
Cardinality, Classification, MetricKind, SamplingReason.
All enums:
- derive
Copy + Clone + Debug + PartialEq + Eq + Hash, - implement [
buffa::Enumeration] so they live on the wire, - serialize/deserialize via
serdeforobs.yamlconfig, - expose
const fnhelpers used by compile-time lints (e.g. [Cardinality::is_label_compatible], [Cardinality::cap], [Severity::as_str]).
Vocabulary changes here cause an envelope format_ver bump (per
10-data-model.md § 6 and
61-crates-and-features.md § 4).
That's the intended forcing function.