Add Merge & continue and Other… to ready cards
This commit is contained in:
@@ -26,6 +26,7 @@ const readyPromptUnchanged = "Your turn has ended, and this task's branch has no
|
||||
|
||||
type readyArgs struct {
|
||||
Overview string `json:"overview"`
|
||||
Merge string `json:"merge"`
|
||||
}
|
||||
|
||||
func (m *Manager) readyForMergeTool(l *live) mcp.Tool {
|
||||
@@ -33,12 +34,13 @@ func (m *Manager) readyForMergeTool(l *live) mcp.Tool {
|
||||
Name: "ready_for_merge",
|
||||
Description: "Tell the human this task is ready to merge, with an overview of the whole task: all of the branch's work, not just what changed since your last call or the last discussion. " +
|
||||
"Write it for someone jumping between tasks who hasn't followed this one: a summary of what the change does, the tradeoffs and compromises made, what was not done, and follow-up work for later. " +
|
||||
"byre shows it in the task's transcript and passes it to the human's lead agent. " +
|
||||
"byre shows it in the task's transcript, with buttons to merge and complete the task or merge and continue it, and passes it to the human's lead agent. " +
|
||||
"Call it only once the review of your most recent changes has come back: byre reviews the work after each turn that changes files and messages you when that review finishes, so never call it in the same turn as a change, or while a review of your latest work is pending.",
|
||||
InputSchema: json.RawMessage(`{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"overview": {"type": "string", "description": "Markdown, with sections for the summary, tradeoffs and compromises, not done, and future TODOs; leave out a section with nothing in it."}
|
||||
"overview": {"type": "string", "description": "Markdown, with sections for the summary, tradeoffs and compromises, not done, and future TODOs; leave out a section with nothing in it."},
|
||||
"merge": {"type": "string", "enum": ["complete", "continue"], "description": "The button byre highlights: complete (the default) lands the work and closes the task; continue lands the work so far and keeps the task open, for when you or the human mean to do more on it."}
|
||||
},
|
||||
"required": ["overview"]
|
||||
}`),
|
||||
@@ -52,7 +54,13 @@ func (m *Manager) readyForMergeTool(l *live) mcp.Tool {
|
||||
if overview == "" {
|
||||
return "", fmt.Errorf("%w: overview must not be empty", ErrInvalid)
|
||||
}
|
||||
err = m.store.MarkReady(ctx, l.taskID, overview, agentActor)
|
||||
if args.Merge == "" {
|
||||
args.Merge = "complete"
|
||||
}
|
||||
if args.Merge != "complete" && args.Merge != "continue" {
|
||||
return "", fmt.Errorf("%w: merge must be complete or continue", ErrInvalid)
|
||||
}
|
||||
err = m.store.MarkReady(ctx, l.taskID, overview, args.Merge, agentActor)
|
||||
if errors.Is(err, store.ErrNotFound) {
|
||||
return "", fmt.Errorf("%w: this task is closed", ErrConflict)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user