From cd426a0d84e4ada78dff0bf856cf63346eb459c5 Mon Sep 17 00:00:00 2001 From: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> Date: Thu, 3 Sep 2026 23:04:45 -0300 Subject: [PATCH] fix(tests): retire dead model ids from the chat-pipeline integration suite (base-red #12581) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three integration failures, one cause: the suite still routes two model ids the vendor lifecycle registry marks `retired`, so the pipeline correctly refuses them and the tests assert on the refusal. ❌ persists Codex responses cache and reasoning tokens → 410 !== 200 "codex/gpt-5.1-codex" — retired 2026-07-23, successor gpt-5.6-sol ❌ translates OpenAI requests to Claude → 410 !== 200 ❌ falls back across combo models → 502 !== 200 both on "claude/claude-3-5-sonnet-20241022" — the combo case fails with 502 because the retired id is its fallback target Only the first reaches the release-green report, which prints the first failing line, so the other two were invisible. All three had been hidden for longer than that: the integration gate has been dying on its 2400s ceiling, and a gate killed by its ceiling never reports an individual test failure. Replaces both with live ids — the successor named by the lifecycle record for the Codex one, and the `claude-sonnet-4-6` this same file already uses elsewhere for the Claude one. `buildOpenAIResponsesSSE` also echoed the retired Codex id, and the call log derives its provider from the model in the response, so leaving it made the row log `provider: "openai"` for a request that correctly used the codex connection. No assertion is changed or relaxed. Verified with the CI invocation (setupPolyfill + isolateDataDir + --test-concurrency=1): 28/28 pass, exit 0, from 25/28 before. --- tests/integration/chat-pipeline.test.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/integration/chat-pipeline.test.ts b/tests/integration/chat-pipeline.test.ts index a7d441a9a5..2b0bf96d33 100644 --- a/tests/integration/chat-pipeline.test.ts +++ b/tests/integration/chat-pipeline.test.ts @@ -170,7 +170,7 @@ function buildOpenAIToolCallResponse({ ); } -function buildClaudeResponse(text = "ok", model = "claude-3-5-sonnet-20241022") { +function buildClaudeResponse(text = "ok", model = "claude-sonnet-4-6") { return new Response( JSON.stringify({ id: "msg_json", @@ -286,7 +286,7 @@ function buildOpenAIStreamResponse(text = "streamed from openai") { function buildOpenAIResponsesSSE({ text = "responses streamed from codex", - model = "gpt-5.1-codex", + model = "gpt-5.6-sol", usage = null, } = {}) { return new Response( @@ -567,7 +567,7 @@ test("chat pipeline persists Codex responses cache and reasoning tokens to call buildRequest({ url: "http://localhost/v1/responses", body: { - model: "codex/gpt-5.1-codex", + model: "codex/gpt-5.6-sol", stream: false, input: "Persist cache + reasoning usage", }, @@ -983,7 +983,7 @@ test("chat pipeline translates OpenAI requests to Claude and returns OpenAI-shap const response = await handleChat( buildRequest({ body: { - model: "claude/claude-3-5-sonnet-20241022", + model: "claude/claude-sonnet-4-6", stream: false, messages: [{ role: "user", content: "Hello Claude" }], }, @@ -1566,7 +1566,7 @@ test("chat pipeline falls back across combo models when the first provider fails name: "combo-fallback", strategy: "priority", config: { maxRetries: 0, retryDelayMs: 0 }, - models: ["openai/gpt-4o-mini", "claude/claude-3-5-sonnet-20241022"], + models: ["openai/gpt-4o-mini", "claude/claude-sonnet-4-6"], }); const attempts = [];