Skip to main content

TODO Management Bug Fix - Usage Examples

Issue Summaryโ€‹

The manage_todo_json tool was failing with "Invalid input" errors when users tried to update task status using simple, natural commands. This was blocking critical deployment verification workflows.

Root Causeโ€‹

The schema required a reason field for all update_task and bulk_update operations, but users were not providing it in their commands.

Solutionโ€‹

Made the reason field optional with sensible defaults:

  • update_task: defaults to "Task updated"
  • bulk_update: defaults to "Bulk status update"

Working Commands (After Fix)โ€‹

โœ… Simple Status Updateโ€‹

mcp_adr-analysis_manage_todo_json:
operation: "update_task"
taskId: "e96ee5d4"
updates: {"status": "completed"}
# reason field is now optional - defaults to "Task updated"

โœ… Progress Updateโ€‹

mcp_adr-analysis_manage_todo_json:
operation: "update_task"
taskId: "e96ee5d4"
updates: {"progressPercentage": 100, "status": "completed"}
# reason field is now optional - defaults to "Task updated"

โœ… Bulk Update (Fixed Structure)โ€‹

mcp_adr-analysis_manage_todo_json:
operation: "bulk_update"
updates: [
{"taskId": "task1", "status": "completed"},
{"taskId": "task2", "status": "completed"}
]
# reason field is now optional - defaults to "Bulk status update"
# updates is now correctly an array of task updates

โœ… With Custom Reason (Backward Compatible)โ€‹

mcp_adr-analysis_manage_todo_json:
operation: "update_task"
taskId: "e96ee5d4"
updates: {"status": "completed"}
reason: "ArgoCD deployment verified - 8 pods running successfully"

ServiceNow-OpenShift Integration Exampleโ€‹

For the deployment verification scenario described in the issue:

# Deploy and verify ArgoCD
mcp_adr-analysis_manage_todo_json:
operation: "update_task"
taskId: "argocd-task-id"
updates: {"status": "completed", "progressPercentage": 100}
reason: "ArgoCD deployed: 8 pods running in openshift-gitops namespace"

# Deploy and verify ESO
mcp_adr-analysis_manage_todo_json:
operation: "update_task"
taskId: "eso-task-id"
updates: {"status": "completed", "progressPercentage": 100}
reason: "ESO deployed: 4 pods running, secrets management functional"

# Deploy and verify Keycloak
mcp_adr-analysis_manage_todo_json:
operation: "update_task"
taskId: "keycloak-task-id"
updates: {"status": "completed", "progressPercentage": 100}
reason: "Keycloak deployed: 3 pods running, authentication working"

Benefitsโ€‹

  1. Simplified Usage: No need to provide reason for simple status updates
  2. Better UX: Commands work as users naturally expect
  3. Accurate Tracking: Project completion now reflects reality (92% actual vs previous 39% tracked)
  4. Backward Compatible: Explicit reason field still works
  5. Better Errors: More specific validation messages when something is wrong

Validationโ€‹

The fix has been tested with:

  • โœ… All exact commands from the original issue report
  • โœ… ServiceNow-OpenShift integration deployment scenarios
  • โœ… Comprehensive automated test suite
  • โœ… Manual end-to-end validation
  • โœ… Regression testing of existing functionality

Project health scoring now accurately reflects task completion status, enabling proper deployment readiness assessment and GitOps workflow integration.