Derive multi-agent mode from Ultra effort - #29710
Closed
shijie-oai wants to merge 1 commit into
Closed
Conversation
shijie-oai
force-pushed
the
shijie/ultra-reasoning-effort
branch
from
June 23, 2026 20:45
5354cf9 to
9cbc0f5
Compare
shijie-oai
force-pushed
the
shijie/derive-ma-mode-from-ultra
branch
from
June 23, 2026 20:45
ed31d4f to
d057a92
Compare
shijie-oai
commented
Jun 23, 2026
Comment on lines
-97
to
-102
| /// Set the initial multi-agent mode for this thread. `none` leaves the | ||
| /// multi-agent tools available without injecting mode instructions. | ||
| /// Omitted defaults to `explicitRequestOnly`. | ||
| #[experimental("thread/start.multiAgentMode")] | ||
| #[ts(optional = nullable)] | ||
| pub multi_agent_mode: Option<MultiAgentMode>, |
Contributor
Author
There was a problem hiding this comment.
Dropping it cause experimental - should have no affect on client (i.e. the contract existence or not)
shijie-oai
commented
Jun 23, 2026
Contributor
Author
There was a problem hiding this comment.
At the thread level, we no longer care about the multi-agent-mode, instead at per turn level we will derive it based on the effective reasoning effort at the turn level to calculate the effective multi-agent mode. (what the base PR is doing)
shijie-oai
commented
Jun 23, 2026
| pub(super) provider: ModelProviderInfo, | ||
|
|
||
| pub(super) collaboration_mode: CollaborationMode, | ||
| pub(super) multi_agent_mode: MultiAgentMode, |
Contributor
Author
There was a problem hiding this comment.
At the session level it no longer has to worry about multi-agent mode cause it is not a setting a client can set/supply at this point.
shijie-oai
force-pushed
the
shijie/ultra-reasoning-effort
branch
from
June 24, 2026 00:01
9cbc0f5 to
f922892
Compare
shijie-oai
force-pushed
the
shijie/derive-ma-mode-from-ultra
branch
from
June 24, 2026 00:18
d057a92 to
b4dc539
Compare
shijie-oai
force-pushed
the
shijie/ultra-reasoning-effort
branch
from
June 24, 2026 00:33
f922892 to
21432e9
Compare
shijie-oai
force-pushed
the
shijie/derive-ma-mode-from-ultra
branch
from
June 24, 2026 00:33
b4dc539 to
f8efe5a
Compare
shijie-oai
force-pushed
the
shijie/ultra-reasoning-effort
branch
from
June 24, 2026 00:50
21432e9 to
adeac5e
Compare
shijie-oai
force-pushed
the
shijie/derive-ma-mode-from-ultra
branch
from
June 24, 2026 00:50
f8efe5a to
8419b8b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Once Ultra selects proactive delegation, keeping a second client-selected multi-agent mode creates competing sources of truth across thread start, turn overrides, settings updates, resume, fork, and subagent spawn. Deriving the effective mode from the turn makes the lifecycle deterministic and keeps persisted state limited to the model-visible baseline needed for context updates.
Stack
This PR is stacked on #29709 and contains only the effort-derived multi-agent mode behavior and selector cleanup.
What changed
proactivefor Ultra andexplicitRequestOnlyotherwise; V1 and ineligible sources remain without a mode instruction.multiAgentModefrom experimental app-server thread, turn, settings, resume, and fork contracts.TurnContextItemso incremental updates and cold resume can neutralize older instructions correctly.Compatibility
MultiAgentModeand the persistedTurnContextItem.multi_agent_modefield remain readable for existing rollouts. This intentionally removes the experimental client-facingmultiAgentModefields.Verification
maxand proactive instructions; changing to High sendshighand appends an explicit-only reset.maxwithout multi-agent mode instructions.maxwith proactive instructions.codex-app-server-protocolschema and serialization coverage.