From c4914647de42f3bf90c0d05f3c5fda33aafb7c2f Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Fri, 23 Oct 2026 05:49:10 -0700 Subject: [PATCH] Skip closed task history in lead and TODO queries --- internal/agents/leadtools.go | 4 ++-- internal/agents/tasks.go | 4 ++-- internal/store/store.go | 4 ---- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/internal/agents/leadtools.go b/internal/agents/leadtools.go index 4a1c359..c589017 100644 --- a/internal/agents/leadtools.go +++ b/internal/agents/leadtools.go @@ -881,14 +881,14 @@ func (m *Manager) listTasksText(ctx context.Context) (string, error) { b := &strings.Builder{} for _, p := range projects { fmt.Fprintf(b, "## %s (project %s, repo %s, default branch %s)\n", p.Name, p.Id, p.RepoPath, p.DefaultBranch) - tasks, err := m.store.ListTasks(ctx, p.Id) + tasks, err := m.store.ListActiveTasks(ctx, p.Id) if err != nil { return "", err } listed := false started := map[string]bool{} for _, t := range tasks { - if t.Status != api.TaskStatusActive || t.Background { + if t.Background { continue } listed = true diff --git a/internal/agents/tasks.go b/internal/agents/tasks.go index c963dcf..85d8f4e 100644 --- a/internal/agents/tasks.go +++ b/internal/agents/tasks.go @@ -64,12 +64,12 @@ func (m *Manager) StartTodo(ctx context.Context, project api.Project, creator ap return nil, fmt.Errorf("%w: %s on %s has no item %q", store.ErrNotFound, todo.File, project.DefaultBranch, title) } - tasks, err := m.store.ListTasks(ctx, project.Id) + tasks, err := m.store.ListActiveTasks(ctx, project.Id) if err != nil { return nil, err } for _, t := range tasks { - if t.Status == api.TaskStatusActive && t.TodoItem != nil && *t.TodoItem == title { + if t.TodoItem != nil && *t.TodoItem == title { return nil, fmt.Errorf("%w: task %s is already working on %q", ErrConflict, t.Id, title) } } diff --git a/internal/store/store.go b/internal/store/store.go index 567be16..687cffd 100644 --- a/internal/store/store.go +++ b/internal/store/store.go @@ -407,10 +407,6 @@ func (s *Store) CreateTask(ctx context.Context, t api.Task, frozen *FrozenWorkfl }) } -func (s *Store) ListTasks(ctx context.Context, projectID string) ([]api.Task, error) { - return s.queryTasks(ctx, `SELECT `+taskColumns+` FROM tasks WHERE project_id = ? ORDER BY created_at DESC`, projectID) -} - func (s *Store) ListActiveTasks(ctx context.Context, projectID string) ([]api.Task, error) { return s.queryTasks(ctx, `SELECT `+taskColumns+` FROM tasks WHERE project_id = ? AND status = ? ORDER BY created_at DESC`, projectID, string(api.TaskStatusActive)) }