Summary
Codex Responses clients can report ReasoningSummaryPartAdded/Delta without active item when an Anthropic-compatible provider streams thinking before a tool call.
Root cause
The Responses stream emitted reasoning summary deltas without a complete active-item setup, and the Anthropic stream conversion omitted the response ID from CoreEventCreated. In addition, signature_delta was swallowed by the generic thinking-block path, so continuation requests lost the provider signature.
Fix
- Emit an initial
summary_text reasoning part and complete reasoning item lifecycle events.
- Preserve the Anthropic message ID in
CoreEventCreated.
- Process
signature_delta before generic thinking deltas.
- Add a mocked E2E stream/replay test: Anthropic thinking + tool use → Responses output → Anthropic tool-result continuation.
Validation
CGO_ENABLED=0 go test -p 1 ./...
go test -tags=e2e ./internal/e2e -run "^TestOpenAIResponseAnthropicE2E_ReasoningToolReplay$"
Related
Split from #63, which also tracks the separate apply_patch proxy-mapping problem.
Summary
Codex Responses clients can report
ReasoningSummaryPartAdded/Delta without active itemwhen an Anthropic-compatible provider streams thinking before a tool call.Root cause
The Responses stream emitted reasoning summary deltas without a complete active-item setup, and the Anthropic stream conversion omitted the response ID from
CoreEventCreated. In addition,signature_deltawas swallowed by the generic thinking-block path, so continuation requests lost the provider signature.Fix
summary_textreasoning part and complete reasoning item lifecycle events.CoreEventCreated.signature_deltabefore generic thinking deltas.Validation
Related
Split from #63, which also tracks the separate
apply_patchproxy-mapping problem.