From 12cda586f92f418f8089d6b9c98c6f822e26f8f5 Mon Sep 17 00:00:00 2001
From: Zack Jackson <25274700+ScriptedAlchemy@users.noreply.github.com>
Date: Sun, 8 Nov 2026 04:25:28 -0800
Subject: [PATCH 1/9] perf(sessions): avoid extra scans of settled Codex
buckets
---
.../src/runtime/hosts/codex.rs | 22 ++++++++++---
.../src/runtime/hosts/codex/tests.rs | 31 ++++++++++++++++++-
2 files changed, 48 insertions(+), 5 deletions(-)
diff --git a/crates/tracedecay-sessions/src/runtime/hosts/codex.rs b/crates/tracedecay-sessions/src/runtime/hosts/codex.rs
index c75fba704f2..ad0edc58859 100644
--- a/crates/tracedecay-sessions/src/runtime/hosts/codex.rs
+++ b/crates/tracedecay-sessions/src/runtime/hosts/codex.rs
@@ -1056,7 +1056,7 @@ struct CodexDirectoryResume {
#[derive(Clone, Copy)]
struct CodexDirectoryWitness {
stat: [u8; 32],
- entries: [u8; 32],
+ entries: Option<[u8; 32]>,
}
#[derive(Clone)]
@@ -2578,11 +2578,18 @@ fn codex_directory_changed(
let Some(stored) = stored else {
return Ok(true);
};
- // An unsettled stat proves nothing either way; the entry names do.
+ // A settled stat is sufficient to test unchanged history without
+ // rescanning every entry in its directory merely to retain a witness.
if current.settled {
return Ok(current.stat != stored.stat);
}
- Ok(directory_entry_fingerprint(path)? != stored.entries)
+ // An older settled directory did not need an entry-name witness.
+ // If its stat becomes unsettled, conservatively revalidate it rather
+ // than assuming that newly added rollouts were already discovered.
+ let Some(entries) = stored.entries else {
+ return Ok(true);
+ };
+ Ok(directory_entry_fingerprint(path)? != entries)
}
fn codex_directory_witness(path: &Path) -> TranscriptIngestResult