Add team tasks: several agents in one worktree sharing a board

This commit is contained in:
Ian Gulliver
2026-10-18 08:48:57 -07:00
parent 7f62df19d2
commit 6bcde13b2f
31 changed files with 1392 additions and 439 deletions
+8 -2
View File
@@ -73,7 +73,7 @@ func (m *Manager) subtaskTools(l *live) []mcp.Tool {
if err != nil {
return "", err
}
_, err = m.create(ctx, task, creator, args.Prompt, m.modelOr(args.Model, l), agentActor, nil)
_, err = m.create(ctx, task, creator, "", args.Prompt, m.modelOr(args.Model, l), agentActor, nil)
if err != nil {
return "", fmt.Errorf("subtask %s created, but its agent did not start: %w", task.Id, err)
}
@@ -294,7 +294,7 @@ func (m *Manager) messageTask(ctx context.Context, task api.Task, user api.User,
return err
}
if !found {
_, err = m.create(ctx, task, user, text, "", actor, nil)
_, err = m.create(ctx, task, user, sess.Member, text, "", actor, nil)
return err
}
_, _, err = m.Message(ctx, sess.Id, actor, text, "")
@@ -366,6 +366,12 @@ func (m *Manager) closeMergedSubtasks(parentID, dir string) {
}
func (m *Manager) closeMergedSubtask(ctx context.Context, t api.Task, parentID, dir string) error {
unlock := m.lockTask(t.Id)
defer unlock()
t, err := m.store.GetTask(ctx, t.Id)
if err != nil || t.Status != api.TaskStatusActive {
return err
}
merged, err := git.IsAncestor(dir, t.Branch, "HEAD")
if err != nil || !merged {
return err