Generate automatic and manual conversation recaps (#40705)

## Why

Users returning to a conversation need a short summary of its recent progress and next steps.

## What changed

- Generate a recap for eligible idle, unfocused conversations and add it to the transcript.
- Add `/recap` to request the same summary on demand, with visible progress and actionable errors.
- Keep recap requests bounded and isolated, reject stale results, and retry only automatic failures.

## Testing

- Cover automatic and manual generation, request eligibility, failure handling, loading-state cleanup, and temporary-thread configuration.

GitOrigin-RevId: 926a88d6996d67a42809ce2c4091b13fca882b52
This commit is contained in:
Felipe Coury authored and copyberry committed 2026-08-25 21:03:11 +00:00
1 parent 40ba7da7b4
commit 6988d390b3
17 files changed
+831 -38

No files matched your search

+3
View File
@@ -38,6 +38,7 @@ pub enum SlashCommand {
App,
Init,
Compact,
Recap,
Plan,
Goal,
Agents,
@@ -90,6 +91,7 @@ impl SlashCommand {
SlashCommand::New => "start a new chat during a conversation",
SlashCommand::Init => "create an AGENTS.md file with instructions for Codex",
SlashCommand::Compact => "summarize conversation to prevent hitting the context limit",
SlashCommand::Recap => "summarize the current conversation now",
SlashCommand::Review => "review my current changes and find issues",
SlashCommand::Rename => "rename the current thread",
SlashCommand::Resume => "resume a saved chat",
@@ -210,6 +212,7 @@ impl SlashCommand {
| SlashCommand::Fork
| SlashCommand::Init
| SlashCommand::Compact
| SlashCommand::Recap
| SlashCommand::Export
| SlashCommand::Keymap
| SlashCommand::Vim