fix(CF-635): Fix task_list returning empty for non-completed tasks

- Remove invalid 'pending' status from task_list and task_update enums
- Default to excluding completed tasks when no status filter provided
- Previously, task_list(status=open) missed in_progress/blocked/testing tasks

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Christian Gick
2026-02-02 07:00:39 +02:00
parent ab17865c7d
commit baec42810c
2 changed files with 5 additions and 2 deletions

View File

@@ -282,6 +282,9 @@ export async function taskList(args: TaskListArgs): Promise<string> {
if (status) {
whereClause += ` AND status = $${paramIndex++}`;
params.push(status);
} else {
// Default: exclude completed tasks when no status filter provided
whereClause += ` AND status != 'completed'`;
}
if (type) {
whereClause += ` AND type = $${paramIndex++}`;

View File

@@ -24,7 +24,7 @@ export const toolDefinitions = [
type: 'object',
properties: {
project: { type: 'string', description: 'Filter by project key' },
status: { type: 'string', enum: ['pending', 'open', 'in_progress', 'testing', 'blocked', 'completed'], description: 'Filter by status' },
status: { type: 'string', enum: ['open', 'in_progress', 'testing', 'blocked', 'completed'], description: 'Filter by status. Omit to show all non-completed tasks.' },
type: { type: 'string', enum: ['task', 'bug', 'feature', 'debt', 'investigation'], description: 'Filter by type' },
priority: { type: 'string', enum: ['P0', 'P1', 'P2', 'P3'], description: 'Filter by priority' },
limit: { type: 'number', description: 'Max results (default: 20)' },
@@ -60,7 +60,7 @@ export const toolDefinitions = [
type: 'object',
properties: {
id: { type: 'string', description: 'Task ID to update' },
status: { type: 'string', enum: ['pending', 'open', 'in_progress', 'testing', 'blocked', 'completed'], description: 'New status' },
status: { type: 'string', enum: ['open', 'in_progress', 'testing', 'blocked', 'completed'], description: 'New status' },
priority: { type: 'string', enum: ['P0', 'P1', 'P2', 'P3'], description: 'New priority' },
type: { type: 'string', enum: ['task', 'bug', 'feature', 'debt', 'investigation'], description: 'New type' },
title: { type: 'string', description: 'New title' },