[#220]: Document Codex v0.147.0 sections as rollout-invisible - #227
Merged
Conversation
…220) Persistent thread sections (PRs #35722/#36007/#36380) and incremental transcript browsing (PRs #36948/#36950) never touch the rollout JSONL: sections are joined from local SQLite state at read time (the recorder's former is_pinned param was renamed to section and stays None at every rollout-facing call site), and the transcript-browsing PRs only touch codex-rs/tui. No parser change is needed; add regression tests locking in current v0.147.0 parsing behavior instead. Fixes #220
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Codex v0.147.0 added persistent, manually-ordered conversation "sections" (upstream PRs #35722, #36007, #36380) and incremental long-transcript browsing in the TUI (#36948, #36950). This checks whether either change affects how codex-trace parses
session_metafrom the rollout JSONL.Investigation
Verified directly against the real
openai/codexPRs and source (not assumed):codex-rs/rollout/src/recorder.rs's formeris_pinnedparameter was renamed tosectionacross PR #35722, but every rollout-facing call site still passesNonefor it — section data is joined from local SQLite state (codex-rs/state/migrations/0045_threads_section.sql,0046_threads_section_order.sql) at read time, not written to the rollout JSONL.SessionMeta/SessionMetaLinestructs incodex-rs/protocol/src/protocol.rshave nosection/section_positionfield, andcodex-rs/rollout/src/metadata.rs'sbuilder_from_session_metanever reads one.codex-rs/tui/*(pagination/rendering of already-loaded history) — neither touches therolloutcrate.Since neither sub-change reaches the rollout JSONL, no parser change is needed or possible — this matches the issue's own suggested fallback ("if sections turn out to be purely client-side state ... just document the gap as a known limitation").
Changes
src-tauri/src/parser/discover.rs: documented the above findings as a doc comment ondiscover_sessions, and added three regression tests:history_base_thread_idpagination marker still works on a v0.147.0 sessionsectionobject onsession_metais tolerated, not a panicTesting
cargo test --lib --manifest-path src-tauri/Cargo.toml— 363 passedcargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings— cleancargo fmt --manifest-path src-tauri/Cargo.toml -- --check— cleannpm test— 148 vitest + 366 cargo tests passednpx tsc --noEmit— cleannpx oxlint— clean (one pre-existing, unrelated warning inMarkdownRenderer.tsx, not touched by this change)npx oxfmt --check— cleanFixes #220