You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Retired sub-issue #475 proposed creating mellea/telemetry/errors.py. That's no longer needed — mellea/telemetry/metrics_plugins.py already has classify_error() and 8 ERROR_TYPE_* constants, built during the metrics epic (issue #465).
Scope
Extract classify_error and ERROR_TYPE_* constants into a shared location (e.g., mellea/telemetry/errors.py or mellea/telemetry/_shared.py) so both metrics and tracing plugins can import from one source.
Background
Retired sub-issue #475 proposed creating
mellea/telemetry/errors.py. That's no longer needed —mellea/telemetry/metrics_plugins.pyalready hasclassify_error()and 8ERROR_TYPE_*constants, built during the metrics epic (issue #465).Scope
classify_errorandERROR_TYPE_*constants into a shared location (e.g.,mellea/telemetry/errors.pyormellea/telemetry/_shared.py) so both metrics and tracing plugins can import from one source.mellea.error.type(semantic category) anderror.type(exception class name) on error spans, matching metrics' labels. feat(telemetry): close five OTel GenAI semantic convention emission gaps (#1035) #1036 already setserror.typeon the error path; this issue adds the semantic category alongside it.Phase & dependencies
Phase 3 (polish). Depends on #1045 and #1047. Can start any time after Phase 1 lands.
Acceptance criteria
ERROR_TYPE_*constants.mellea.error.type(semantic) anderror.type(exception class).Parent epic: #444