codex: move unloaded thread writes into store (#18361)

- Migrates unloaded `thread/name/set` and `thread/memoryModeSet`
app-server writes behind the generic
`ThreadStore::update_thread_metadata` API rather than adding one-off
store methods for setting thread name or memory mode.
- Implements the local ThreadStore metadata patch path for thread name
and memory mode, including rollout append, legacy name index updates,
SessionMeta validation/update, SQLite reconciliation, and re-reading the
stored thread.
- Adds focused local thread-store unit coverage plus app-server
integration coverage for the migrated unloaded write paths.
This commit is contained in:
Tom authored and GitHub committed 2026-04-20 09:50:01 -07:00
1 parent 0dc503ba6e
commit ac7c9a685f
7 files changed
+458 -135

No files matched your search

-4
View File
@@ -7,7 +7,6 @@ use crate::ListThreadsParams;
use crate::LoadThreadHistoryParams;
use crate::ReadThreadParams;
use crate::ResumeThreadRecorderParams;
use crate::SetThreadNameParams;
use crate::StoredThread;
use crate::StoredThreadHistory;
use crate::ThreadPage;
@@ -45,9 +44,6 @@ pub trait ThreadStore: Send + Sync {
/// Lists stored threads matching the supplied filters.
async fn list_threads(&self, params: ListThreadsParams) -> ThreadStoreResult<ThreadPage>;
/// Sets a user-facing thread name.
async fn set_thread_name(&self, params: SetThreadNameParams) -> ThreadStoreResult<()>;
/// Applies a mutable metadata patch and returns the updated thread.
async fn update_thread_metadata(
&self,