Source: PR #62 fix worker — found the identical bug class pre-existing at tests/commands/dedup.test.ts:45, left untouched per surgical scope.
An afterEach restores process.exitCode = originalExitCode where the original is undefined; Bun silently ignores assigning undefined, so a poisoned exit code can survive to process exit and turn a green suite into a red CI run depending on test file ordering (exact mechanism of PR #62's blocker 1).
Fix sketch: apply the repo's ?? 0 convention; consider a repo-wide grep for other instances while at it.
Source: PR #62 fix worker — found the identical bug class pre-existing at
tests/commands/dedup.test.ts:45, left untouched per surgical scope.An afterEach restores
process.exitCode = originalExitCodewhere the original isundefined; Bun silently ignores assigning undefined, so a poisoned exit code can survive to process exit and turn a green suite into a red CI run depending on test file ordering (exact mechanism of PR #62's blocker 1).Fix sketch: apply the repo's
?? 0convention; consider a repo-wide grep for other instances while at it.