shuke987 opened a new pull request, #68372:
URL: https://github.com/apache/doris/pull/68372
### What problem does this PR solve?
After a capacity error, the review helper can accept `codex exec --goal
resume` exiting with status 0 even when the attempt reports `turn.failed` or
never produces a terminal event. The helper then stops retrying and the
workflow replaces the underlying error with “no new pull request review was
submitted.”
Require both a zero process exit and a completed latest turn before
accepting an attempt. Explicit capacity errors remain eligible for the existing
bounded retry sequence even when the process exits with 0. Authentication,
usage-limit and other errors fail without retry; a missing terminal event fails
explicitly instead of borrowing a previous attempt’s capacity error or
completion. Existing PR-state checks, duplicate-submission protection and the
shared deadline are retained.
Each attempt now logs its exit status, last turn event and event count. The
installation step logs the actual goal binary’s SHA-256 to make runtime
failures reproducible.
Related PR: #67624
### Validation
- Linux Python 3.12: all 147 pipeline tests passed, including real process
cleanup and workflow/auth-quarantine integration tests. Tests ran without
network access or host mounts.
- Added 12 regression tests for zero-exit capacity retries and exhaustion,
zero-exit authentication failures, missing terminal events, event ordering and
workflow error propagation.
- The new helper tests fail against the previous implementation, including
false success and premature retry termination; they pass after the fix.
- macOS helper suite: 55 tests, passed with 3 Linux-only skips.
- Ruff checks and helper/test formatting, actionlint, workflow YAML parsing,
all 22 shell blocks with `bash -n`, and `git diff --check` passed.
**Rollout limit:** this validates helper behavior with controlled Codex
output and real Linux subprocesses. The actual OSS goal binary was not
available for validation (anonymous read is denied); no claim is made that the
underlying binary’s goal/resume issue is fixed. Before production rollout,
validate that exact binary’s resumed turn execution and terminal-event
behavior. The change fails incomplete resumes explicitly; it does not blindly
retry empty successful exits.
### Release note
None
### Check List (For Author)
- Test
- [x] Unit Test
- [x] Linux subprocess and workflow integration tests
- Behavior changed:
- [x] Yes. Recovery success requires terminal-event evidence.
- Does this need documentation?
- [x] No.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]