🤖 fix: queue busy workspace turn follow-ups#3617
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b71deba993
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
|
@codex review Please take another look. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 88454baa34
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Please take another look. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a7f766e0ca
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Please take another look. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 16df052fae
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Please take another look. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c81cd60a8d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Please take another look. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7d312b326a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Please take another look. |
Summary
Queue follow-up messages for busy existing workspace turns instead of failing when the target workspace is already running.
Background
Parent/orchestrator workspaces can target an already-created workspace with
task(kind="workspace", workspace.mode="existing"). That previously failed withexisting workspace is busy; wait until it is idle, even though the chat layer already supports queued follow-up messages.Implementation
workspace.queueDispatchModefor existing workspace turns so orchestrators can choosetool-endorturn-endqueue dispatch.Validation
env MUX_ESLINT_CONCURRENCY=1 make static-checkbun test src/node/services/messageQueue.test.ts src/node/services/tools/task.test.ts src/common/utils/tools/toolDefinitions.test.ts src/node/services/taskService.test.ts --test-name-pattern 'MessageQueue|workspace turn queue dispatch mode|accepts workspace turn queue dispatch mode|createWorkspaceTurn (creates a normal workspace|reprompts only owner-created|queues busy owner-created|reserves a slot before queueing|counts active workspace turns)|uncorrelated stream-end before queued workspace turn prompt'bun test tests/ui/chat/unreadIndicator.test.ts -t "hides Mark unread for already-unread rows"(local check for unrelated Integration CI flake)Risks
Moderate risk in workspace-turn orchestration and queued-message handling. The queue now carries internal callbacks, so the implementation keeps workspace-turn messages single-entry to avoid orphaning task handles or applying metadata to the wrong turn.
Generated with
mux• Model:openai:gpt-5.5• Thinking:xhigh• Cost:$24.67