fix(release): accept tool-only completion signal#102600
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 9, 2026, 5:39 AM ET / 09:39 UTC. Summary PR surface: Tests +45. Total +45 across 1 file. Reproducibility: yes. The linked focused release run shows the OpenAI gateway-profile lane failing on Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Keep the malformed completion tolerance scoped to optional tool-only turns, but require independent tool-effect proof before accepting the run, such as checking transcript/tool events or asking a follow-up that does not embed the expected nonce values. Do we have a high-confidence way to reproduce the issue? Yes. The linked focused release run shows the OpenAI gateway-profile lane failing on Is this the best way to solve the issue? No. The patch is a plausible harness mitigation, but the best fix must make the follow-up proof independent of the expected nonce values or inspect the tool transcript/effect before accepting the malformed completion envelope. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 6433b8272350. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Tests +45. Total +45 across 1 file. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Land-ready at exact head What changed:
Proof:
Known proof gaps: none for the changed surface. |
|
Merged via squash.
|
* test(release): accept tool-only completion signal * test(release): retry transient tool-read failures (cherry picked from commit 60bef7b)
* test(release): accept tool-only completion signal * test(release): retry transient tool-read failures
* test(release): accept tool-only completion signal * test(release): retry transient tool-read failures (cherry picked from commit 60bef7b)
* test(release): allow tool-only live turn without transcript (cherry picked from commit 6801d34) * test(live): validate final tool probe reply (cherry picked from commit 3442a8e) * test(live): wait for terminal transcript projection (cherry picked from commit 1f49d94) * fix(release): accept tool-only completion signal (#102600) * test(release): accept tool-only completion signal * test(release): retry transient tool-read failures (cherry picked from commit 60bef7b) * test(live): correlate tool-read retries (#103204) Partial backport of the v6.11-compatible transcript correlation and completed-without-reply retry contract only. (cherry picked from commit 8511585) * docs(changelog): refresh 2026.6.33 record --------- Co-authored-by: Vincent Koc <[email protected]> Co-authored-by: Peter Steinberger <[email protected]>
What Problem This Solves
Fixes an issue where the OpenAI gateway-profile release lane failed after a successful intentionally tool-only turn because
agent.waitreturned the known malformed{ status: "error", error: "completed" }envelope.Why This Change Was Made
The live harness now accepts that envelope only when assistant text is explicitly optional. Required-text turns and every other error remain strict, and the following turn must still prove that the tool state is usable.
User Impact
No runtime behavior changes. Release validation no longer reports a false failure for successful tool-only OpenAI turns.
Evidence
oxfmt --checkpassed for the changed file