Skip to content

fix(subagent): surface scrubbed xAI worker diagnostics - #1306

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-9836-xai-worker-failures-hide-the-provider-diagnostic
Oct 3, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-9836-xai-worker-failures-hide-the-provider-diagnostic

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

  • Worker inference.error capture keeps raw and the provider id so nested bodies survive.
  • Parent-facing worker failures use the scrubbed full diagnostic (terminalProviderFailureMessage after terminal normalize), not the summary that dropped the reason.
  • Known xAI/Grok fatal 400s lift nested {error.message} / {detail.error.message} over HTTP statusText Bad Request, same as Codex. Credentials still never appear in wait_agents.

Verification

  • bun run check passes (lint, typecheck, dead-exports, build, 8160 tests)
  • Coverage: xAI and grok-responses 400 nested lift; worker mailbox includes the lifted reason; injected API-key material stays absent

Fixes CL-9836

Worker mailbox errors used a summary that dropped the provider
reason, and xAI fatal 400s never lifted nested error.message over
HTTP statusText. Keep raw on the captured inference.error, lift
nested 400 copy for xAI the same way Codex does, and put the
scrubbed full line on wait_agents so the next Grok 400 names why.
@linear-code

linear-code Bot commented Oct 3, 2026

Copy link
Copy Markdown

CL-9836

@TheGreatAxios
TheGreatAxios merged commit 867d9a8 into main Oct 3, 2026
13 checks passed
@TheGreatAxios
TheGreatAxios deleted the cl-9836-xai-worker-failures-hide-the-provider-diagnostic branch October 3, 2026 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant