Repository navigation
fix(server): preserve Claude final-result API error text - #19136
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Warning Review limit reachedOnly developers with an assigned seat can use this organization's usage-based review budget, and seats here are assigned manually. Ask an admin to assign a seat, or change the review continuation mode in Billing. Next included review available in 11 minutes. View limit details
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2143f6e3bf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Taking over this one as maintainer for batch claude-05. I will preserve the focused API-error behavior, reduce regression coverage to the necessary cases, and verify the rebuilt change before pushing here. |
# Conflicts: # apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A Claude turn can finish with
terminal_reason: api_errorwhile placing the useful failure detail inresult. T3 previously replaced that detail with a generic repeated-API-error message.Use trimmed final-result text beginning with
API Error:as a fallback, sanitizing the complete message before limiting it to 500 characters. Authentication and usage-window hints, listed errors, HTTP 429/529 messages, and other terminal reasons retain their precedence. The existing Claude adapter applies this for all clients without changing contracts or other providers.Verification on headless Linux / Node 24:
Proof uses the running adapter's fake SDK harness and terminal receipts. No live Claude API failure, integrated browser flow, macOS, Windows, iOS, Android, or Electron desktop verification was performed. Screenshots do not demonstrate this result-mapping behavior. CI and maintainer approval remain separate gates.
Thanks to @Marve10s for the focused implementation and initial regression work in #19136. This addresses only final-result error selection from #13399; assistant-only errors and other 429 cases remain outside scope.
Tests: GPT-6-Astra (high); implementation: GPT-6.1-Sol (high); reviews: Claude Opus 5.5 and GPT-6-Sol. Harness: Codex and Claude in T3 Code.