92 lines
5.7 KiB
Plaintext
92 lines
5.7 KiB
Plaintext
# Task ID: 11
|
|
# Title: Implement Batch Operations
|
|
# Status: done
|
|
# Dependencies: 3 ✅
|
|
# Priority: medium
|
|
# Description: Add functionality for performing operations on multiple tasks simultaneously.
|
|
# Details:
|
|
Create batch operations including:
|
|
- Implement multi-task status updates
|
|
- Add bulk subtask generation
|
|
- Create task filtering and querying capabilities
|
|
- Implement advanced dependency management
|
|
- Add batch prioritization
|
|
- Create commands for operating on filtered task sets
|
|
|
|
# Test Strategy:
|
|
Test batch operations with various filters and operations. Verify that operations are applied correctly to all matching tasks. Test with large task sets to ensure performance.
|
|
|
|
# Subtasks:
|
|
## Subtask ID: 1
|
|
## Title: Implement Multi-Task Status Update Functionality
|
|
## Status: done
|
|
## Dependencies: 11.3 ✅
|
|
## Description: Create a command-line interface command that allows users to update the status of multiple tasks simultaneously. Implement the backend logic to process batch status changes, validate the requested changes, and update the tasks.json file accordingly. The implementation should include options for filtering tasks by various criteria (ID ranges, status, priority, etc.) and applying status changes to the filtered set.
|
|
## Acceptance Criteria:
|
|
- Command accepts parameters for filtering tasks (e.g., `--status=pending`, `--priority=high`, `--id=1,2,3-5`)
|
|
- Command accepts a parameter for the new status value (e.g., `--new-status=done`)
|
|
- All matching tasks are updated in the tasks.json file
|
|
- Command provides a summary of changes made (e.g., "Updated 5 tasks from 'pending' to 'done'")
|
|
- Command handles errors gracefully (e.g., invalid status values, no matching tasks)
|
|
- Changes are persisted correctly to tasks.json
|
|
|
|
## Subtask ID: 2
|
|
## Title: Develop Bulk Subtask Generation System
|
|
## Status: done
|
|
## Dependencies: 11.3 ✅, 11.4 ✅
|
|
## Description: Create functionality to generate multiple subtasks across several parent tasks at once. This should include a command-line interface that accepts filtering parameters to select parent tasks and either a template for subtasks or an AI-assisted generation option. The system should validate parent tasks, generate appropriate subtasks with proper ID assignments, and update the tasks.json file.
|
|
## Acceptance Criteria:
|
|
- Command accepts parameters for filtering parent tasks
|
|
- Command supports template-based subtask generation with variable substitution
|
|
- Command supports AI-assisted subtask generation using Claude API
|
|
- Generated subtasks have proper IDs following the parent.sequence format (e.g., 1.1, 1.2)
|
|
- Subtasks inherit appropriate properties from parent tasks (e.g., dependencies)
|
|
- Generated subtasks are added to the tasks.json file
|
|
- Task files are regenerated to include the new subtasks
|
|
- Command provides a summary of subtasks created
|
|
|
|
## Subtask ID: 3
|
|
## Title: Implement Advanced Task Filtering and Querying
|
|
## Status: done
|
|
## Dependencies: None
|
|
## Description: Create a robust filtering and querying system that can be used across all batch operations. Implement a query syntax that allows for complex filtering based on task properties, including status, priority, dependencies, ID ranges, and text search within titles and descriptions. Design the system to be reusable across different batch operation commands.
|
|
## Acceptance Criteria:
|
|
- Support for filtering by task properties (status, priority, dependencies)
|
|
- Support for ID-based filtering (individual IDs, ranges, exclusions)
|
|
- Support for text search within titles and descriptions
|
|
- Support for logical operators (AND, OR, NOT) in filters
|
|
- Query parser that converts command-line arguments to filter criteria
|
|
- Reusable filtering module that can be imported by other commands
|
|
- Comprehensive test cases covering various filtering scenarios
|
|
- Documentation of the query syntax for users
|
|
|
|
## Subtask ID: 4
|
|
## Title: Create Advanced Dependency Management System
|
|
## Status: done
|
|
## Dependencies: 11.3 ✅
|
|
## Description: Implement batch operations for managing dependencies between tasks. This includes commands for adding, removing, and updating dependencies across multiple tasks simultaneously. The system should validate dependency changes to prevent circular dependencies, update the tasks.json file, and regenerate task files to reflect the changes.
|
|
## Acceptance Criteria:
|
|
- Command for adding dependencies to multiple tasks at once
|
|
- Command for removing dependencies from multiple tasks
|
|
- Command for replacing dependencies across multiple tasks
|
|
- Validation to prevent circular dependencies
|
|
- Validation to ensure referenced tasks exist
|
|
- Automatic update of affected task files
|
|
- Summary report of dependency changes made
|
|
- Error handling for invalid dependency operations
|
|
|
|
## Subtask ID: 5
|
|
## Title: Implement Batch Task Prioritization and Command System
|
|
## Status: done
|
|
## Dependencies: 11.3 ✅
|
|
## Description: Create a system for batch prioritization of tasks and a command framework for operating on filtered task sets. This includes commands for changing priorities of multiple tasks at once and a generic command execution system that can apply custom operations to filtered task sets. The implementation should include a plugin architecture that allows for extending the system with new batch operations.
|
|
## Acceptance Criteria:
|
|
- Command for changing priorities of multiple tasks at once
|
|
- Support for relative priority changes (e.g., increase/decrease priority)
|
|
- Generic command execution framework that works with the filtering system
|
|
- Plugin architecture for registering new batch operations
|
|
- At least three example plugins (e.g., batch tagging, batch assignment, batch export)
|
|
- Command for executing arbitrary operations on filtered task sets
|
|
- Documentation for creating new batch operation plugins
|
|
- Performance testing with large task sets (100+ tasks)
|