From 6536489195a2319cd84a97e16067269169000c06 Mon Sep 17 00:00:00 2001 From: GareArc Date: Mon, 2 Mar 2026 19:59:20 -0800 Subject: [PATCH] fix(telemetry): restore TRACE_TASK_TO_CASE lookup broken by CE safety refactor The CE safety commit (8a3485454a) converted module-level dicts to lazy functions but forgot to update __init__.py, which still imported the now-deleted TRACE_TASK_TO_CASE constant causing an ImportError at startup. Add get_trace_task_to_case() to gateway.py as a lazy public wrapper (inverse of _get_case_to_trace_task) and update __init__.py to call it. --- api/core/telemetry/__init__.py | 4 ++-- api/core/telemetry/gateway.py | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/api/core/telemetry/__init__.py b/api/core/telemetry/__init__.py index 3cb62bbbbf..ae4f53f3b7 100644 --- a/api/core/telemetry/__init__.py +++ b/api/core/telemetry/__init__.py @@ -10,8 +10,8 @@ from typing import TYPE_CHECKING from core.ops.entities.trace_entity import TraceTaskName from core.telemetry.events import TelemetryContext, TelemetryEvent -from core.telemetry.gateway import TRACE_TASK_TO_CASE from core.telemetry.gateway import emit as gateway_emit +from core.telemetry.gateway import get_trace_task_to_case if TYPE_CHECKING: from core.ops.ops_trace_manager import TraceQueueManager @@ -23,7 +23,7 @@ def emit(event: TelemetryEvent, trace_manager: TraceQueueManager | None = None) Translates the ``TelemetryEvent`` (keyed by ``TraceTaskName``) into a ``TelemetryCase`` and delegates to ``core.telemetry.gateway.emit()``. """ - case = TRACE_TASK_TO_CASE.get(event.name) + case = get_trace_task_to_case().get(event.name) if case is None: return diff --git a/api/core/telemetry/gateway.py b/api/core/telemetry/gateway.py index bb6e627193..b2b8d3d470 100644 --- a/api/core/telemetry/gateway.py +++ b/api/core/telemetry/gateway.py @@ -56,6 +56,11 @@ def _get_case_to_trace_task() -> dict: return _case_to_trace_task +def get_trace_task_to_case() -> dict: + """Return TraceTaskName → TelemetryCase (inverse of _get_case_to_trace_task).""" + return {v: k for k, v in _get_case_to_trace_task().items()} + + def _get_case_routing() -> dict: global _case_routing if _case_routing is None: