Fixes a replay race where a background command that finished during an AFT restart was reported as an unknown outcome instead of its real exit code.
The wrapper writes its exit marker before exiting, but replay could read the marker before it was written, then observe the process as dead and permanently classify the task as fate_unknown. Replay now re-reads the exit marker after detecting the process is gone, covering Starting, Running, and Killing recovery states.
Bug Fixes
Reports the real exit code for commands that finish while AFT restarts instead of an unknown outcome.
Adds a deterministic regression test covering zero and nonzero exit codes and completion delivery.
Adds release notes and a search-quality benchmark descriptor for the replay fix.
Confidence Score: 5/5
The PR appears safe to merge; no actionable issues were found.
Summary
Replay now reads the exit marker again after finding a background command’s process gone. This preserves the real exit code when the command finishes between the first marker read and the process check.
Background command replay recovers exit results written as processes finish.