Add TUI conversation management#13662
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
00962a9 to
7b298d5
Compare
80c8d46 to
2588808
Compare
6bdad5a to
759c0e3
Compare
Co-Authored-By: Oz <oz-agent@warp.dev>
d55907a to
0f9eecd
Compare
759c0e3 to
1e6713b
Compare
|
I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This PR adds TUI conversation management: a /conversations inline menu, shared conversation query/ranking logic, TUI restore target handling for local/server conversations, cancelable restore state, and supporting specs/tests.
Concerns
- No blocking correctness issues were found in the annotated diff.
- No security-specific findings were identified.
- The supplied
spec_context.mdcontains no approved or repository spec context; the checked-in CODE-1821 spec in this PR is consistent with the implementation at review depth.
Verdict
Found: 0 critical, 0 important, 0 suggestions
Approve
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz

Description
Before this PR, the Warp TUI could resume a conversation only when launched with a server token. There was no way to discover or switch to another local or cloud conversation from the running TUI, and startup restoration could not be cancelled into the provisional new session.
This PR adds a searchable
/conversationsinline menu backed by the shared normalized conversation model and query policy. It lists eligible personal Oz conversations from local and cloud history, preserves selection across live updates, and revalidates command, conversation, target, and restore state before switching. Successful loads replace the sole TUI transcript through the existing GUI restoration path; failed or cancelled loads leave the current conversation intact. Cloud metadata failures fall back to searchable local history with an explicit warning, and Escape or Ctrl-C can cancel both list and startup restoration without allowing stale completion to replace the active session.Review guide
Read
app/src/ai/agent_conversations_model/query.rs— shared GUI/TUI recency and fuzzy-ranking policy.app/src/ai/agent_conversations_model.rs— partial cloud-metadata failure state exposed to the TUI.crates/warp_tui/src/conversation_menu.rs— menu lifecycle, live refresh, query projection, and stable selection.crates/warp_tui/src/terminal_session_view.rs— acceptance revalidation, loading/cancellation, and conversation replacement.Skim
crates/warp_tui/src/inline_menu.rsandinput/view.rs— conversation-specific adapter and accepted-action routing onto the infrastructure from PR 1.crates/warp_tui/src/session.rs,app/src/tui_export.rs, andapp/src/terminal/input/slash_commands/mod.rs— startup target and command/export wiring.Can skip
The remaining files are dependency bookkeeping, copy/layout adjustments, or focused coverage for the behavior above.
Linked Issue
CODE-1821 — Conversation management
ready-to-specorready-to-implement.Testing
./script/runScreenshots / Videos
Loom: TUI conversation management
Agent Mode
CHANGELOG-IMPROVEMENT: Added a searchable
/conversationsmenu to the Warp TUI.Co-Authored-By: Oz oz-agent@warp.dev