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]

Reply via email to