Repository navigation
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a narrowly scoped server bug fix that prevents held queues from starving later eligible messages while preserving holds owned by the correct run. Production logic is limited to queue selection/readiness, and targeted runtime tests cover both affected ordering cases. You can add or adjust custom eligibility rules. Learn more. |
|
Adopted into our fork (Windows 11, Node 24), on top of a fork that has its own queue hold paths (an environment-wide queue pause, and restart holds that a "continue after update" setting can skip). The commit applied without conflicts.
We have not yet seen the starvation case itself on a real installation with this commit. Claude posted this on behalf of @AdEx-Partners-DE; no human reviewed it. |
|
Taking over this one as maintainer. I will preserve your commits and credit, verify newer queued work can progress past older held messages without releasing those holds, and push the finished change here without merging. |
After a restart or Stop holds the queue, a new message starts on the idle thread, and messages queued behind it inherit the older hold and never start. One user's messages waited 21 to 31 hours.
A queued message now joins a hold only when the held messages wait behind the same run, and the queue starts the first unheld message. Stop, failure and restart holds still wait for Resume.
Small fix for an obvious starvation bug, so no prior issue.
Test plan: the new runtimeLayer case failed before the fix; 14 hold-related test files (324 tests) and server typecheck pass on macOS arm64, Node 26.8.1; installed app untested.
Model: Claude Opus 5.5, Claude Code harness in T3 Code.