Signal the lead when a task is created, except tasks it created

This commit is contained in:
Ian Gulliver
2026-10-15 10:12:44 -07:00
parent fdd005b591
commit 184bfe429e
15 changed files with 112 additions and 29 deletions
+8 -8
View File
@@ -16,11 +16,11 @@ import (
"g.fc.run/misc/byre/internal/todo"
)
func (m *Manager) CreateTask(ctx context.Context, project api.Project, title, createdBy, base string) (api.Task, error) {
return m.createTask(ctx, project, title, createdBy, base, nil)
func (m *Manager) CreateTask(ctx context.Context, project api.Project, title, createdBy, base, actor string) (api.Task, error) {
return m.createTask(ctx, project, title, createdBy, base, actor, nil)
}
func (m *Manager) StartTodo(ctx context.Context, project api.Project, creator api.User, title, model string) (api.Task, error) {
func (m *Manager) StartTodo(ctx context.Context, project api.Project, creator api.User, title, model, actor string) (api.Task, error) {
if creator.GitName == "" || creator.GitEmail == "" {
return api.Task{}, ErrNoGitIdentity
}
@@ -47,12 +47,12 @@ func (m *Manager) StartTodo(ctx context.Context, project api.Project, creator ap
}
}
task, err := m.createTask(ctx, project, item.Title, creator.Login, project.DefaultBranch, &item.Title)
task, err := m.createTask(ctx, project, item.Title, creator.Login, project.DefaultBranch, actor, &item.Title)
if err != nil {
return api.Task{}, err
}
_, err = m.create(ctx, task, creator, todoPrompt(item), model, creator.Login, nil)
_, err = m.create(ctx, task, creator, todoPrompt(item), model, actor, nil)
if err != nil {
return api.Task{}, fmt.Errorf("task %s created, but its agent did not start: %w", task.Id, err)
}
@@ -64,7 +64,7 @@ func todoPrompt(item api.TodoItem) string {
todo.File, todo.Markdown(item))
}
func (m *Manager) createTask(ctx context.Context, project api.Project, title, createdBy, base string, todoItem *string) (api.Task, error) {
func (m *Manager) createTask(ctx context.Context, project api.Project, title, createdBy, base, actor string, todoItem *string) (api.Task, error) {
id := store.NewID()
t := api.Task{
Id: id,
@@ -85,7 +85,7 @@ func (m *Manager) createTask(ctx context.Context, project api.Project, title, cr
return api.Task{}, err
}
err = m.store.CreateTask(ctx, t)
err = m.store.CreateTask(ctx, t, actor)
if err != nil {
return api.Task{}, err
}
@@ -165,7 +165,7 @@ func (m *Manager) createTaskFromAgent(ctx context.Context, l *live, raw json.Raw
model = sess.Model
}
task, err := m.CreateTask(ctx, project, args.Title, creator.Login, base)
task, err := m.CreateTask(ctx, project, args.Title, creator.Login, base, creator.Login)
if err != nil {
return "", err
}