Skip to content

Commit a67e567

Browse files
committed
fix(auto-reply): narrow conversation-state 400 classification
1 parent 04d3c8b commit a67e567

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

src/auto-reply/reply/provider-request-error-classifier.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ describe("provider request error classifier", () => {
2626
"alternating role ordering mismatch",
2727
"messages: roles must alternate between user and assistant",
2828
],
29-
["bare Responses 400", "400 status code (no body)"],
3029
[
3130
"local replay invariant guard",
3231
"invalid_replay_transcript: OpenAI Responses replay contains dangling_tool_call toolCallId=call_1 at message index 4",
@@ -39,6 +38,10 @@ describe("provider request error classifier", () => {
3938
});
4039
});
4140

41+
it("leaves bare no-body 400 provider failures unclassified", () => {
42+
expect(classifyProviderRequestError(new Error("400 status code (no body)"))).toBeUndefined();
43+
});
44+
4245
it("leaves explicit HTTP 429 rate-limit failures on the existing rate-limit path", () => {
4346
expect(classifyProviderRequestError(new Error("429: rate limit exceeded"))).toBeUndefined();
4447
});

src/auto-reply/reply/provider-request-error-classifier.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ export function isProviderConversationStateErrorMessage(message: string): boolea
6969
lower.includes("function call turn comes immediately after") ||
7070
lower.includes("incorrect role information") ||
7171
lower.includes("roles must alternate") ||
72-
(lower.includes("400 status code") && lower.includes("no body")) ||
7372
lower.includes("invalid_replay_transcript")
7473
);
7574
}

0 commit comments

Comments
 (0)