mirror of
https://github.com/openai/codex.git
synced 2026-11-14 21:40:39 +00:00
Resolve saved Daybreak choices for each subagent turn (#60773)
## Why A subagent can use a different model from its parent, with different supported access programs. Saved Daybreak choices need to resolve against the subagent's model and remain consistent throughout its turn, including compaction. ## What changed - Resolve saved choices before native subagent turns start, preserving explicit turn overrides and applying saved toggles on later turns. - Distinguish inherited parent programs from explicit child selections. Adapt inherited Daybreak Blue/Red selections to the child model while retaining the saved choice as the default for later turns and nested subagents. - Validate the account associated with automatic selections and reject incompatible saved choices before sending model requests, while retaining rejected user input in conversation history. - Require model changes to wait until the next turn when a saved Daybreak choice is present. ## Testing Add coverage for both multi-agent spawn versions, model-specific selection, automatic compaction, WebSocket response reuse, account changes, unsupported choices, and rejected-input persistence across resume. GitOrigin-RevId: 11971138d656600d9878187225e4d33217e68ad4
This commit is contained in:
@@ -1491,7 +1491,7 @@ impl Session {
|
||||
turn_context.cyber_access_program =
|
||||
cyber_access_program::for_provider(&turn_context.config, options.cyber_access_program);
|
||||
if let Some(admission) = options.helper_admission {
|
||||
admission.capture_intent(self, &turn_context).await;
|
||||
admission.capture_intent(self, &mut turn_context).await;
|
||||
}
|
||||
// Tool observers retain this turn's selection even after a later turn starts.
|
||||
if let Some(program) = turn_context.cyber_access_program {
|
||||
|
||||
Reference in New Issue
Block a user