[codex] Compress cold active rollouts (#28338)

## Why

The local rollout compression worker currently scans only
`archived_sessions`, so cold unarchived thread history remains expanded
indefinitely.

## What changed

- Scan `sessions` after `archived_sessions` within the existing worker
runtime budget.
- Update rollout compression coverage to require both cold active and
archived rollouts to be compressed while fresh active rollouts remain
plain.

The worker remains behind the disabled-by-default
`local_thread_store_compression` feature, and the existing seven-day
cold-file threshold is unchanged.

## Validation

- `just test -p codex-rollout` (69 passed)
- `just fmt`
- `git diff --check`
This commit is contained in:
jif authored and GitHub committed 2026-06-16 10:52:21 +02:00
1 parent 12aaeb7bf8
commit 352d2fed1f
2 files changed
+11 -6

No files matched your search

+3 -3
View File
@@ -130,7 +130,7 @@ async fn search_rollout_matches_uses_logical_path_for_compressed_rollout() -> an
}
#[tokio::test]
async fn worker_compresses_old_archived_rollouts_only() -> anyhow::Result<()> {
async fn worker_compresses_old_active_and_archived_rollouts() -> anyhow::Result<()> {
let home = TempDir::new()?;
let active_uuid = Uuid::from_u128(3);
let active_id = ThreadId::from_string(&active_uuid.to_string())?;
@@ -158,8 +158,8 @@ async fn worker_compresses_old_archived_rollouts_only() -> anyhow::Result<()> {
worker::run(home.path().to_path_buf()).await?;
assert!(active_path.exists());
assert!(!compressed_rollout_path(&active_path).exists());
assert!(!active_path.exists());
assert!(compressed_rollout_path(&active_path).exists());
assert!(!archived_path.exists());
assert!(compressed_rollout_path(&archived_path).exists());
assert!(fresh_path.exists());