fix: sessions radar — real codex IDs, codex projects, recency window, REPL filters#5
Merged
Merged
Conversation
… filters
- Codex session IDs were timestamp fragments: real rollout filenames embed
hyphenated timestamps, so the UUID is now matched from the END of the
stem (test fixtures updated to real formats — the unrealistic fixtures
were what hid the bug)
- Codex rows had no project: session_index.jsonl carries no cwd, so fall
back to reading the rollout's first line (session_meta payload)
- Ended sessions older than 7 days are hidden by default (--all / `all`
token to include; explicit --state ended also disables the window)
- Project filter matches the directory NAME ('bach'), not just full path
- Rows sorted newest-first
- REPL /sessions now accepts free-form filter tokens, e.g.
`/sessions bach running` or `/sessions codex all`
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Follow-up to #4, from first real-world use of the radar in the REPL.
Bugs
04-26T17-38-): the extractor assumed hyphen-less timestamps, but real rollout filenames arerollout-2026-06-09T00-19-05-<uuid>.jsonl. UUID now matched from the end of the stem. The test fixtures used invented filename formats — they've been rewritten to mirror real on-disk names, which is what let the bug ship.session_index.jsonlonly carries(id, thread_name, updated_at). Discovery now falls back to reading the rollout's first line (session_meta.payload.cwd) — O(1) per session.UX (from PRD #3 user story 12, previously unimplemented)
--all(CLI) /alltoken (REPL) or an explicit--state endedshows full history--project bach), not just the absolute path/sessionsaccepts free-form tokens:/sessions bach running,/sessions codex allNote: projects like
caul/MinionOSshowing no sessions is correct behavior — Claude Code prunes transcripts (~30 days) and those project dirs contain no.jsonlfiles anymore.Tests: 883 → 890 passing.
🤖 Generated with Claude Code