Name agents by their first prompt line instead of an LLM summary (#1563)

* Name agents by their first prompt line instead of an LLM summary

The workspace title already captures the task; the LLM-generated agent
title just restated the same prompt. Drop the generator and keep the
provisional title (first prompt line), so the agent label stays
deterministic and explicit titles still win.

* Remove the no-op agent-title setting and leftover generator plumbing

Deleting the agent-title generator left its whole surface dangling: a
configurable "Agent titles" project setting that no longer did anything,
dead create-path plumbing, generator-only import/MCP deps, and the mock
provider's agent-title parser. Remove all of it, plus a dead test mock
and timing sleeps that guarded the deleted background job. Replace them
with a no-mock lifecycle test asserting the title stays the first prompt
line across create and settle.

Old paseo.json files with metadataGeneration.agentTitle still parse via
schema passthrough — see COMPAT(projectMetadataAgentTitle).
This commit is contained in:
Mohamed Boudra
2026-06-17 01:12:23 +08:00
committed by GitHub
parent e202ca5036
commit fcb7f8e215
31 changed files with 141 additions and 1035 deletions

View File

@@ -1,6 +1,6 @@
---
title: Metadata generation
description: How Paseo uses providers to generate agent titles, branch names, commit messages, and pull request text, and how to configure them.
description: How Paseo uses providers to generate branch names, commit messages, and pull request text, and how to configure them.
nav: Metadata generation
order: 42
category: Configuration
@@ -10,9 +10,8 @@ category: Configuration
Paseo asks a language model to write short pieces of text for you so you don't have to. This is separate from the agent you're talking to: it's a small, one-shot call made in the background.
Paseo generates four kinds of metadata:
Paseo generates three kinds of metadata:
- **Agent titles** — a short title for a new agent, derived from your first prompt. Only generated when you didn't type one yourself.
- **Worktree branch names** — a slug for the branch a new worktree agent runs on.
- **Commit messages** — a concise message for the changes you're committing.
- **Pull request title and body** — drafted from the diff when you open a PR.
@@ -67,7 +66,6 @@ You can steer the wording of each kind of metadata per repository with a `paseo.
```json
{
"metadataGeneration": {
"agentTitle": { "instructions": "Prefix titles with the area of the codebase." },
"branchName": { "instructions": "Use the format <type>/<scope>-<short-desc>." },
"commitMessage": { "instructions": "Follow Conventional Commits." },
"pullRequest": { "instructions": "Include a Testing section in the body." }