Repository navigation
fix: accept Codex reports after recovered stream errors - #149
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A Codex CLI stream can emit a reconnect error, recover, and finish with a valid finding and
turn.completed. Jury previously rejected it immediately at the transient error, losing the completed review result. The parser now requires a new assistant report and completed turn after an error, while keeping terminal turn failures, nonzero exits, malformed output, incomplete turns, and stale reports rejected. Raw retry diagnostics remain saved.Five added regressions cover recovered findings, recovery independent of error wording, stale or incomplete output, terminal failures, and nonzero process exits. The fixtures are synthetic equivalents of the observed event order; no private transcript is committed.
Validation on
5be1270e2fd17e8e034d5481893858f2b2792b24:node --test test/codex-output.test.js: 11/11 pass. On unchanged master with the new tests, 8 passed and 3 failed; the recovery tests rejected the reconnect diagnostic.node scripts/ci-check.mjs test: 325/325 pass, exit 0.node scripts/ci-check.mjs test:package: installed-package checks pass, 55 packaged files, exit 0.NO NEW FINDINGS, exit 0, one clean round, 40.2 seconds. Reviewer and judge were selected as Codex; no judge invocation was needed because the reviewer found no issues.Actual command, run from the isolated worktree:
The read-only reviewer independently ran the 11 focused tests but could not start the full suite because its sandbox disallowed creating the temporary test directory. The full and package checks above ran independently. Recovery itself is demonstrated by offline replay and synthetic subprocess fixtures; the fresh actual review did not encounter a live 429. No provider, authentication, permission or billing setting changed.