diff --git a/api/openapi.yaml b/api/openapi.yaml index e4235c2..52668ab 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -1482,8 +1482,8 @@ components: properties: id: { type: string } project_id: { type: string } - title: { type: string, description: "Empty until the task's agent names it with set_task_title, when the task was created without one." } - merge_title: { type: string, description: "The title of the squash commit Merge makes: the task title until the agent sets another with set_merge_title." } + title: { type: string, description: "Empty until the task's agent names it with set_titles, when the task was created without one." } + merge_title: { type: string, description: "The title of the squash commit Merge makes: the task title until the agent sets another with set_titles." } branch: { type: string } worktree_path: { type: string } base_ref: { type: string } @@ -1567,7 +1567,7 @@ components: title: type: string description: > - The task's title. Without it the task starts untitled, and its agent names it with set_task_title. + The task's title. Without it the task starts untitled, and its agent names it with set_titles. Required with workflow. prompt: type: string diff --git a/internal/agents/guidance.go b/internal/agents/guidance.go index ea203e6..922a52b 100644 --- a/internal/agents/guidance.go +++ b/internal/agents/guidance.go @@ -102,9 +102,9 @@ func (m *Manager) taskGuidance(ctx context.Context, task api.Task) (string, erro "\n- This worktree starts with only what git tracks. Before other work in a new worktree, do any setup the project's AGENTS.md describes.", task.PortBase, task.PortBase+store.PortBlock-1) if task.Title == "" { - g += "\n- This task has no title yet. First thing, before any other work, call set_task_title with a very short, distinct, to-the-point title (two to four words), and call it again whenever the work moves on." + g += "\n- This task has no title yet. First thing, before any other work, call set_titles with a very short, distinct, to-the-point task title (two to four words) and a merge commit title that describes the work, and call it again whenever the work moves on." } else { - g += fmt.Sprintf("\n- This task's title is %q. First thing, if it isn't very short (two to four words), distinct and to the point, call set_task_title with one that is, and call it again whenever the work moves on.", task.Title) + g += fmt.Sprintf("\n- This task's title is %q. First thing, call set_titles with a merge commit title that describes the work, and a task title that is very short (two to four words), distinct and to the point (this one, if it already is), and call it again whenever the work moves on.", task.Title) } if task.TodoItem != nil { g += fmt.Sprintf("\n- This task was started from the item %q in %s at the repo root. When the work is done, remove that item from %s in this worktree, so the removal lands in the same merge as the work.", @@ -132,7 +132,7 @@ func longTitleGuidance(task api.Task) string { if n <= maxMergeTitle { return "" } - return fmt.Sprintf("\n- This task's merge commit title, %q, is %d characters, over the %d allowed, so Merge will refuse it. Early in your first turn, call set_merge_title with a one-line title of at most %d characters that describes the work.", + return fmt.Sprintf("\n- This task's merge commit title, %q, is %d characters, over the %d allowed, so Merge will refuse it. Early in your first turn, call set_titles with a one-line merge title of at most %d characters that describes the work.", task.MergeTitle, n, maxMergeTitle, maxMergeTitle) } diff --git a/internal/agents/manager.go b/internal/agents/manager.go index 76ab005..d1587c8 100644 --- a/internal/agents/manager.go +++ b/internal/agents/manager.go @@ -855,7 +855,7 @@ func (m *Manager) startLive(ctx context.Context, sess api.AgentSession, task api if err != nil { return nil, err } - tools := append([]mcp.Tool{m.askTool(l), m.cancelQuestionTool(l), m.setTaskTitleTool(l), m.setMergeTitleTool(l), m.stopMergeTool(l), m.mergeToMainTool(l), m.setTaskSummaryTool(l), m.searchClosedTool(l), m.exposePortTool(l), m.takeSnapshotTool(l), m.terminalReadTool(l), m.terminalTypeTool(l), m.bashTool(l), m.readKnowledgeTool()}, append(append(m.fileTools(l), m.subtaskTools(l)...), m.clientTools(l)...)...) + tools := append([]mcp.Tool{m.askTool(l), m.cancelQuestionTool(l), m.setTitlesTool(l),m.stopMergeTool(l), m.mergeToMainTool(l), m.setTaskSummaryTool(l), m.searchClosedTool(l), m.exposePortTool(l), m.takeSnapshotTool(l), m.terminalReadTool(l), m.terminalTypeTool(l), m.bashTool(l), m.readKnowledgeTool()}, append(append(m.fileTools(l), m.subtaskTools(l)...), m.clientTools(l)...)...) lead := true if sess.Role == api.Implementer { g += longTitleGuidance(task) diff --git a/internal/agents/mergein.go b/internal/agents/mergein.go index c29a479..2a3a3f8 100644 --- a/internal/agents/mergein.go +++ b/internal/agents/mergein.go @@ -33,7 +33,7 @@ func mergeInPrompt(target string) string { } func (m *Manager) MergeIn(ctx context.Context, task api.Task, user api.User, target string) (api.AgentSession, error) { - prompt := mergeInPrompt(target) + fmt.Sprintf(" Finally, if the merge commit title (currently \"%s\") no longer describes all the work on this branch, set a better one with set_merge_title.", task.MergeTitle) + prompt := mergeInPrompt(target) + fmt.Sprintf(" Finally, if the merge commit title (currently \"%s\") no longer describes all the work on this branch, set a better one with set_titles.", task.MergeTitle) return m.sendMergeIn(ctx, task, user, prompt) } @@ -456,81 +456,55 @@ func (m *Manager) RemoveTask(ctx context.Context, task api.Task, project api.Pro return git.RemoveWorktree(project.RepoPath, task.WorktreePath, task.Branch) } -type setMergeTitleArgs struct { - Title string `json:"title"` +type setTitlesArgs struct { + Title string `json:"title"` + MergeTitle string `json:"merge_title"` } -func (m *Manager) setMergeTitleTool(l *live) mcp.Tool { +func (m *Manager) setTitlesTool(l *live) mcp.Tool { return mcp.Tool{ - Name: "set_merge_title", - Description: "Set the title of the single commit this task becomes when it is merged onto the default branch. " + - "It starts as the task title. Write one line in the imperative mood that describes all the work on the branch, " + - "for example \"Add retry with backoff to webhook delivery\". It replaces any earlier title.", + Name: "set_titles", + Description: "Set this task's two titles. title names the task in byre's task list and switcher: very short (two to four words), distinct from the project's other tasks, and to the point, for example \"webhook retries\". " + + "merge_title is the title of the single commit this task becomes when it is merged onto the default branch: one line in the imperative mood that describes all the work on the branch, " + + "for example \"Add retry with backoff to webhook delivery\". Each replaces the earlier one.", InputSchema: json.RawMessage(`{ "type": "object", "properties": { - "title": {"type": "string", "description": "One line, at most 72 characters."} + "title": {"type": "string", "description": "The task title: one short line."}, + "merge_title": {"type": "string", "description": "The merge commit title: one line, at most 72 characters."} }, - "required": ["title"] + "required": ["title", "merge_title"] }`), Handler: func(ctx context.Context, raw json.RawMessage) (string, error) { - return m.setMergeTitle(ctx, l, raw) + return m.setTitles(ctx, l, raw) }, } } -func (m *Manager) setMergeTitle(ctx context.Context, l *live, raw json.RawMessage) (string, error) { - args := setMergeTitleArgs{} +func (m *Manager) setTitles(ctx context.Context, l *live, raw json.RawMessage) (string, error) { + args := setTitlesArgs{} err := json.Unmarshal(raw, &args) if err != nil { - return "", fmt.Errorf("malformed set_merge_title call: %w", err) + return "", fmt.Errorf("malformed set_titles call: %w", err) } - title, err := cleanMergeTitle(args.Title) + title := strings.TrimSpace(args.Title) + if title == "" || strings.ContainsAny(title, "\r\n") { + return "", fmt.Errorf("%w: title must be one non-empty line", ErrInvalid) + } + mergeTitle, err := cleanMergeTitle(args.MergeTitle) if err != nil { return "", err } - err = m.storeMergeTitle(ctx, l.taskID, title, agentActor) + err = m.store.SetTitles(ctx, l.taskID, title, mergeTitle, agentActor) + if errors.Is(err, store.ErrNotFound) { + return "", fmt.Errorf("%w: this task is closed, or its merge was already confirmed with its title", ErrConflict) + } if err != nil { return "", err } - return fmt.Sprintf("Merge commit title set to %q.", title), nil -} - -func (m *Manager) setTaskTitleTool(l *live) mcp.Tool { - return mcp.Tool{ - Name: "set_task_title", - Description: "Set this task's title, which names it in byre's task list and switcher. " + - "Keep it very short (two to four words), distinct from the project's other tasks, and to the point, for example \"webhook retries\". " + - "Until set_merge_title is called, the merge commit title follows it. It replaces any earlier title.", - InputSchema: json.RawMessage(`{ - "type": "object", - "properties": { - "title": {"type": "string", "description": "One short line."} - }, - "required": ["title"] - }`), - Handler: func(ctx context.Context, raw json.RawMessage) (string, error) { - args := setMergeTitleArgs{} - err := json.Unmarshal(raw, &args) - if err != nil { - return "", fmt.Errorf("malformed set_task_title call: %w", err) - } - title := strings.TrimSpace(args.Title) - if title == "" || strings.ContainsAny(title, "\r\n") { - return "", fmt.Errorf("%w: title must be one non-empty line", ErrInvalid) - } - err = m.store.SetTitle(ctx, l.taskID, title, agentActor) - if errors.Is(err, store.ErrNotFound) { - return "", fmt.Errorf("%w: this task is closed or merging", ErrConflict) - } - if err != nil { - return "", err - } - return fmt.Sprintf("Task title set to %q.", title), nil - }, - } + return fmt.Sprintf("Task title set to %q, merge commit title to %q.", title, mergeTitle), nil } type stopMergeArgs struct { diff --git a/internal/api/api.gen.go b/internal/api/api.gen.go index 0d438ac..25a61c3 100644 --- a/internal/api/api.gen.go +++ b/internal/api/api.gen.go @@ -1375,7 +1375,7 @@ type Task struct { // MergeQueuedAt When Merge was requested while another task in the project was merging; absent once the merge starts or when none is held. MergeQueuedAt *time.Time `json:"merge_queued_at,omitempty"` - // MergeTitle The title of the squash commit Merge makes: the task title until the agent sets another with set_merge_title. + // MergeTitle The title of the squash commit Merge makes: the task title until the agent sets another with set_titles. MergeTitle string `json:"merge_title"` // Merging Whether a Merge was started and hasn't finished: its turn is running, or the turn ended and byre is squashing, pushing and closing the task. @@ -1398,7 +1398,7 @@ type Task struct { // SummarySeq The seq of the task's latest turn.ended event with summary: true; 0 when it has none. SummarySeq int64 `json:"summary_seq"` - // Title Empty until the task's agent names it with set_task_title, when the task was created without one. + // Title Empty until the task's agent names it with set_titles, when the task was created without one. Title string `json:"title"` // TodoItem The title of the TODO.md item the task was started from; absent for other tasks. @@ -1439,7 +1439,7 @@ type TaskCreate struct { // Prompt Starts the task's agent with this as its first message, in the same request. Not with workflow. Prompt *string `json:"prompt,omitempty"` - // Title The task's title. Without it the task starts untitled, and its agent names it with set_task_title. Required with workflow. + // Title The task's title. Without it the task starts untitled, and its agent names it with set_titles. Required with workflow. Title *string `json:"title,omitempty"` // Workflow The name of a saved workflow to run instead of creating one task with no agent: the run gets a task of its own, titled with the title, and each stage that starts it becomes its subtask, titled ": <stage>", with the title as the run's brief. The response is the run's task. @@ -4525,328 +4525,328 @@ func HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.H // const string: with thousands of chunks the chained `+` fold is several // times slower for the Go compiler than parsing a slice literal. var swaggerSpec = []string{ - "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", + "UKbQ9vPVIBqRuAmDYcBA0wFr8tWYLD58+F8DAA==", } // decodeSpec returns the embedded OpenAPI spec as raw JSON bytes, diff --git a/internal/store/store.go b/internal/store/store.go index e0e19b7..05f8cb5 100644 --- a/internal/store/store.go +++ b/internal/store/store.go @@ -444,18 +444,22 @@ func (s *Store) SetMergeTitle(ctx context.Context, id, title, actor string) erro }) } -func (s *Store) SetTitle(ctx context.Context, id, title, actor string) error { +func (s *Store) SetTitles(ctx context.Context, id, title, mergeTitle, actor string) error { return s.write(ctx, func(tx *sql.Tx, emit emitFunc) error { projectID := "" - err := tx.QueryRowContext(ctx, `UPDATE tasks SET title = ? WHERE id = ? AND status = ? AND merging_by = '' AND finalizing = '' AND merge_queued_by = '' RETURNING project_id`, - title, id, string(api.TaskStatusActive)).Scan(&projectID) + err := tx.QueryRowContext(ctx, `UPDATE tasks SET title = ?, merge_title = ? WHERE id = ? AND status = ? AND merging_by = '' AND finalizing = '' AND merge_queued_by = '' RETURNING project_id`, + title, mergeTitle, id, string(api.TaskStatusActive)).Scan(&projectID) if errors.Is(err, sql.ErrNoRows) { return ErrNotFound } if err != nil { return err } - return emit(api.Event{Kind: "task.title", ProjectId: &projectID, TaskId: &id, Actor: actor, Payload: map[string]any{"id": id, "title": title}}) + err = emit(api.Event{Kind: "task.title", ProjectId: &projectID, TaskId: &id, Actor: actor, Payload: map[string]any{"id": id, "title": title}}) + if err != nil { + return err + } + return emit(api.Event{Kind: "task.merge_title", ProjectId: &projectID, TaskId: &id, Actor: actor, Payload: map[string]any{"id": id, "merge_title": mergeTitle}}) }) }