From 72715e77d4e2f319cbc840f0efac4ffe9cc7f192 Mon Sep 17 00:00:00 2001 From: Maple Xu Date: Fri, 10 Apr 2026 14:59:48 -0400 Subject: [PATCH 1/3] AI-18: Move set_tracing_disabled from workflow to worker startup set_tracing_disabled is a global side effect that shouldn't be called inside deterministic workflow code. Move it to the top of main() in the worker files where it runs once at process startup. Co-Authored-By: Claude Opus 4.6 (1M context) --- openai_agents/model_providers/run_gpt_oss_worker.py | 4 +++- openai_agents/model_providers/run_litellm_provider_worker.py | 3 +++ openai_agents/model_providers/workflows/gpt_oss_workflow.py | 4 +--- .../model_providers/workflows/litellm_auto_workflow.py | 4 +--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/openai_agents/model_providers/run_gpt_oss_worker.py b/openai_agents/model_providers/run_gpt_oss_worker.py index 88c85fca..7f9a10a3 100644 --- a/openai_agents/model_providers/run_gpt_oss_worker.py +++ b/openai_agents/model_providers/run_gpt_oss_worker.py @@ -3,7 +3,7 @@ from datetime import timedelta from typing import Optional -from agents import Model, ModelProvider, OpenAIChatCompletionsModel +from agents import Model, ModelProvider, OpenAIChatCompletionsModel, set_tracing_disabled from openai import AsyncOpenAI from temporalio.client import Client from temporalio.contrib.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin @@ -27,6 +27,8 @@ def get_model(self, model_name: Optional[str]) -> Model: async def main(): + set_tracing_disabled(disabled=True) + # Configure logging to show workflow debug messages logging.basicConfig(level=logging.WARNING) logging.getLogger("temporalio.workflow").setLevel(logging.DEBUG) diff --git a/openai_agents/model_providers/run_litellm_provider_worker.py b/openai_agents/model_providers/run_litellm_provider_worker.py index 5eb8b8b2..cf0b2cd0 100644 --- a/openai_agents/model_providers/run_litellm_provider_worker.py +++ b/openai_agents/model_providers/run_litellm_provider_worker.py @@ -1,6 +1,7 @@ import asyncio from datetime import timedelta +from agents import set_tracing_disabled from agents.extensions.models.litellm_provider import LitellmProvider from temporalio.client import Client from temporalio.contrib.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin @@ -12,6 +13,8 @@ async def main(): + set_tracing_disabled(disabled=True) + # Create client connected to server at the given address client = await Client.connect( "localhost:7233", diff --git a/openai_agents/model_providers/workflows/gpt_oss_workflow.py b/openai_agents/model_providers/workflows/gpt_oss_workflow.py index d7ed8021..821844b3 100644 --- a/openai_agents/model_providers/workflows/gpt_oss_workflow.py +++ b/openai_agents/model_providers/workflows/gpt_oss_workflow.py @@ -1,6 +1,6 @@ from __future__ import annotations -from agents import Agent, Runner, function_tool, set_tracing_disabled +from agents import Agent, Runner, function_tool from temporalio import workflow @@ -8,8 +8,6 @@ class GptOssWorkflow: @workflow.run async def run(self, prompt: str) -> str: - set_tracing_disabled(disabled=True) - @function_tool def get_weather(city: str): workflow.logger.debug(f"Getting weather for {city}") diff --git a/openai_agents/model_providers/workflows/litellm_auto_workflow.py b/openai_agents/model_providers/workflows/litellm_auto_workflow.py index 4a67ded4..9fe3d40b 100644 --- a/openai_agents/model_providers/workflows/litellm_auto_workflow.py +++ b/openai_agents/model_providers/workflows/litellm_auto_workflow.py @@ -1,6 +1,6 @@ from __future__ import annotations -from agents import Agent, Runner, function_tool, set_tracing_disabled +from agents import Agent, Runner, function_tool from temporalio import workflow @@ -8,8 +8,6 @@ class LitellmAutoWorkflow: @workflow.run async def run(self, prompt: str) -> str: - set_tracing_disabled(disabled=True) - @function_tool def get_weather(city: str): return f"The weather in {city} is sunny." From fe95e173bb63daad1a4e0b92f0e4cbdb114bc16d Mon Sep 17 00:00:00 2001 From: Maple Xu Date: Fri, 10 Apr 2026 15:17:41 -0400 Subject: [PATCH 2/3] AI-18: Add comment explaining why tracing is disabled at worker startup Co-Authored-By: Claude Opus 4.6 (1M context) --- openai_agents/model_providers/run_gpt_oss_worker.py | 3 +++ openai_agents/model_providers/run_litellm_provider_worker.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/openai_agents/model_providers/run_gpt_oss_worker.py b/openai_agents/model_providers/run_gpt_oss_worker.py index 7f9a10a3..acea2697 100644 --- a/openai_agents/model_providers/run_gpt_oss_worker.py +++ b/openai_agents/model_providers/run_gpt_oss_worker.py @@ -27,6 +27,9 @@ def get_model(self, model_name: Optional[str]) -> Model: async def main(): + # Disable Agents SDK tracing — the default exporter sends traces to OpenAI's + # backend, which requires an OpenAI API key not available in these samples. + # Call here rather than in the workflow because it's a global side effect. set_tracing_disabled(disabled=True) # Configure logging to show workflow debug messages diff --git a/openai_agents/model_providers/run_litellm_provider_worker.py b/openai_agents/model_providers/run_litellm_provider_worker.py index cf0b2cd0..3441013c 100644 --- a/openai_agents/model_providers/run_litellm_provider_worker.py +++ b/openai_agents/model_providers/run_litellm_provider_worker.py @@ -13,6 +13,9 @@ async def main(): + # Disable Agents SDK tracing — the default exporter sends traces to OpenAI's + # backend, which requires an OpenAI API key not available in these samples. + # Call here rather than in the workflow because it's a global side effect. set_tracing_disabled(disabled=True) # Create client connected to server at the given address From 79a4f30153dc0230ca0acb1c05f5167771a4c665 Mon Sep 17 00:00:00 2001 From: Maple Xu Date: Fri, 10 Apr 2026 16:32:01 -0400 Subject: [PATCH 3/3] linting --- openai_agents/model_providers/run_gpt_oss_worker.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/openai_agents/model_providers/run_gpt_oss_worker.py b/openai_agents/model_providers/run_gpt_oss_worker.py index acea2697..59798a1d 100644 --- a/openai_agents/model_providers/run_gpt_oss_worker.py +++ b/openai_agents/model_providers/run_gpt_oss_worker.py @@ -3,7 +3,12 @@ from datetime import timedelta from typing import Optional -from agents import Model, ModelProvider, OpenAIChatCompletionsModel, set_tracing_disabled +from agents import ( + Model, + ModelProvider, + OpenAIChatCompletionsModel, + set_tracing_disabled, +) from openai import AsyncOpenAI from temporalio.client import Client from temporalio.contrib.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin