Repository navigation
Conversation
Overlay Codex thread names from session_index.jsonl and state_<n>.sqlite threads.title, rank sessions by cost/tokens/activity/id, show the top 8 with expand to 50, and mask names with the short session id under Hide personal information.
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Thermo-nuclear reviewReviewed by Codex gpt-6-luna (xhigh); verified and validated by Claude
|
|
Fixes landed at 52c4219 ("Address thermo review"). All four findings above are fixed; none left open. Claude also removed a now-unneeded Commands run (Rust 1.98.0, E-core wrappers): |
CUA proofBuild commit: Proof-only patches (never committed, restored after build): root Data path: the real Surface:
Minor observation (not a failure): the rank column is not fixed width, so titles for Screenshots (local, not committed), in Commands: |
Adversarial validation (lane-B review)Head validated: Verdict: no blocking defects. All spec points verified in the source at head:
Validation re-run at head (pinned 1.98.0, E-cores): UI proof: waived per user 2026-10-02 directive (fast-track); component tests + build cover the rendering. |
UI proof (browser-use)Combined build of
Every surface also passed the privacy check (no email-like text, account e-mail nodes or profile paths in the DOM) and theme Validation at |
…ons in Usage & Spend Conflict in UsageSpendTab.tsx imports only: the release CostPeriodControl import and the ProjectConversations import are both kept. The ranked, named conversation list renders inside the release period-aware Projects panel; the native spend contract passes snapshot.sessions through, so the backend ranking reaches the UI unchanged. The CLI session listing now uses the shared codex_workspaces short-id helper.
Summary
Codex sessions in Usage & Spend are now named from local Codex thread metadata and ranked by cost.
session_index.jsonlin the Codex home (one{"id","thread_name"}per line; blank names ignored, lines over 64 KiB skipped, latest line wins), then fromthreads.titlein the neweststate_<n>.sqlite(read-only, 100 ms busy timeout,SELECT title FROM threads WHERE id = ?1 LIMIT 1).sqlite_homein<CODEX_HOME>/config.toml(first 256 KiB only, top-level key only, project config never used), thenCODEX_SQLITE_HOME(absolute, or relative to the rollout's original working directory), then the Codex home.Session <short id>.Upstream reference
steipete/CodexBar v0.68.0, PR steipete#4020. Tag-pinned files read:
CodexThreadMetadataReader.swift,CostUsageFetcher.swift,SpendDashboardModel.swift,CostHistoryIdentity.swift,CostHistoryChartMenuView.swift,SpendDashboardSessionRowTests.swift.Ported / Deferred
Ported: thread-name lookup, SQLite home resolution, short-id label, ranking, top-8 / expand-to-50 UI, privacy masking.
Deferred or different:
config.tomlis parsed with the existingtomlcrate (full parse, with a retry on the text before the first table header) instead of upstream's hand-written scanner. No new dependency.state_5.sqlite.top_sessionsstays at 5; the UI usescontract.conversations.--group-by sessionoutput is unchanged.Validation
cargo +1.98.0 fmt --all: cleancargo +1.98.0 clippy --workspace --all-targets -- -D warnings: cleancargo +1.98.0 test -p codexbar -- --test-threads=4: 2176 passed, 0 failed, 1 ignored (includes 10 new thread-name tests, ranking tests, and 4 end-to-end workspace tests)pnpm testforProjectConversations.test.tsx: 2 passedpnpm run build: succeeded;pnpm run lint: only pre-existing warningsAffected areas
rust/src/codex_workspaces/(newthread_names.rs,indexer.rs,types.rs),rust/src/cli/cost.rs(shared short-id helper), and the Usage & Spend settings tab (ProjectConversations.tsx,UsageSpendTab.tsx).UI proof
Pending: the coordinator will capture CUA proof on a fresh build.