From 3921a30d6b11218883e5bb81a48082095cf79b7c Mon Sep 17 00:00:00 2001 From: faizan-oai Date: Fri, 4 Sep 2026 21:03:30 +0000 Subject: [PATCH] Persist Daybreak preferences in thread metadata (#42854) ## Why Clients need a per-thread Daybreak toggle that survives restarts and can be restored on resume without changing the access program of an active or future turn. ## What changed - Add experimental `daybreakEnabled` support to `thread/metadata/update` and expose the saved value on thread responses. - Store the preference in SQLite, including for threads without a first turn, and preserve it through reads, resumes, reconciliation, and restarts. - Copy the preference when forking a thread while keeping subsequent updates independent. - Keep `daybreakEnabled` separate from the per-turn `cyberAccessProgram` field; app-server does not derive one from the other. ## Testing - Cover persistence across restarts, cold reads, reconciliation, and forks. - Verify metadata updates do not alter the access program of active or later turns. GitOrigin-RevId: bcf987a9fcd7b0ac8a88b1c8f0df06b33ed8ad6e --- .../analytics/src/analytics_client_tests.rs | 1 + codex-rs/analytics/src/client_tests.rs | 1 + .../app-server-exports-experimental.json.zst | Bin 151635 -> 151703 bytes .../src/protocol/common.rs | 2 + .../src/protocol/v2/tests.rs | 1 + .../src/protocol/v2/thread.rs | 6 + .../src/protocol/v2/thread_data.rs | 5 + codex-rs/app-server/README.md | 16 +- .../app-server/src/bespoke_event_handling.rs | 1 + .../request_processors/thread_processor.rs | 45 ++-- .../thread_processor_tests.rs | 1 + .../thread_resume_redaction.rs | 1 + .../src/request_processors/thread_summary.rs | 1 + .../tests/suite/v2/cyber_access_program.rs | 223 ++++++++++++++++-- .../app-server/tests/suite/v2/mcp_resource.rs | 3 + .../app-server/tests/suite/v2/projects.rs | 4 + .../tests/suite/v2/thread_metadata_update.rs | 8 + .../tests/suite/v2/thread_resume.rs | 1 + .../app-server/tests/suite/v2/turn_start.rs | 44 +++- codex-rs/core/src/realtime_context_tests.rs | 1 + codex-rs/core/tests/common/streaming_sse.rs | 6 + codex-rs/exec/src/lib_tests.rs | 2 + codex-rs/rollout/src/list.rs | 3 + codex-rs/rollout/src/recorder.rs | 3 + codex-rs/rollout/src/recorder_tests.rs | 3 + codex-rs/rollout/src/tests.rs | 11 + .../0054_threads_daybreak_enabled.sql | 1 + codex-rs/state/src/extract.rs | 1 + codex-rs/state/src/model/thread_metadata.rs | 12 + codex-rs/state/src/runtime/memories.rs | 2 + codex-rs/state/src/runtime/test_support.rs | 1 + codex-rs/state/src/runtime/threads.rs | 29 ++- codex-rs/thread-store/src/in_memory.rs | 1 + .../src/local/daybreak_metadata_tests.rs | 105 +++++++++ codex-rs/thread-store/src/local/helpers.rs | 1 + codex-rs/thread-store/src/local/mod.rs | 3 + .../thread-store/src/local/read_thread.rs | 8 + .../src/local/update_thread_metadata.rs | 27 ++- codex-rs/thread-store/src/types.rs | 9 + codex-rs/tui/src/app/agents_overview_tests.rs | 1 + codex-rs/tui/src/app/loaded_threads.rs | 1 + codex-rs/tui/src/app/tests.rs | 3 + .../app/tests/session_lifecycle_requests.rs | 1 + codex-rs/tui/src/app/tests/startup.rs | 1 + codex-rs/tui/src/app/thread_session_state.rs | 1 + codex-rs/tui/src/app_server_session.rs | 2 + codex-rs/tui/src/resume_picker.rs | 4 + 47 files changed, 555 insertions(+), 52 deletions(-) create mode 100644 codex-rs/state/migrations/0054_threads_daybreak_enabled.sql create mode 100644 codex-rs/thread-store/src/local/daybreak_metadata_tests.rs diff --git a/codex-rs/analytics/src/analytics_client_tests.rs b/codex-rs/analytics/src/analytics_client_tests.rs index 615a170563..5736abe3e6 100644 --- a/codex-rs/analytics/src/analytics_client_tests.rs +++ b/codex-rs/analytics/src/analytics_client_tests.rs @@ -254,6 +254,7 @@ fn sample_thread_with_metadata( section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: "openai".to_string(), model: None, diff --git a/codex-rs/analytics/src/client_tests.rs b/codex-rs/analytics/src/client_tests.rs index 9ea105a042..7797072415 100644 --- a/codex-rs/analytics/src/client_tests.rs +++ b/codex-rs/analytics/src/client_tests.rs @@ -601,6 +601,7 @@ fn sample_thread(thread_id: &str) -> Thread { section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: "openai".to_string(), model: None, diff --git a/codex-rs/app-server-protocol/schema/precomputed/app-server-exports-experimental.json.zst b/codex-rs/app-server-protocol/schema/precomputed/app-server-exports-experimental.json.zst index 438f59c437d258c5496dfdddd2465e8998babdfe..d0b24c940d46bac94112556bce945f15da5c1536 100644 GIT binary patch delta 121405 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
    sO!$tHE0kaOZXOBjhVS~Y9(Ke{mK+xDcZ$B+ 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 delta 121268 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 z�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 diff --git a/codex-rs/app-server-protocol/src/protocol/common.rs b/codex-rs/app-server-protocol/src/protocol/common.rs index c15b6dc71a..90cc6e308f 100644 --- a/codex-rs/app-server-protocol/src/protocol/common.rs +++ b/codex-rs/app-server-protocol/src/protocol/common.rs @@ -3158,6 +3158,7 @@ mod tests { agent_role: None, git_info: None, name: None, + daybreak_enabled: None, turns: Vec::new(), }, model: "gpt-5".to_string(), @@ -3219,6 +3220,7 @@ mod tests { "agentRole": null, "gitInfo": null, "name": null, + "daybreakEnabled": null, "turns": [] }, "model": "gpt-5", diff --git a/codex-rs/app-server-protocol/src/protocol/v2/tests.rs b/codex-rs/app-server-protocol/src/protocol/v2/tests.rs index 04078263f6..8aacd48a8f 100644 --- a/codex-rs/app-server-protocol/src/protocol/v2/tests.rs +++ b/codex-rs/app-server-protocol/src/protocol/v2/tests.rs @@ -312,6 +312,7 @@ fn thread_resume_response_round_trips_initial_turns_page() { agent_role: None, git_info: None, name: None, + daybreak_enabled: None, turns: Vec::new(), }, model: "gpt-5".to_string(), diff --git a/codex-rs/app-server-protocol/src/protocol/v2/thread.rs b/codex-rs/app-server-protocol/src/protocol/v2/thread.rs index dd2f73780b..28ca20f7b4 100644 --- a/codex-rs/app-server-protocol/src/protocol/v2/thread.rs +++ b/codex-rs/app-server-protocol/src/protocol/v2/thread.rs @@ -988,6 +988,12 @@ pub struct ThreadMetadataUpdateParams { /// provide a string to replace the stored value. #[ts(optional = nullable)] pub git_info: Option, + /// Save the client's Daybreak choice for this persistent thread. + /// Omitted or null leaves it unchanged. This does not select a turn's + /// `cyberAccessProgram` or grant access. + #[experimental("thread/metadata/update.daybreakEnabled")] + #[ts(optional = nullable)] + pub daybreak_enabled: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)] diff --git a/codex-rs/app-server-protocol/src/protocol/v2/thread_data.rs b/codex-rs/app-server-protocol/src/protocol/v2/thread_data.rs index 2bb3396526..fbc0b70471 100644 --- a/codex-rs/app-server-protocol/src/protocol/v2/thread_data.rs +++ b/codex-rs/app-server-protocol/src/protocol/v2/thread_data.rs @@ -283,6 +283,9 @@ pub struct Thread { pub git_info: Option, /// Optional user-facing thread title. pub name: Option, + /// Saved Daybreak choice, independent of turn execution. Null if unset. + #[experimental("thread.daybreakEnabled")] + pub daybreak_enabled: Option, /// Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` /// (when `includeTurns` is true) responses. /// For all other responses and notifications returning a Thread, @@ -330,6 +333,7 @@ struct ThreadCompatibility { agent_role: Option, git_info: Option, name: Option, + daybreak_enabled: Option, turns: Vec, } @@ -370,6 +374,7 @@ impl<'de> Deserialize<'de> for Thread { agent_role: thread.agent_role, git_info: thread.git_info, name: thread.name, + daybreak_enabled: thread.daybreak_enabled, turns: thread.turns, }) } diff --git a/codex-rs/app-server/README.md b/codex-rs/app-server/README.md index 7bd9b7a026..ddec1eb88d 100644 --- a/codex-rs/app-server/README.md +++ b/codex-rs/app-server/README.md @@ -196,7 +196,7 @@ Example with notification opt-out: - `thread/turns/list` — page through a stored thread’s turn history without resuming it; supports cursor-based pagination with `sortDirection`, `itemsView`, `nextCursor`, and `backwardsCursor`. - `thread/items/list` — page through persisted thread items without resuming the thread. Pass `turnId` to restrict results to one turn, or omit it to page items across the thread. The active thread store must support item pagination. - `thread/searchOccurrences` — experimental; find literal, case-insensitive matches in visible user messages and summary-selected final assistant messages within one paginated thread. -- `thread/metadata/update` — patch stored thread metadata in sqlite; supports updating persisted `gitInfo` fields and experimental `projectId`, then returns the refreshed `thread`. Omit `projectId` to preserve assignment and pass an empty string to clear it. +- `thread/metadata/update` — patch stored thread metadata in sqlite; supports updating persisted `gitInfo` fields, experimental `projectId`, and experimental `daybreakEnabled`, then returns the refreshed `thread`. Omit `projectId` to preserve assignment and pass an empty string to clear it. - `thread/section/move` — atomically move a thread into the section identified by `sectionId`, before another thread or at the end when `beforeThreadId` is `null`. Reordering within the same section preserves `sectionEnteredAt`; entering a different section resets it. Set `sectionId` to `null` to remove the thread from its section. Returns `{}` on success. - `thread/settings/update` — experimental; queue a partial update to a loaded thread’s next-turn settings without starting a turn or adding transcript items. Omitted fields leave settings unchanged; `serviceTier: null` clears the tier; deprecated `multiAgentMode` is ignored, while Ultra reasoning effort enables proactive multi-agent behavior; `sandboxPolicy` and `permissions` cannot be combined. Parent-owned Multi-Agent V2 subagents reject direct settings updates. Returns `{}` when the update is accepted and emits `thread/settings/updated` with the full effective settings only if they actually change. `turn/start` settings overrides emit the same notification when they change the stored settings. - `thread/memoryMode/set` — experimental; set a thread’s persisted memory eligibility to `"enabled"` or `"disabled"` for either a loaded thread or a stored rollout; returns `{}` on success. @@ -844,6 +844,18 @@ Use `thread/metadata/update` to patch sqlite-backed `gitInfo` without resuming a { "id": 29, "result": {} } ``` +Experimental `daybreakEnabled` saves the client's on/off preference through `thread/metadata/update`. Omitted or null leaves the preference unchanged. The sqlite-backed `Thread.daybreakEnabled` is the source of truth: thread read/start/resume/fork responses return the saved value, or null when unset. Updates are persisted before the response. Saving a preference works before the first turn and does not require resuming the thread. Ephemeral threads are unsupported. + +| Client action | Daybreak behavior | +| --- | --- | +| Create a task | Copy the client's default on/off preference with `thread/metadata/update` before sending its first turn. | +| Change the toggle | Save only that thread's preference through `thread/metadata/update`. An active turn keeps its original program. | +| Start a turn | Compute `cyberAccessProgram` from the thread's preference and selected model. Starting or steering a turn never changes the saved toggle. | +| Resume | Restore the saved preference, without applying the client's current default. | +| Fork | Copy the parent's preference; later changes to either thread are independent. | + +The saved preference controls the client's toggle; app-server does not derive a request program from it. `turn/start` has no `daybreakEnabled` field. + Experimental: use `thread/memoryMode/set` to change whether a thread remains eligible for future memory generation. ```json @@ -1055,7 +1067,7 @@ You can optionally specify config overrides on the new turn. If specified, these `serviceTierForTurn` overrides the tier only when the request starts a new turn, without changing the thread's saved tier. Use `"default"` for standard speed, or omit it (or pass `null`) to inherit the thread's tier. It is ignored when the request steers an active turn. The existing `serviceTier` field still changes the tier for subsequent turns, including when both fields are supplied. -Experimental `cyberAccessProgram` also applies only to the new turn. It accepts `standard`, `daybreakBlue`, or `daybreakRed`; omission preserves automatic backend behavior. For ChatGPT-authenticated requests through the built-in OpenAI provider, Codex sends the corresponding `standard`, `daybreak_blue`, or `daybreak_red` value in `access_programs.cyber` on Responses and remote-compaction requests. WebSocket `response.create` messages carry the choice per request, so changing it does not require reconnecting. The server still enforces workspace authorization and model restrictions. API-key and custom-provider requests omit this field. This field does not change the saved model or grant access. +Experimental `cyberAccessProgram` applies only to the new turn and does not change the saved Daybreak choice. It accepts `standard`, `daybreakBlue`, or `daybreakRed`; omission preserves automatic backend behavior, regardless of `daybreakEnabled`. For ChatGPT-authenticated requests through the built-in OpenAI provider, Codex sends the corresponding `standard`, `daybreak_blue`, or `daybreak_red` value in `access_programs.cyber` on Responses and remote-compaction requests. WebSocket `response.create` messages carry the choice per request, so changing it does not require reconnecting. The server still enforces workspace authorization and model restrictions. API-key and custom-provider requests omit this field. Neither field changes the saved model or grants access. Child agents use the invoking turn's choice when spawned or started on a new follow-up, including after a reload. Input delivered into an already-running child turn does not change that turn's choice. diff --git a/codex-rs/app-server/src/bespoke_event_handling.rs b/codex-rs/app-server/src/bespoke_event_handling.rs index 6a2a8434a2..92c595b7e1 100644 --- a/codex-rs/app-server/src/bespoke_event_handling.rs +++ b/codex-rs/app-server/src/bespoke_event_handling.rs @@ -2316,6 +2316,7 @@ mod tests { section_position: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, cwd: test_path_buf("/tmp").abs().into(), cli_version: "0.0.0".to_string(), source: SessionSource::Cli, diff --git a/codex-rs/app-server/src/request_processors/thread_processor.rs b/codex-rs/app-server/src/request_processors/thread_processor.rs index 1645275b29..3c00b8c0de 100644 --- a/codex-rs/app-server/src/request_processors/thread_processor.rs +++ b/codex-rs/app-server/src/request_processors/thread_processor.rs @@ -33,24 +33,18 @@ const THREAD_ROLLBACK_DEPRECATION_SUMMARY: &str = const PAGINATED_FULL_HISTORY_DEPRECATION_SUMMARY: &str = "Full-history hydration is deprecated for paginated threads; use `excludeTurns: true`, then page with `thread/turns/list` and `thread/items/list`."; const PAGINATED_THREAD_READ_DEPRECATION_SUMMARY: &str = "Full-history hydration is deprecated for paginated threads; omit `includeTurns` or set it to `false`, then page with `thread/turns/list` and `thread/items/list`."; -async fn stage_pending_project_metadata( +async fn stage_pending_thread_metadata( thread_manager: &ThreadManager, thread_store: &dyn ThreadStore, - project_id: Option<&str>, + patch: StoreThreadMetadataPatch, operation: &'static str, ) -> Result, JSONRPCErrorError> { - let Some(project_id) = project_id else { + if patch.is_empty() { return Ok(None); - }; + } let thread_id = thread_manager.reserve_thread_id(); thread_store - .stage_pending_thread_metadata( - thread_id, - StoreThreadMetadataPatch { - project_id: Some(Some(project_id.to_string())), - ..Default::default() - }, - ) + .stage_pending_thread_metadata(thread_id, patch) .await .map_err(|error| match error { ThreadStoreError::Unsupported { .. } => { @@ -62,7 +56,7 @@ async fn stage_pending_project_metadata( Ok(Some(thread_id)) } -async fn remove_pending_project_metadata( +async fn remove_pending_thread_metadata( thread_store: &dyn ThreadStore, thread_id: Option, ) { @@ -70,7 +64,7 @@ async fn remove_pending_project_metadata( return; }; if let Err(error) = thread_store.remove_pending_thread_metadata(thread_id).await { - warn!("failed to remove staged project metadata for {thread_id}: {error}"); + warn!("failed to remove staged thread metadata for {thread_id}: {error}"); } } @@ -1449,10 +1443,13 @@ impl ThreadRequestProcessor { let reserved_thread_id = if start_options.config.ephemeral { None } else { - stage_pending_project_metadata( + stage_pending_thread_metadata( listener_task_context.thread_manager.as_ref(), thread_store.as_ref(), - project_id.as_deref(), + StoreThreadMetadataPatch { + project_id: project_id.clone().map(Some), + ..Default::default() + }, "thread/start", ) .await? @@ -1493,7 +1490,7 @@ impl ThreadRequestProcessor { } = match new_thread { Ok(new_thread) => new_thread, Err(err) => { - remove_pending_project_metadata(thread_store.as_ref(), reserved_thread_id).await; + remove_pending_thread_metadata(thread_store.as_ref(), reserved_thread_id).await; return Err(match err.details() { CodexErrorDetails::InvalidRequest(message) => invalid_request(message.clone()), CodexErrorDetails::UnsupportedOperation(message) => { @@ -1884,6 +1881,7 @@ impl ThreadRequestProcessor { thread_id, project_id, git_info, + daybreak_enabled, } = params; let thread_uuid = ThreadId::from_string(&thread_id) .map_err(|err| invalid_request(format!("invalid thread id: {err}")))?; @@ -1906,7 +1904,7 @@ impl ThreadRequestProcessor { } } - if git_info.is_none() && project_id.is_none() { + if git_info.is_none() && project_id.is_none() && daybreak_enabled.is_none() { return Err(invalid_request( "thread metadata update must include at least one field", )); @@ -1984,6 +1982,7 @@ impl ThreadRequestProcessor { let patch = StoreThreadMetadataPatch { git_info, project_id: project_update.clone(), + daybreak_enabled, ..Default::default() }; let updated_thread = self @@ -5032,10 +5031,14 @@ impl ThreadRequestProcessor { let reserved_thread_id = if config.ephemeral { None } else { - stage_pending_project_metadata( + stage_pending_thread_metadata( self.thread_manager.as_ref(), self.thread_store.as_ref(), - inherited_project_id.as_deref(), + StoreThreadMetadataPatch { + project_id: inherited_project_id.clone().map(Some), + daybreak_enabled: source_thread.daybreak_enabled, + ..Default::default() + }, "thread/fork", ) .await? @@ -5077,7 +5080,7 @@ impl ThreadRequestProcessor { } = match new_thread { Ok(new_thread) => new_thread, Err(err) => { - remove_pending_project_metadata(self.thread_store.as_ref(), reserved_thread_id) + remove_pending_thread_metadata(self.thread_store.as_ref(), reserved_thread_id) .await; return Err(match err.details() { CodexErrorDetails::Io(_) | CodexErrorDetails::Json(_) => { @@ -6020,6 +6023,7 @@ pub(crate) fn thread_from_stored_thread( thread_source: thread.thread_source.map(Into::into), git_info, name: thread.name, + daybreak_enabled: thread.daybreak_enabled, turns: Vec::new(), }; (thread, history) @@ -6205,6 +6209,7 @@ fn build_thread_from_snapshot( thread_source: config_snapshot.thread_source.clone().map(Into::into), git_info: None, name: None, + daybreak_enabled: None, turns: Vec::new(), } } diff --git a/codex-rs/app-server/src/request_processors/thread_processor_tests.rs b/codex-rs/app-server/src/request_processors/thread_processor_tests.rs index 09b54ebdba..875306fdb4 100644 --- a/codex-rs/app-server/src/request_processors/thread_processor_tests.rs +++ b/codex-rs/app-server/src/request_processors/thread_processor_tests.rs @@ -478,6 +478,7 @@ mod thread_processor_behavior_tests { section_position: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, cwd: PathBuf::from("/tmp"), cli_version: "0.0.0".to_string(), source: SessionSource::Cli, diff --git a/codex-rs/app-server/src/request_processors/thread_resume_redaction.rs b/codex-rs/app-server/src/request_processors/thread_resume_redaction.rs index 2fe541da38..86fe94eb36 100644 --- a/codex-rs/app-server/src/request_processors/thread_resume_redaction.rs +++ b/codex-rs/app-server/src/request_processors/thread_resume_redaction.rs @@ -210,6 +210,7 @@ mod tests { section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: "mock_provider".to_string(), model: None, diff --git a/codex-rs/app-server/src/request_processors/thread_summary.rs b/codex-rs/app-server/src/request_processors/thread_summary.rs index 15bfb09506..75bf249c63 100644 --- a/codex-rs/app-server/src/request_processors/thread_summary.rs +++ b/codex-rs/app-server/src/request_processors/thread_summary.rs @@ -289,6 +289,7 @@ pub(crate) fn summary_to_thread( thread_source: None, git_info, name: None, + daybreak_enabled: None, turns: Vec::new(), } } diff --git a/codex-rs/app-server/tests/suite/v2/cyber_access_program.rs b/codex-rs/app-server/tests/suite/v2/cyber_access_program.rs index a894b1ad2e..b4ebe28600 100644 --- a/codex-rs/app-server/tests/suite/v2/cyber_access_program.rs +++ b/codex-rs/app-server/tests/suite/v2/cyber_access_program.rs @@ -2,7 +2,16 @@ use anyhow::Result; use app_test_support::ChatGptAuthFixture; use app_test_support::TestAppServer; use app_test_support::write_chatgpt_auth; +use codex_app_server_protocol::ClientRequest; use codex_app_server_protocol::CyberAccessProgram; +use codex_app_server_protocol::ThreadForkParams; +use codex_app_server_protocol::ThreadForkResponse; +use codex_app_server_protocol::ThreadMetadataUpdateParams; +use codex_app_server_protocol::ThreadMetadataUpdateResponse; +use codex_app_server_protocol::ThreadReadParams; +use codex_app_server_protocol::ThreadReadResponse; +use codex_app_server_protocol::ThreadResumeParams; +use codex_app_server_protocol::ThreadResumeResponse; use codex_app_server_protocol::ThreadStartParams; use codex_app_server_protocol::TurnStartParams; use codex_app_server_protocol::TurnStatus; @@ -11,8 +20,10 @@ use codex_login::AuthCredentialsStoreMode; use core_test_support::responses; use pretty_assertions::assert_eq; use serde_json::json; +use std::path::Path; use tempfile::TempDir; use wiremock::Mock; +use wiremock::MockServer; use wiremock::ResponseTemplate; use wiremock::matchers::header; use wiremock::matchers::method; @@ -22,11 +33,6 @@ use wiremock::matchers::path; async fn turn_start_forwards_explicit_cyber_access_program() -> Result<()> { core_test_support::skip_if_no_network!(Ok(())); let server = responses::start_mock_server().await; - Mock::given(method("GET")) - .and(path("/v1/responses")) - .respond_with(ResponseTemplate::new(426)) - .mount(&server) - .await; let programs = [ None, Some(CyberAccessProgram::DaybreakBlue), @@ -47,23 +53,7 @@ async fn turn_start_forwards_explicit_cyber_access_program() -> Result<()> { ) .await; let home = TempDir::new()?; - std::fs::write( - home.path().join("config.toml"), - format!( - "model = \"gpt-5.5\"\napproval_policy = \"never\"\nopenai_base_url = \"{}/v1\"\ncli_auth_credentials_store = \"file\"\n", - server.uri() - ), - )?; - write_chatgpt_auth( - home.path(), - ChatGptAuthFixture::new("chatgpt-test-token").plan_type("pro"), - AuthCredentialsStoreMode::File, - )?; - let mut app = TestAppServer::builder() - .with_codex_home(home.path()) - .without_managed_config() - .build_initialized() - .await?; + let mut app = start_chatgpt_app(home.path(), &server).await?; let thread = app.start_thread(ThreadStartParams::default()).await?.thread; for program in programs { let completed = app @@ -97,6 +87,170 @@ async fn turn_start_forwards_explicit_cyber_access_program() -> Result<()> { Ok(()) } +#[tokio::test] +async fn daybreak_thread_metadata_persists_independently_across_restart_and_fork() -> Result<()> { + core_test_support::skip_if_no_network!(Ok(())); + let server = responses::start_mock_server().await; + let requests = responses::mount_sse_sequence( + &server, + (0..4) + .map(|index| responses::sse(vec![responses::ev_completed(&format!("resp-{index}"))])) + .collect(), + ) + .await; + let home = TempDir::new()?; + let mut app = start_chatgpt_app(home.path(), &server).await?; + let first = app.start_thread(ThreadStartParams::default()).await?; + let second = app.start_thread(ThreadStartParams::default()).await?; + assert_eq!( + ( + first.thread.daybreak_enabled, + second.thread.daybreak_enabled + ), + (None, None) + ); + + for (thread_id, enabled) in [(&first.thread.id, true), (&second.thread.id, false)] { + let updated: ThreadMetadataUpdateResponse = app + .request(|request_id| ClientRequest::ThreadMetadataUpdate { + request_id, + params: ThreadMetadataUpdateParams { + thread_id: thread_id.clone(), + project_id: None, + git_info: None, + daybreak_enabled: Some(enabled), + }, + }) + .await?; + assert_eq!( + (updated.thread.id, updated.thread.daybreak_enabled), + (thread_id.clone(), Some(enabled)) + ); + } + // Leave the second thread empty to exercise metadata durability without a rollout. + let completed = app + .start_turn_and_wait_for_completion(TurnStartParams { + thread_id: first.thread.id.clone(), + input: vec![UserInput::Text { + text: "start this task".to_owned(), + text_elements: Vec::new(), + }], + ..Default::default() + }) + .await?; + assert_eq!(completed.turn.status, TurnStatus::Completed); + assert_eq!(requests.requests().len(), 1); + app.shutdown_gracefully().await?; + + let mut restarted = start_chatgpt_app(home.path(), &server).await?; + for (thread_id, enabled) in [(&first.thread.id, true), (&second.thread.id, false)] { + let read: ThreadReadResponse = restarted + .request(|request_id| ClientRequest::ThreadRead { + request_id, + params: ThreadReadParams { + thread_id: thread_id.clone(), + include_turns: false, + }, + }) + .await?; + assert_eq!( + (read.thread.id, read.thread.daybreak_enabled), + (thread_id.clone(), Some(enabled)) + ); + } + let resumed: ThreadResumeResponse = restarted + .request(|request_id| ClientRequest::ThreadResume { + request_id, + params: ThreadResumeParams { + thread_id: first.thread.id.clone(), + ..Default::default() + }, + }) + .await?; + assert_eq!(resumed.thread.daybreak_enabled, Some(true)); + let forked: ThreadForkResponse = restarted + .request(|request_id| ClientRequest::ThreadFork { + request_id, + params: ThreadForkParams { + thread_id: first.thread.id.clone(), + ..Default::default() + }, + }) + .await?; + assert_eq!(forked.thread.daybreak_enabled, Some(true)); + let updated: ThreadMetadataUpdateResponse = restarted + .request(|request_id| ClientRequest::ThreadMetadataUpdate { + request_id, + params: ThreadMetadataUpdateParams { + thread_id: first.thread.id.clone(), + project_id: None, + git_info: None, + daybreak_enabled: Some(false), + }, + }) + .await?; + assert_eq!( + (updated.thread.id, updated.thread.daybreak_enabled), + (first.thread.id.clone(), Some(false)) + ); + assert_eq!(requests.requests().len(), 1); + restarted.shutdown_gracefully().await?; + + let mut restarted = start_chatgpt_app(home.path(), &server).await?; + for (thread_id, program, enabled) in [ + (&forked.thread.id, Some(CyberAccessProgram::Standard), true), + (&forked.thread.id, None, true), + (&first.thread.id, None, false), + ] { + let resumed: ThreadResumeResponse = restarted + .request(|request_id| ClientRequest::ThreadResume { + request_id, + params: ThreadResumeParams { + thread_id: thread_id.clone(), + ..Default::default() + }, + }) + .await?; + assert_eq!(resumed.thread.daybreak_enabled, Some(enabled)); + let completed = restarted + .start_turn_and_wait_for_completion(TurnStartParams { + thread_id: thread_id.clone(), + cyber_access_program: program, + input: vec![UserInput::Text { + text: "hello".to_owned(), + text_elements: Vec::new(), + }], + ..Default::default() + }) + .await?; + assert_eq!(completed.turn.status, TurnStatus::Completed); + let resumed: ThreadResumeResponse = restarted + .request(|request_id| ClientRequest::ThreadResume { + request_id, + params: ThreadResumeParams { + thread_id: thread_id.clone(), + ..Default::default() + }, + }) + .await?; + assert_eq!(resumed.thread.daybreak_enabled, Some(enabled)); + } + assert_eq!( + requests + .requests() + .iter() + .map(|request| request.body_json()["access_programs"].clone()) + .collect::>(), + [ + json!(null), + json!({"cyber": "standard"}), + json!(null), + json!(null), + ] + ); + Ok(()) +} + #[tokio::test] async fn turn_start_forwards_cyber_access_program_with_personal_access_token() -> Result<()> { core_test_support::skip_if_no_network!(Ok(())); @@ -167,3 +321,28 @@ async fn turn_start_forwards_cyber_access_program_with_personal_access_token() - ); Ok(()) } + +async fn start_chatgpt_app(home: &Path, server: &MockServer) -> Result { + Mock::given(method("GET")) + .and(path("/v1/responses")) + .respond_with(ResponseTemplate::new(/*s*/ 426)) + .mount(server) + .await; + std::fs::write( + home.join("config.toml"), + format!( + "model = \"gpt-5.5\"\napproval_policy = \"never\"\nopenai_base_url = \"{}/v1\"\ncli_auth_credentials_store = \"file\"\n", + server.uri() + ), + )?; + write_chatgpt_auth( + home, + ChatGptAuthFixture::new("chatgpt-test-token").plan_type("pro"), + AuthCredentialsStoreMode::File, + )?; + TestAppServer::builder() + .with_codex_home(home) + .without_managed_config() + .build_initialized() + .await +} diff --git a/codex-rs/app-server/tests/suite/v2/mcp_resource.rs b/codex-rs/app-server/tests/suite/v2/mcp_resource.rs index c8574d1653..dc77bc4a9e 100644 --- a/codex-rs/app-server/tests/suite/v2/mcp_resource.rs +++ b/codex-rs/app-server/tests/suite/v2/mcp_resource.rs @@ -875,6 +875,7 @@ async fn metadata_and_mcp_requests_complete_while_unrelated_resume_loads_config( params: ThreadMetadataUpdateParams { thread_id: thread.id.clone(), project_id: None, + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: None, branch: Some(Some("feature/viewer".to_string())), @@ -1063,6 +1064,7 @@ async fn resume_revalidates_persisted_thread_after_config_load( params: ThreadMetadataUpdateParams { thread_id: thread_id.clone(), project_id: project_id.clone(), + daybreak_enabled: None, git_info: None, }, }) @@ -1087,6 +1089,7 @@ async fn resume_revalidates_persisted_thread_after_config_load( params: ThreadMetadataUpdateParams { thread_id: thread_id.clone(), project_id: project_id.clone(), + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: None, branch: Some(Some("feature/updated-during-resume".to_string())), diff --git a/codex-rs/app-server/tests/suite/v2/projects.rs b/codex-rs/app-server/tests/suite/v2/projects.rs index 78e66e4e6a..cb22954921 100644 --- a/codex-rs/app-server/tests/suite/v2/projects.rs +++ b/codex-rs/app-server/tests/suite/v2/projects.rs @@ -352,6 +352,7 @@ async fn projects_persist_and_assign_threads() -> Result<()> { params: ThreadMetadataUpdateParams { thread_id: started.thread.id.clone(), project_id: Some(String::new()), + daybreak_enabled: None, git_info: None, }, }) @@ -398,6 +399,7 @@ async fn projects_persist_and_assign_threads() -> Result<()> { params: ThreadMetadataUpdateParams { thread_id: started.thread.id.clone(), project_id: Some(created.project.id.clone()), + daybreak_enabled: None, git_info: None, }, }) @@ -446,6 +448,7 @@ async fn projects_persist_and_assign_threads() -> Result<()> { params: ThreadMetadataUpdateParams { thread_id: started.thread.id.clone(), project_id: Some(created.project.id.clone()), + daybreak_enabled: None, git_info: None, }, }) @@ -934,6 +937,7 @@ async fn projects_validate_filters_cursors_and_sqlite_less_assignment() -> Resul .send_thread_metadata_update_request(ThreadMetadataUpdateParams { thread_id: started.thread.id.clone(), project_id: Some(Uuid::now_v7().to_string()), + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: Some(Some("abc123".to_string())), branch: None, diff --git a/codex-rs/app-server/tests/suite/v2/thread_metadata_update.rs b/codex-rs/app-server/tests/suite/v2/thread_metadata_update.rs index a7bc33df5f..799b58d9f7 100644 --- a/codex-rs/app-server/tests/suite/v2/thread_metadata_update.rs +++ b/codex-rs/app-server/tests/suite/v2/thread_metadata_update.rs @@ -588,6 +588,7 @@ async fn thread_metadata_update_patches_git_branch_and_returns_updated_thread() .send_thread_metadata_update_request(ThreadMetadataUpdateParams { thread_id: thread.id.clone(), project_id: None, + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: None, branch: Some(Some("feature/sidebar-pr".to_string())), @@ -690,6 +691,7 @@ async fn thread_metadata_update_sanitizes_git_origin_before_persisting() -> Resu .send_thread_metadata_update_request(ThreadMetadataUpdateParams { thread_id: thread.id.clone(), project_id: None, + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: None, branch: None, @@ -771,6 +773,7 @@ async fn thread_metadata_update_rejects_empty_git_info_patch() -> Result<()> { .send_thread_metadata_update_request(ThreadMetadataUpdateParams { thread_id: thread.id, project_id: None, + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: None, branch: None, @@ -822,6 +825,7 @@ async fn thread_metadata_update_rejects_ephemeral_thread() -> Result<()> { .send_thread_metadata_update_request(ThreadMetadataUpdateParams { thread_id: thread.id.clone(), project_id: None, + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: None, branch: Some(Some("feature/ephemeral".to_string())), @@ -897,6 +901,7 @@ async fn thread_metadata_update_repairs_missing_sqlite_row_for_stored_thread() - .send_thread_metadata_update_request(ThreadMetadataUpdateParams { thread_id: thread_id.clone(), project_id: None, + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: None, branch: Some(Some("feature/stored-thread".to_string())), @@ -984,6 +989,7 @@ async fn thread_metadata_update_repairs_loaded_thread_without_resetting_summary( .send_thread_metadata_update_request(ThreadMetadataUpdateParams { thread_id: thread_id.clone(), project_id: None, + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: None, branch: Some(Some("feature/loaded-thread".to_string())), @@ -1056,6 +1062,7 @@ async fn thread_metadata_update_repairs_missing_sqlite_row_for_archived_thread() .send_thread_metadata_update_request(ThreadMetadataUpdateParams { thread_id: thread_id.clone(), project_id: None, + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: None, branch: Some(Some("feature/archived-thread".to_string())), @@ -1120,6 +1127,7 @@ async fn thread_metadata_update_can_clear_stored_git_fields() -> Result<()> { .send_thread_metadata_update_request(ThreadMetadataUpdateParams { thread_id: thread_id.clone(), project_id: None, + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: Some(None), branch: Some(None), diff --git a/codex-rs/app-server/tests/suite/v2/thread_resume.rs b/codex-rs/app-server/tests/suite/v2/thread_resume.rs index 54ffa3adc6..10fadc9e7f 100644 --- a/codex-rs/app-server/tests/suite/v2/thread_resume.rs +++ b/codex-rs/app-server/tests/suite/v2/thread_resume.rs @@ -4162,6 +4162,7 @@ async fn thread_resume_prefers_persisted_git_metadata_for_local_threads() -> Res .send_thread_metadata_update_request(ThreadMetadataUpdateParams { thread_id: thread_id.clone(), project_id: None, + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: None, branch: Some(Some("feature/pr-branch".to_string())), diff --git a/codex-rs/app-server/tests/suite/v2/turn_start.rs b/codex-rs/app-server/tests/suite/v2/turn_start.rs index a0e055bb5e..397276ab3c 100644 --- a/codex-rs/app-server/tests/suite/v2/turn_start.rs +++ b/codex-rs/app-server/tests/suite/v2/turn_start.rs @@ -1,5 +1,6 @@ use anyhow::Context; use anyhow::Result; +use app_test_support::ChatGptAuthFixture; use app_test_support::MockResponsesConfig; use app_test_support::TestAppServer; use app_test_support::create_apply_patch_sse_response; @@ -12,6 +13,7 @@ use app_test_support::create_mock_responses_server_sequence; use app_test_support::create_mock_responses_server_sequence_unchecked; use app_test_support::create_request_user_input_sse_response; use app_test_support::format_with_current_shell_display; +use app_test_support::write_chatgpt_auth; use app_test_support::write_mock_responses_config_toml_with_chatgpt_base_url; use app_test_support::write_models_cache; use codex_app_server::INPUT_TOO_LARGE_ERROR_CODE; @@ -27,6 +29,7 @@ use codex_app_server_protocol::CollabAgentToolCallStatus; use codex_app_server_protocol::CommandExecutionApprovalDecision; use codex_app_server_protocol::CommandExecutionRequestApprovalResponse; use codex_app_server_protocol::CommandExecutionStatus; +use codex_app_server_protocol::CyberAccessProgram; use codex_app_server_protocol::FileChangeApprovalDecision; use codex_app_server_protocol::FileChangePatchUpdatedNotification; use codex_app_server_protocol::FileChangeRequestApprovalResponse; @@ -50,6 +53,8 @@ use codex_app_server_protocol::ThreadInjectItemsParams; use codex_app_server_protocol::ThreadItem; use codex_app_server_protocol::ThreadLoadedListParams; use codex_app_server_protocol::ThreadLoadedListResponse; +use codex_app_server_protocol::ThreadMetadataUpdateParams; +use codex_app_server_protocol::ThreadMetadataUpdateResponse; use codex_app_server_protocol::ThreadSettingsUpdateParams; use codex_app_server_protocol::ThreadSettingsUpdatedNotification; use codex_app_server_protocol::ThreadShellCommandParams; @@ -70,6 +75,7 @@ use codex_app_server_protocol::WarningNotification; use codex_core::test_support::all_model_presets; use codex_exec_server::LOCAL_ENVIRONMENT_ID; use codex_features::Feature; +use codex_login::AuthCredentialsStoreMode; use codex_protocol::config_types::CollaborationMode; use codex_protocol::config_types::ModeKind; use codex_protocol::config_types::MultiAgentMode; @@ -440,9 +446,21 @@ async fn turn_start_steers_active_turn_and_returns_active_turn_id() -> Result<() ]) .await; let codex_home = TempDir::new()?; - MockResponsesConfig::new(server.uri()).write(codex_home.path())?; + std::fs::write( + codex_home.path().join("config.toml"), + format!( + "model = \"gpt-5.5\"\napproval_policy = \"never\"\nopenai_base_url = \"{}/v1\"\ncli_auth_credentials_store = \"file\"\n[features]\nenable_request_compression = false\n", + server.uri() + ), + )?; + write_chatgpt_auth( + codex_home.path(), + ChatGptAuthFixture::new("chatgpt-test-token").plan_type("pro"), + AuthCredentialsStoreMode::File, + )?; let mut mcp = TestAppServer::builder() .with_codex_home(codex_home.path()) + .without_managed_config() .build_initialized() .await?; @@ -463,6 +481,7 @@ async fn turn_start_steers_active_turn_and_returns_active_turn_id() -> Result<() text_elements: Vec::new(), }], turn_trigger: Some("user".to_string()), + cyber_access_program: Some(CyberAccessProgram::DaybreakBlue), ..Default::default() }, }) @@ -472,6 +491,27 @@ async fn turn_start_steers_active_turn_and_returns_active_turn_id() -> Result<() mcp.read_stream_until_notification_message("turn/started"), ) .await??; + timeout( + DEFAULT_READ_TIMEOUT, + server.wait_for_request_count(/*count*/ 1), + ) + .await?; + + let updated: ThreadMetadataUpdateResponse = mcp + .request(|request_id| ClientRequest::ThreadMetadataUpdate { + request_id, + params: ThreadMetadataUpdateParams { + thread_id: thread.id.clone(), + project_id: None, + git_info: None, + daybreak_enabled: Some(false), + }, + }) + .await?; + assert_eq!( + (updated.thread.id, updated.thread.daybreak_enabled), + (thread.id.clone(), Some(false)) + ); let TurnStartResponse { turn: steered_turn } = mcp .request(|request_id| ClientRequest::TurnStart { @@ -484,6 +524,7 @@ async fn turn_start_steers_active_turn_and_returns_active_turn_id() -> Result<() text_elements: Vec::new(), }], turn_trigger: Some("goal".to_string()), + cyber_access_program: Some(CyberAccessProgram::Standard), ..Default::default() }, }) @@ -503,6 +544,7 @@ async fn turn_start_steers_active_turn_and_returns_active_turn_id() -> Result<() assert_eq!(requests.len(), 2); for request in requests { let body: Value = serde_json::from_slice(&request)?; + assert_eq!(body["access_programs"], json!({"cyber": "daybreak_blue"})); let turn_metadata: Value = serde_json::from_str( body["client_metadata"]["x-codex-turn-metadata"] .as_str() diff --git a/codex-rs/core/src/realtime_context_tests.rs b/codex-rs/core/src/realtime_context_tests.rs index 0624239b4f..b1519e6c1e 100644 --- a/codex-rs/core/src/realtime_context_tests.rs +++ b/codex-rs/core/src/realtime_context_tests.rs @@ -54,6 +54,7 @@ fn stored_thread(cwd: &str, title: &str, first_user_message: &str) -> StoredThre .expect("valid timestamp"), archived_at: None, project_id: None, + daybreak_enabled: None, section: None, section_position: None, section_entered_at: None, diff --git a/codex-rs/core/tests/common/streaming_sse.rs b/codex-rs/core/tests/common/streaming_sse.rs index 3766bbd880..840761e347 100644 --- a/codex-rs/core/tests/common/streaming_sse.rs +++ b/codex-rs/core/tests/common/streaming_sse.rs @@ -52,6 +52,7 @@ impl StreamingSseServer { /// Starts a lightweight HTTP server that supports: /// - GET /v1/models -> empty models response +/// - GET /v1/responses -> 426 to select the HTTP fallback /// - POST /v1/responses -> SSE stream gated per-chunk, served in order /// /// Returns the server handle and a list of receivers that fire when each @@ -116,6 +117,11 @@ pub async fn start_streaming_sse_server( return; } + if method == "GET" && path == "/v1/responses" { + let _ = write_http_response(&mut stream, /*status*/ 426, "websockets unsupported", "text/plain").await; + return; + } + if method == "POST" && path == "/v1/responses" { let body = match read_request_body(&mut stream, &request, body_prefix) .await diff --git a/codex-rs/exec/src/lib_tests.rs b/codex-rs/exec/src/lib_tests.rs index ba273277f5..fb5b5891a3 100644 --- a/codex-rs/exec/src/lib_tests.rs +++ b/codex-rs/exec/src/lib_tests.rs @@ -362,6 +362,7 @@ fn turn_items_for_thread_returns_matching_turn_items() { section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: "openai".to_string(), model: None, @@ -855,6 +856,7 @@ fn sample_thread_start_response() -> ThreadStartResponse { section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: "openai".to_string(), model: None, diff --git a/codex-rs/rollout/src/list.rs b/codex-rs/rollout/src/list.rs index ffb1c7a5f2..280bb3c4d3 100644 --- a/codex-rs/rollout/src/list.rs +++ b/codex-rs/rollout/src/list.rs @@ -64,6 +64,8 @@ pub struct ThreadItem { pub section: Option, /// Canonical project assignment in SQLite-owned metadata. pub project_id: Option, + /// Saved Daybreak choice in SQLite-owned metadata, when available. + pub daybreak_enabled: Option, /// Working directory from session metadata. pub cwd: Option, /// Git branch from session metadata. @@ -848,6 +850,7 @@ async fn build_thread_item( preview, section: None, project_id: None, + daybreak_enabled: None, cwd, git_branch, git_sha, diff --git a/codex-rs/rollout/src/recorder.rs b/codex-rs/rollout/src/recorder.rs index dbbb356c18..0e41fc48da 100644 --- a/codex-rs/rollout/src/recorder.rs +++ b/codex-rs/rollout/src/recorder.rs @@ -1289,6 +1289,7 @@ fn fill_missing_thread_item_metadata(item: &mut ThreadItem, state_item: ThreadIt preview, section, project_id, + daybreak_enabled, cwd, git_branch, git_sha, @@ -1319,6 +1320,7 @@ fn fill_missing_thread_item_metadata(item: &mut ThreadItem, state_item: ThreadIt } item.section = section; item.project_id = project_id; + item.daybreak_enabled = daybreak_enabled; item.model = model; item.reasoning_effort = reasoning_effort; if item.cwd.is_none() { @@ -2036,6 +2038,7 @@ fn thread_item_from_state_metadata( preview: item.preview, section: item.section, project_id: item.project_id, + daybreak_enabled: item.daybreak_enabled, cwd: Some(item.cwd), git_branch: item.git_branch, git_sha: item.git_sha, diff --git a/codex-rs/rollout/src/recorder_tests.rs b/codex-rs/rollout/src/recorder_tests.rs index 936955a0dc..2b4d847ecf 100644 --- a/codex-rs/rollout/src/recorder_tests.rs +++ b/codex-rs/rollout/src/recorder_tests.rs @@ -1600,6 +1600,7 @@ fn fill_missing_thread_item_metadata_preserves_identity_and_prefers_state_git_fi first_user_message: Some("filesystem message".to_string()), preview: Some("filesystem preview".to_string()), project_id: None, + daybreak_enabled: None, section: None, cwd: None, git_branch: Some("filesystem-branch".to_string()), @@ -1628,6 +1629,7 @@ fn fill_missing_thread_item_metadata_preserves_identity_and_prefers_state_git_fi first_user_message: Some("state message".to_string()), preview: Some("state preview".to_string()), project_id: None, + daybreak_enabled: Some(true), section: Some(codex_state::ThreadSection { id: codex_state::PINNED_THREAD_SECTION_ID.to_string(), name: codex_state::PINNED_THREAD_SECTION_NAME.to_string(), @@ -1658,6 +1660,7 @@ fn fill_missing_thread_item_metadata_preserves_identity_and_prefers_state_git_fi assert_eq!(item.path, filesystem_path); assert_eq!(item.thread_id, Some(filesystem_thread_id)); + assert_eq!(item.daybreak_enabled, Some(true)); assert_eq!( item.section, Some(codex_state::ThreadSection { diff --git a/codex-rs/rollout/src/tests.rs b/codex-rs/rollout/src/tests.rs index af70da991a..4855915a25 100644 --- a/codex-rs/rollout/src/tests.rs +++ b/codex-rs/rollout/src/tests.rs @@ -725,6 +725,7 @@ async fn test_list_conversations_latest_first() { first_user_message: Some("Hello from user".to_string()), preview: Some("Hello from user".to_string()), project_id: None, + daybreak_enabled: None, section: None, cwd: Some(Path::new(".").to_path_buf()), git_branch: None, @@ -750,6 +751,7 @@ async fn test_list_conversations_latest_first() { first_user_message: Some("Hello from user".to_string()), preview: Some("Hello from user".to_string()), project_id: None, + daybreak_enabled: None, section: None, cwd: Some(Path::new(".").to_path_buf()), git_branch: None, @@ -775,6 +777,7 @@ async fn test_list_conversations_latest_first() { first_user_message: Some("Hello from user".to_string()), preview: Some("Hello from user".to_string()), project_id: None, + daybreak_enabled: None, section: None, cwd: Some(Path::new(".").to_path_buf()), git_branch: None, @@ -893,6 +896,7 @@ async fn test_pagination_cursor() { first_user_message: Some("Hello from user".to_string()), preview: Some("Hello from user".to_string()), project_id: None, + daybreak_enabled: None, section: None, cwd: Some(Path::new(".").to_path_buf()), git_branch: None, @@ -918,6 +922,7 @@ async fn test_pagination_cursor() { first_user_message: Some("Hello from user".to_string()), preview: Some("Hello from user".to_string()), project_id: None, + daybreak_enabled: None, section: None, cwd: Some(Path::new(".").to_path_buf()), git_branch: None, @@ -979,6 +984,7 @@ async fn test_pagination_cursor() { first_user_message: Some("Hello from user".to_string()), preview: Some("Hello from user".to_string()), project_id: None, + daybreak_enabled: None, section: None, cwd: Some(Path::new(".").to_path_buf()), git_branch: None, @@ -1004,6 +1010,7 @@ async fn test_pagination_cursor() { first_user_message: Some("Hello from user".to_string()), preview: Some("Hello from user".to_string()), project_id: None, + daybreak_enabled: None, section: None, cwd: Some(Path::new(".").to_path_buf()), git_branch: None, @@ -1057,6 +1064,7 @@ async fn test_pagination_cursor() { first_user_message: Some("Hello from user".to_string()), preview: Some("Hello from user".to_string()), project_id: None, + daybreak_enabled: None, section: None, cwd: Some(Path::new(".").to_path_buf()), git_branch: None, @@ -1235,6 +1243,7 @@ async fn test_get_thread_contents() { first_user_message: Some("Hello from user".to_string()), preview: Some("Hello from user".to_string()), project_id: None, + daybreak_enabled: None, section: None, cwd: Some(Path::new(".").to_path_buf()), git_branch: None, @@ -1641,6 +1650,7 @@ async fn test_timestamp_only_cursor_skips_same_second_filesystem_ties() { first_user_message: Some("Hello from user".to_string()), preview: Some("Hello from user".to_string()), project_id: None, + daybreak_enabled: None, section: None, cwd: Some(Path::new(".").to_path_buf()), git_branch: None, @@ -1666,6 +1676,7 @@ async fn test_timestamp_only_cursor_skips_same_second_filesystem_ties() { first_user_message: Some("Hello from user".to_string()), preview: Some("Hello from user".to_string()), project_id: None, + daybreak_enabled: None, section: None, cwd: Some(Path::new(".").to_path_buf()), git_branch: None, diff --git a/codex-rs/state/migrations/0054_threads_daybreak_enabled.sql b/codex-rs/state/migrations/0054_threads_daybreak_enabled.sql new file mode 100644 index 0000000000..085e9bb0b9 --- /dev/null +++ b/codex-rs/state/migrations/0054_threads_daybreak_enabled.sql @@ -0,0 +1 @@ +ALTER TABLE threads ADD COLUMN daybreak_enabled BOOLEAN; diff --git a/codex-rs/state/src/extract.rs b/codex-rs/state/src/extract.rs index e55e4c06d0..5f20565531 100644 --- a/codex-rs/state/src/extract.rs +++ b/codex-rs/state/src/extract.rs @@ -728,6 +728,7 @@ mod tests { section_position: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, git_sha: None, git_branch: None, git_origin_url: None, diff --git a/codex-rs/state/src/model/thread_metadata.rs b/codex-rs/state/src/model/thread_metadata.rs index b354c06ec7..418edb74a8 100644 --- a/codex-rs/state/src/model/thread_metadata.rs +++ b/codex-rs/state/src/model/thread_metadata.rs @@ -181,6 +181,8 @@ pub struct ThreadMetadata { pub section_entered_at: Option>, /// Canonical project assignment owned by app-server, if any. pub project_id: Option, + /// User-selected Daybreak preference, absent until explicitly set. + pub daybreak_enabled: Option, /// The git commit SHA, if known. pub git_sha: Option, /// The git branch name, if known. @@ -319,6 +321,7 @@ impl ThreadMetadataBuilder { section_position: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, git_sha: self.git_sha.clone(), git_branch: self.git_branch.clone(), git_origin_url: self.git_origin_url.clone(), @@ -448,6 +451,9 @@ impl ThreadMetadata { if self.project_id != other.project_id { diffs.push("project_id"); } + if self.daybreak_enabled != other.daybreak_enabled { + diffs.push("daybreak_enabled"); + } if self.git_sha != other.git_sha { diffs.push("git_sha"); } @@ -498,6 +504,7 @@ pub(crate) struct ThreadRow { section_position: Option, section_entered_at_ms: Option, project_id: Option, + daybreak_enabled: Option, git_sha: Option, git_branch: Option, git_origin_url: Option, @@ -537,6 +544,7 @@ impl ThreadRow { section_position: row.try_get("section_position")?, section_entered_at_ms: row.try_get("section_entered_at_ms")?, project_id: row.try_get("project_id")?, + daybreak_enabled: row.try_get("daybreak_enabled")?, git_sha: row.try_get("git_sha")?, git_branch: row.try_get("git_branch")?, git_origin_url: row.try_get("git_origin_url")?, @@ -580,6 +588,7 @@ impl TryFrom for ThreadMetadata { section_position, section_entered_at_ms, project_id, + daybreak_enabled, git_sha, git_branch, git_origin_url, @@ -638,6 +647,7 @@ impl TryFrom for ThreadMetadata { .map(epoch_millis_to_datetime) .transpose()?, project_id, + daybreak_enabled, git_sha, git_branch, git_origin_url: git_origin_url @@ -748,6 +758,7 @@ mod tests { section_position: None, section_entered_at_ms: None, project_id: None, + daybreak_enabled: None, git_sha: None, git_branch: None, git_origin_url: None, @@ -786,6 +797,7 @@ mod tests { section_position: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, git_sha: None, git_branch: None, git_origin_url: None, diff --git a/codex-rs/state/src/runtime/memories.rs b/codex-rs/state/src/runtime/memories.rs index b8a94f53e7..b282db92f3 100644 --- a/codex-rs/state/src/runtime/memories.rs +++ b/codex-rs/state/src/runtime/memories.rs @@ -210,6 +210,7 @@ SELECT threads.section_position, threads.section_entered_at_ms, threads.project_id, + threads.daybreak_enabled, threads.git_sha, threads.git_branch, threads.git_origin_url @@ -601,6 +602,7 @@ SELECT threads.section_position, threads.section_entered_at_ms, threads.project_id, + threads.daybreak_enabled, threads.git_sha, threads.git_branch, threads.git_origin_url diff --git a/codex-rs/state/src/runtime/test_support.rs b/codex-rs/state/src/runtime/test_support.rs index 1c530fdfda..b8c7679294 100644 --- a/codex-rs/state/src/runtime/test_support.rs +++ b/codex-rs/state/src/runtime/test_support.rs @@ -74,6 +74,7 @@ pub(super) fn test_thread_metadata( section_position: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, git_sha: None, git_branch: None, git_origin_url: None, diff --git a/codex-rs/state/src/runtime/threads.rs b/codex-rs/state/src/runtime/threads.rs index b6338706cc..99838ed644 100644 --- a/codex-rs/state/src/runtime/threads.rs +++ b/codex-rs/state/src/runtime/threads.rs @@ -49,6 +49,7 @@ SELECT threads.section_position, threads.section_entered_at_ms, threads.project_id, + threads.daybreak_enabled, threads.git_sha, threads.git_branch, threads.git_origin_url @@ -646,8 +647,9 @@ INSERT INTO threads ( git_branch, git_origin_url, memory_mode, - project_id -) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + project_id, + daybreak_enabled +) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO NOTHING "#, ) @@ -698,6 +700,7 @@ ON CONFLICT(id) DO NOTHING .bind(metadata.git_origin_url.as_deref()) .bind("enabled") .bind(metadata.project_id.as_deref()) + .bind(metadata.daybreak_enabled) .execute(self.pool.as_ref()) .await?; self.insert_thread_spawn_edge_from_source_if_absent(metadata.id, metadata.source.as_str()) @@ -705,6 +708,20 @@ ON CONFLICT(id) DO NOTHING Ok(result.rows_affected() > 0) } + /// Set the user preference without changing rollout-derived thread metadata. + pub async fn set_thread_daybreak_enabled( + &self, + thread_id: ThreadId, + daybreak_enabled: bool, + ) -> anyhow::Result { + let result = sqlx::query("UPDATE threads SET daybreak_enabled = ? WHERE id = ?") + .bind(daybreak_enabled) + .bind(thread_id.to_string()) + .execute(self.pool.as_ref()) + .await?; + Ok(result.rows_affected() > 0) + } + pub async fn set_thread_memory_mode( &self, thread_id: ThreadId, @@ -886,6 +903,7 @@ WHERE id = ? // Backfill/reconcile callers merge existing git info before upserting, but that // read/modify/write is not atomic. Preserve non-null SQLite git fields here so // an explicit metadata update cannot be lost if a stale rollout upsert lands later. + // Daybreak and project choices are insert-only here; explicit changes use their setters. sqlx::query( r#" INSERT INTO threads ( @@ -925,8 +943,9 @@ INSERT INTO threads ( git_branch, git_origin_url, memory_mode, - project_id -) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + project_id, + daybreak_enabled +) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET rollout_path = excluded.rollout_path, created_at = excluded.created_at, @@ -1011,6 +1030,7 @@ ON CONFLICT(id) DO UPDATE SET .bind(metadata.git_origin_url.as_deref()) .bind(creation_memory_mode.unwrap_or("enabled")) .bind(metadata.project_id.as_deref()) + .bind(metadata.daybreak_enabled) .execute(self.pool.as_ref()) .await?; self.insert_thread_spawn_edge_from_source_if_absent(metadata.id, metadata.source.as_str()) @@ -1312,6 +1332,7 @@ SELECT threads.section_position, threads.section_entered_at_ms, threads.project_id, + threads.daybreak_enabled, threads.git_sha, threads.git_branch, threads.git_origin_url diff --git a/codex-rs/thread-store/src/in_memory.rs b/codex-rs/thread-store/src/in_memory.rs index 7289cc28fe..ffc571043c 100644 --- a/codex-rs/thread-store/src/in_memory.rs +++ b/codex-rs/thread-store/src/in_memory.rs @@ -1078,6 +1078,7 @@ fn stored_thread_from_state( section_position: state.section_positions.get(&thread_id).copied(), section_entered_at: state.section_entered_at.get(&thread_id).copied(), project_id: None, + daybreak_enabled: metadata.and_then(|metadata| metadata.daybreak_enabled), cwd: metadata .and_then(|metadata| metadata.cwd.clone()) .unwrap_or_default(), diff --git a/codex-rs/thread-store/src/local/daybreak_metadata_tests.rs b/codex-rs/thread-store/src/local/daybreak_metadata_tests.rs new file mode 100644 index 0000000000..197398c0f8 --- /dev/null +++ b/codex-rs/thread-store/src/local/daybreak_metadata_tests.rs @@ -0,0 +1,105 @@ +//! Covers the saved Daybreak preference independently of transcript history. + +use codex_protocol::ThreadId; +use pretty_assertions::assert_eq; +use tempfile::TempDir; +use uuid::Uuid; + +use super::LocalThreadStore; +use super::test_support::test_config; +use super::test_support::write_session_file; +use crate::ReadThreadParams; +use crate::ThreadMetadataPatch; +use crate::ThreadStore; +use crate::ThreadStoreError; +use crate::UpdateThreadMetadataParams; + +#[tokio::test] +async fn daybreak_preference_survives_reconciliation_and_cold_reads() +-> Result<(), Box> { + let home = TempDir::new()?; + let config = test_config(home.path()); + let uuid = Uuid::new_v4(); + let thread_id = ThreadId::from_string(&uuid.to_string())?; + let rollout_path = write_session_file(home.path(), "2025-01-03T14-20-00", uuid)?; + let original_rollout = std::fs::read(&rollout_path)?; + let runtime = codex_state::StateRuntime::init( + config.sqlite.clone(), + config.default_model_provider_id.clone(), + ) + .await?; + let store = LocalThreadStore::new(config.clone(), Some(runtime.clone())); + for daybreak_enabled in [true, false] { + let updated = store + .update_thread_metadata(UpdateThreadMetadataParams { + thread_id, + patch: ThreadMetadataPatch { + daybreak_enabled: Some(daybreak_enabled), + ..Default::default() + }, + include_archived: false, + }) + .await? + .expect("updated thread"); + assert_eq!(updated.daybreak_enabled, Some(daybreak_enabled)); + } + let mut stale_metadata = runtime + .get_thread(thread_id) + .await? + .expect("saved metadata"); + stale_metadata.daybreak_enabled = Some(true); + runtime.upsert_thread(&stale_metadata).await?; + codex_rollout::state_db::reconcile_rollout( + Some(runtime.as_ref()), + &rollout_path, + &config.default_model_provider_id, + /*builder*/ None, + &[], + /*archived_only*/ None, + /*new_thread_memory_mode*/ None, + ) + .await; + drop(store); + drop(runtime); + + let runtime = codex_state::StateRuntime::init( + config.sqlite.clone(), + config.default_model_provider_id.clone(), + ) + .await?; + let store = LocalThreadStore::new(config, Some(runtime)); + for include_history in [false, true] { + let thread = store + .read_thread(ReadThreadParams { + thread_id, + include_archived: false, + include_history, + }) + .await?; + assert_eq!(thread.daybreak_enabled, Some(false)); + } + assert_eq!(std::fs::read(rollout_path)?, original_rollout); + Ok(()) +} + +#[tokio::test] +async fn daybreak_preference_requires_sqlite() -> Result<(), Box> { + let home = TempDir::new()?; + let uuid = Uuid::new_v4(); + let thread_id = ThreadId::from_string(&uuid.to_string())?; + write_session_file(home.path(), "2025-01-03T14-20-00", uuid)?; + let store = LocalThreadStore::new(test_config(home.path()), /*state_db*/ None); + + let result = store + .update_thread_metadata(UpdateThreadMetadataParams { + thread_id, + patch: ThreadMetadataPatch { + daybreak_enabled: Some(false), + ..Default::default() + }, + include_archived: false, + }) + .await; + assert!(matches!(result, Err(ThreadStoreError::Internal { .. }))); + Ok(()) +} diff --git a/codex-rs/thread-store/src/local/helpers.rs b/codex-rs/thread-store/src/local/helpers.rs index f15081a433..86fc9b9fd4 100644 --- a/codex-rs/thread-store/src/local/helpers.rs +++ b/codex-rs/thread-store/src/local/helpers.rs @@ -174,6 +174,7 @@ pub(super) fn stored_thread_from_rollout_item( section_position: None, section_entered_at: None, project_id: item.project_id, + daybreak_enabled: item.daybreak_enabled, cwd: item.cwd.unwrap_or_default(), cli_version: item.cli_version.unwrap_or_default(), originator: item.originator, diff --git a/codex-rs/thread-store/src/local/mod.rs b/codex-rs/thread-store/src/local/mod.rs index 34576f7fe5..7d1e65edd3 100644 --- a/codex-rs/thread-store/src/local/mod.rs +++ b/codex-rs/thread-store/src/local/mod.rs @@ -24,6 +24,9 @@ mod unarchive_thread; mod update_thread_metadata; mod writer_lock; +#[cfg(test)] +#[path = "daybreak_metadata_tests.rs"] +mod daybreak_metadata_tests; #[cfg(test)] #[path = "pending_thread_metadata_tests.rs"] mod pending_thread_metadata_tests; diff --git a/codex-rs/thread-store/src/local/read_thread.rs b/codex-rs/thread-store/src/local/read_thread.rs index 45d0e39580..a14dcd8c52 100644 --- a/codex-rs/thread-store/src/local/read_thread.rs +++ b/codex-rs/thread-store/src/local/read_thread.rs @@ -36,6 +36,9 @@ pub(super) async fn read_thread( let persisted_model_settings = sqlite_metadata .as_ref() .map(|metadata| (metadata.model.clone(), metadata.reasoning_effort.clone())); + let daybreak_enabled = sqlite_metadata + .as_ref() + .and_then(|metadata| metadata.daybreak_enabled); if let Some(metadata) = sqlite_metadata && (params.include_archived || (metadata.archived_at.is_none() @@ -70,6 +73,7 @@ pub(super) async fn read_thread( rollout_thread.name = thread.name; } rollout_thread.project_id = thread.project_id; + rollout_thread.daybreak_enabled = thread.daybreak_enabled; rollout_thread.model = thread.model; rollout_thread.reasoning_effort = thread.reasoning_effort; rollout_thread.git_info = thread.git_info; @@ -97,6 +101,7 @@ pub(super) async fn read_thread( })?; let mut thread = read_thread_from_rollout_path(store, path).await?; + thread.daybreak_enabled = daybreak_enabled; if let Some((model, reasoning_effort)) = persisted_model_settings { thread.model = model; thread.reasoning_effort = reasoning_effort; @@ -151,6 +156,7 @@ pub(super) async fn read_thread_by_rollout_path( thread.section_position = metadata.section_position; thread.section_entered_at = metadata.section_entered_at; thread.project_id = metadata.project_id; + thread.daybreak_enabled = metadata.daybreak_enabled; thread.model = metadata.model; thread.reasoning_effort = metadata.reasoning_effort; if !metadata.cwd.as_os_str().is_empty() @@ -400,6 +406,7 @@ pub(super) fn stored_thread_from_state_metadata( section_position: metadata.section_position, section_entered_at: metadata.section_entered_at, project_id: metadata.project_id, + daybreak_enabled: metadata.daybreak_enabled, cwd: metadata.cwd, cli_version: metadata.cli_version, originator: metadata.originator, @@ -500,6 +507,7 @@ fn stored_thread_from_meta_line( section_position: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, cwd: meta_line.meta.cwd, cli_version: meta_line.meta.cli_version, originator: (!meta_line.meta.originator.is_empty()).then_some(meta_line.meta.originator), diff --git a/codex-rs/thread-store/src/local/update_thread_metadata.rs b/codex-rs/thread-store/src/local/update_thread_metadata.rs index 7f6df3b40c..f1ac8a1a58 100644 --- a/codex-rs/thread-store/src/local/update_thread_metadata.rs +++ b/codex-rs/thread-store/src/local/update_thread_metadata.rs @@ -451,6 +451,9 @@ async fn apply_metadata_update( if let Some(project_id) = project_id.as_ref() { metadata.project_id = project_id.clone(); } + if let Some(daybreak_enabled) = patch.daybreak_enabled { + metadata.daybreak_enabled = Some(daybreak_enabled); + } let upsert_result = state_db.upsert_thread(&metadata).await; if existing.is_none() && metadata.project_id.is_some() @@ -540,6 +543,22 @@ async fn apply_metadata_update( message: format!("failed to update memory mode for {thread_id}: {err}"), })?; } + if let Some(daybreak_enabled) = patch.daybreak_enabled + && !state_db + .set_thread_daybreak_enabled(thread_id, daybreak_enabled) + .await + .map_err(|err| ThreadStoreError::Internal { + message: format!( + "failed to update Daybreak preference for {thread_id}: {err}" + ), + })? + { + return Err(ThreadStoreError::Internal { + message: format!( + "thread metadata unavailable before Daybreak update: {thread_id}" + ), + }); + } Ok(()) } .await @@ -655,9 +674,11 @@ fn sqlite_write_failure_should_block(patch: &ThreadMetadataPatch) -> bool { // transcript-derived metadata, thread names, and memory-mode indexing were log-only. Keep that // failure isolation so a corrupted optional state DB does not make JSONL transcript durability // look broken. Explicit git-only updates still require SQLite because partial git patches need - // the existing SQLite value to preserve unspecified fields. Project updates always require - // SQLite because assignment only exists in the state database. - patch.project_id.is_some() || (patch.git_info.is_some() && !has_observed_metadata_facts(patch)) + // the existing SQLite value to preserve unspecified fields. Project and Daybreak updates + // require SQLite because those preferences only exist in the state database. + patch.project_id.is_some() + || patch.daybreak_enabled.is_some() + || (patch.git_info.is_some() && !has_observed_metadata_facts(patch)) } fn sqlite_write_error_is_best_effort(err: &ThreadStoreError) -> bool { diff --git a/codex-rs/thread-store/src/types.rs b/codex-rs/thread-store/src/types.rs index be6b8db441..8ada9a5a34 100644 --- a/codex-rs/thread-store/src/types.rs +++ b/codex-rs/thread-store/src/types.rs @@ -611,6 +611,9 @@ pub struct StoredThread { /// Canonical project assignment owned by app-server, if any. #[serde(default)] pub project_id: Option, + /// User-selected Daybreak preference, absent until explicitly set. + #[serde(default)] + pub daybreak_enabled: Option, /// Working directory captured for the thread. pub cwd: PathBuf, /// CLI version captured for the thread. @@ -780,6 +783,8 @@ pub struct ThreadMetadataPatch { with = "optional_option" )] pub project_id: ClearableField, + /// User-selected Daybreak preference; omission leaves it unchanged. + pub daybreak_enabled: Option, } impl ThreadMetadataPatch { @@ -866,6 +871,9 @@ impl ThreadMetadataPatch { if next.project_id.is_some() { self.project_id = next.project_id; } + if next.daybreak_enabled.is_some() { + self.daybreak_enabled = next.daybreak_enabled; + } } pub fn is_empty(&self) -> bool { @@ -894,6 +902,7 @@ impl ThreadMetadataPatch { && self.git_info.is_none() && self.memory_mode.is_none() && self.project_id.is_none() + && self.daybreak_enabled.is_none() } } diff --git a/codex-rs/tui/src/app/agents_overview_tests.rs b/codex-rs/tui/src/app/agents_overview_tests.rs index 38559964bb..52d2f9fffe 100644 --- a/codex-rs/tui/src/app/agents_overview_tests.rs +++ b/codex-rs/tui/src/app/agents_overview_tests.rs @@ -232,6 +232,7 @@ fn overview_thread( id: thread_id.to_string(), extra: None, project_id: None, + daybreak_enabled: None, session_id: parent_thread_id.unwrap_or(thread_id).to_string(), forked_from_id: None, parent_thread_id: None, diff --git a/codex-rs/tui/src/app/loaded_threads.rs b/codex-rs/tui/src/app/loaded_threads.rs index 2027af2aad..57c9c6b336 100644 --- a/codex-rs/tui/src/app/loaded_threads.rs +++ b/codex-rs/tui/src/app/loaded_threads.rs @@ -147,6 +147,7 @@ mod tests { section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: "openai".to_string(), model: None, diff --git a/codex-rs/tui/src/app/tests.rs b/codex-rs/tui/src/app/tests.rs index 8eae20f130..520618637a 100644 --- a/codex-rs/tui/src/app/tests.rs +++ b/codex-rs/tui/src/app/tests.rs @@ -4078,6 +4078,7 @@ async fn inactive_thread_started_notification_initializes_replay_session() -> Re section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: "agent-provider".to_string(), model: None, @@ -4181,6 +4182,7 @@ async fn inactive_thread_started_notification_preserves_primary_model_when_path_ section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: "agent-provider".to_string(), model: None, @@ -4251,6 +4253,7 @@ async fn thread_read_session_state_does_not_reuse_primary_permission_profile() { section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: "read-provider".to_string(), model: None, diff --git a/codex-rs/tui/src/app/tests/session_lifecycle_requests.rs b/codex-rs/tui/src/app/tests/session_lifecycle_requests.rs index 91046dfc3d..50352de947 100644 --- a/codex-rs/tui/src/app/tests/session_lifecycle_requests.rs +++ b/codex-rs/tui/src/app/tests/session_lifecycle_requests.rs @@ -1311,6 +1311,7 @@ async fn dynamic_tool_requests_ignore_other_namespaces_and_dispatch_tui_namespac params: codex_app_server_protocol::ThreadMetadataUpdateParams { thread_id: creation_source.to_string(), project_id: Some(project.project.id.clone()), + daybreak_enabled: None, git_info: None, }, }) diff --git a/codex-rs/tui/src/app/tests/startup.rs b/codex-rs/tui/src/app/tests/startup.rs index 1c1880da91..85d91fc7df 100644 --- a/codex-rs/tui/src/app/tests/startup.rs +++ b/codex-rs/tui/src/app/tests/startup.rs @@ -945,6 +945,7 @@ async fn known_thread_started_preserves_session_without_reading_unmaterialized_r section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: "notification-provider".to_string(), model: None, diff --git a/codex-rs/tui/src/app/thread_session_state.rs b/codex-rs/tui/src/app/thread_session_state.rs index db14af47a6..a7bec92334 100644 --- a/codex-rs/tui/src/app/thread_session_state.rs +++ b/codex-rs/tui/src/app/thread_session_state.rs @@ -422,6 +422,7 @@ mod tests { section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: "read-provider".to_string(), model: None, diff --git a/codex-rs/tui/src/app_server_session.rs b/codex-rs/tui/src/app_server_session.rs index c38e085d1d..b8246394fc 100644 --- a/codex-rs/tui/src/app_server_session.rs +++ b/codex-rs/tui/src/app_server_session.rs @@ -1172,6 +1172,7 @@ impl AppServerSession { params: ThreadMetadataUpdateParams { thread_id: thread_id.to_string(), project_id: None, + daybreak_enabled: None, git_info: Some(ThreadMetadataGitInfoUpdateParams { sha: None, branch: Some(Some(branch)), @@ -3748,6 +3749,7 @@ mod tests { section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: "openai".to_string(), model: None, diff --git a/codex-rs/tui/src/resume_picker.rs b/codex-rs/tui/src/resume_picker.rs index 255998ff66..81465b4165 100644 --- a/codex-rs/tui/src/resume_picker.rs +++ b/codex-rs/tui/src/resume_picker.rs @@ -6287,6 +6287,7 @@ session_picker_view = "dense" section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: String::from("openai"), model: None, @@ -6333,6 +6334,7 @@ session_picker_view = "dense" section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: String::from("openai"), model: None, @@ -6419,6 +6421,7 @@ session_picker_view = "dense" section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: String::from("openai"), model: None, @@ -6496,6 +6499,7 @@ session_picker_view = "dense" section: None, section_entered_at: None, project_id: None, + daybreak_enabled: None, history_mode: Default::default(), model_provider: String::from("openai"), model: None,