From 55c0fe503d0e3987836b581f647d58bc5c084ed0 Mon Sep 17 00:00:00 2001 From: GareArc Date: Thu, 5 Feb 2026 15:20:45 -0800 Subject: [PATCH] fix(telemetry): correct enterprise-only trace filtering logic The logic was inverted - we were blocking all CE traces and only allowing enterprise traces. The correct logic should be: - Allow all CE traces (workflow, message, tool, etc.) - Only block enterprise-only traces when enterprise telemetry is disabled Before: if event.name not in _ENTERPRISE_ONLY_TRACES: return After: if event.name in _ENTERPRISE_ONLY_TRACES and not is_enterprise_telemetry_enabled(): return --- api/core/telemetry/facade.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/core/telemetry/facade.py b/api/core/telemetry/facade.py index d9fb01dee3..77adf867f6 100644 --- a/api/core/telemetry/facade.py +++ b/api/core/telemetry/facade.py @@ -22,7 +22,7 @@ class TelemetryFacade: def emit(event: TelemetryEvent, trace_manager: TraceQueueManager | None = None) -> None: from core.ops.ops_trace_manager import TraceQueueManager, TraceTask - if event.name not in _ENTERPRISE_ONLY_TRACES: + if event.name in _ENTERPRISE_ONLY_TRACES and not is_enterprise_telemetry_enabled(): return trace_queue_manager = trace_manager or TraceQueueManager(