[codex] add non-local thread store regression harness (#19266)

- Add an integration test that guarantees nothing gets written to codex
home dir or sqlite when running a rollout with a non-local ThreadStore
- Add an in-memory "spy" ThreadStore for tests like this

Note I could not find a good way to also ensure there were no filesystem
_reads_ that didn't go through threadstore. I explored a more elaborate
sandboxed-subprocess approach but it isn't platform portable and felt
like it wasn't (yet) worth it.
This commit is contained in:
Tom authored and GitHub committed 2026-04-24 15:45:44 -07:00
1 parent 3c6e2638ac
commit 588f7a9fc4
10 files changed
+667 -15

No files matched your search

+6
View File
@@ -5,6 +5,8 @@
//! any other backing store.
mod error;
#[cfg(debug_assertions)]
mod in_memory;
mod live_thread;
mod local;
mod remote;
@@ -13,6 +15,10 @@ mod types;
pub use error::ThreadStoreError;
pub use error::ThreadStoreResult;
#[cfg(debug_assertions)]
pub use in_memory::InMemoryThreadStore;
#[cfg(debug_assertions)]
pub use in_memory::InMemoryThreadStoreCalls;
pub use live_thread::LiveThread;
pub use live_thread::LiveThreadInitGuard;
pub use local::LocalThreadStore;