"""Telemetry-package error types.Declared alongside the schema/consent/emit modules per the project'serror-taxonomy convention: every :class:`~core.errors.AeatError`subclass binds to a registered:class:`~core.errors.ErrorCode` row (``core/errors/registry/_core.py``).See Also: :class:`~core.telemetry.TelemetrySchemaError` Public telemetry schema failure exported by the package facade. :data:`~core.telemetry.TELEMETRY_METRIC_REGISTRY` Closed metric allowlist whose integrity violations raise this error. :func:`~core.telemetry.build_telemetry_payload` Payload builder that enforces the registry before emission."""from__future__importannotationsfrom..errorsimportCoreError__all__=["TelemetrySchemaError"]
[docs]classTelemetrySchemaError(CoreError):"""Raised when a telemetry payload references an unregistered metric key. This is a development/authoring-time integrity failure, not an operator- facing refusal: the metric-key registry (:data:`~core.telemetry.TELEMETRY_METRIC_REGISTRY`) is the closed allowlist a telemetry producer must enroll in before it can emit a counter or timing. A key that is not registered for its command means a producer was added without registering its schema entry first — the exact gap ``no-dormant-source-resolvers``'s closed-registry discipline exists to catch elsewhere in the codebase. """