mirror of
https://github.com/openai/codex.git
synced 2026-10-21 17:48:44 +00:00
## Why A live thread can have updated SQLite metadata before its rollout file exists. Reading metadata from the missing file loses creation details such as fork and parent relationships and triggers unnecessary filesystem discovery and retries. ## What changed - Read deferred `SessionMeta` through the rollout writer, ordered with persistence. Return no in-memory metadata once the rollout is materialized or resumed. - Combine that creation metadata with SQLite metadata for reads that exclude history, and use it to determine the canonical history mode during updates. - Keep untouched threads without a stored record unavailable for fork and resume. ## Testing Add coverage for metadata reads and updates before persistence in both legacy and paginated history modes, including equality with metadata read after persistence. Verify the recorder exposes creation metadata only while deferred, and expand fork/resume rejection tests across history modes and resume turn inclusion. GitOrigin-RevId: 8d293cc8f87156409f195130437d93858a4099b9