feat(threads): auto-generate first-turn thread titles#1375
feat(threads): auto-generate first-turn thread titles#1375maria-rcks wants to merge 8 commits intopingdotgg:mainfrom
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks 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 |
b256e14 to
5335f66
Compare
5335f66 to
6e727cd
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Closes #990
What Changed
Why
Thread titles were still just truncated prompt text.
This makes new threads easier to scan while keeping the model selection simpler and reusing the same text generation path we already have for commit, PR, and branch text.
UI Changes
Settings now says
Text generation modelChecklist
Note
Medium Risk
Moderate risk because it changes first-turn orchestration behavior and contracts by adding a new
textGenerationModelfield and triggering additional async side effects (title generation + branch rename) that could affect thread metadata updates.Overview
Auto-generates a thread title from the first user turn. On the server,
ProviderCommandReactornow forks a new first-turn side effect that callsTextGeneration.generateThreadTitleand dispatchesthread.meta.updatewith the generated title.Extends the text-generation pipeline and plumbing.
TextGenerationaddsgenerateThreadTitle, implemented inCodexTextGenerationwith attachment-aware prompting plus sanitization (single-line, quote/whitespace normalization, 50-char truncation, and fallback toNew thread). The client and contracts now pass an optionaltextGenerationModelthroughthread.turn.start→thread.turn-start-requested, and that model is reused for automatic worktree branch naming.UI copy update. The settings label/description for the model selector is renamed from "Git writing model" to "Text generation model" to reflect expanded usage.
Written by Cursor Bugbot for commit af6a180. This will update automatically on new commits. Configure here.
Note
Auto-generate thread titles on the first user turn using the configured text generation model
ProviderCommandReactornow forks amaybeGenerateThreadTitleForFirstTurncall alongside the existing worktree branch rename, dispatching athread.meta.updatewith the generated title on success.generateThreadTitlemethod is added toTextGenerationShape(implemented inCodexTextGeneration), which builds a prompt from the message text and any attachments, calls Codex, and returns a sanitized title.'New thread'if empty, and truncates to 50 characters with an ellipsis.textGenerationModelfield is threaded through the orchestration contract (ThreadTurnStartCommand,ThreadTurnStartRequestedPayload) and theChatViewUI dispatch so both title and branch generation use the user-configured model.Macroscope summarized af6a180.