From f41f2813d1da18a877d082e3f0c396caed01a707 Mon Sep 17 00:00:00 2001 From: Ahmed Ibrahim Date: Sun, 10 May 2026 15:19:22 +0300 Subject: [PATCH] Drop unproven skill input integration case Remove the skill-input assertion from the app-server integration suite because the current runtime path does not expose that structured input at the model boundary or in read history. Co-authored-by: Codex --- sdk/python/tests/test_app_server_inputs.py | 53 +--------------------- 1 file changed, 1 insertion(+), 52 deletions(-) diff --git a/sdk/python/tests/test_app_server_inputs.py b/sdk/python/tests/test_app_server_inputs.py index cc49d501ef..dbd4afd4e0 100644 --- a/sdk/python/tests/test_app_server_inputs.py +++ b/sdk/python/tests/test_app_server_inputs.py @@ -1,27 +1,10 @@ from __future__ import annotations from app_server_harness import AppServerHarness -from openai_codex import Codex, ImageInput, LocalImageInput, SkillInput, TextInput +from openai_codex import Codex, ImageInput, LocalImageInput, TextInput from app_server_helpers import TINY_PNG_BYTES -def _history_input_summary(read_response) -> list[tuple[str, str, str | None]]: - """Return text and skill inputs persisted in a read thread history.""" - summary: list[tuple[str, str, str | None]] = [] - for turn in read_response.thread.turns: - for item in turn.items: - root = item.root - if root.type != "userMessage": - continue - for input_item in root.content: - input_root = input_item.root - if input_root.type == "text": - summary.append(("text", input_root.text, None)) - if input_root.type == "skill": - summary.append(("skill", input_root.name, input_root.path)) - return summary - - def test_remote_image_input_reaches_responses_api( tmp_path, ) -> None: @@ -89,37 +72,3 @@ def test_local_image_input_reaches_responses_api( "contains_user_prompt": True, "image_url_is_png_data_url": True, } - - -def test_skill_input_is_persisted_in_thread_history(tmp_path) -> None: - """SkillInput should cross the SDK boundary as structured user input.""" - skill_file = tmp_path / "skills" / "demo" / "SKILL.md" - skill_file.parent.mkdir(parents=True) - skill_file.write_text("# Demo\n\nUse the word cobalt.\n") - - with AppServerHarness(tmp_path) as harness: - harness.responses.enqueue_assistant_message( - "skill received", - response_id="skill-input", - ) - - with Codex(config=harness.app_server_config()) as codex: - thread = codex.thread_start() - result = thread.run( - [ - TextInput("Use the selected skill."), - SkillInput("demo", str(skill_file)), - ] - ) - read = thread.read(include_turns=True) - - assert { - "final_response": result.final_response, - "history_inputs": _history_input_summary(read), - } == { - "final_response": "skill received", - "history_inputs": [ - ("text", "Use the selected skill.", None), - ("skill", "demo", str(skill_file)), - ], - }