fix(tui): show Codex thread labels - #253
All three earlier findings are fixed in this revision. The per-session Codex lab
All three earlier findings are fixed in this revision. The per-session Codex label poller (spawn_codex_label_poller) now exists in labels.rs, is wired from open.rs for Codex sessions, and is exercised end-to-end by e2e_codex_rename.rs, which renames after the executor's one-shot read has passed and proves the poller is the sole remaining reader. The empty-OSC-title behaviour change is now covered by the rewritten an_empty_terminal_title_preserves_the_last_non_empty_thread_name test, which waits for the empty title's marker to appear on screen before asserting the name survives. The duplicate-id agreement between single and batch reads is covered by codex_thread_label_and_index_map_agree_on_duplicate_ids, which asserts both paths return the last record. The new session_files_for_cwd function is tested through codex_thread_label_for_cwd_finds_the_newest_rollout_in_the_folder (single candidate) and codex_thread_label_for_cwd_needs_an_unambiguous_folder (multiple candidates decline). The now_millis().max(0) guard against wall-clock backward steps in turn.rs is correct — saturating_sub on i64 does not floor at zero, so a negative delta would wrap to a huge u64 without it. No new blocking concerns. The code index is behind this pull request (indexed at 682126fd3751), so retrieved context may be out of date.
No findings.
Fixed since the last review
- Per-session timer poller for Codex thread names is unmentioned
- Empty OSC title behavior change is unmentioned
- Use the same winning record for duplicate Codex index ids in single and batch