54 lines
2.7 KiB
Plaintext
54 lines
2.7 KiB
Plaintext
# Task ID: 53
|
|
# Title: Implement Subtask Suggestion Feature for Parent Tasks
|
|
# Status: pending
|
|
# Dependencies: None
|
|
# Priority: medium
|
|
# Description: Create a new CLI command that suggests contextually relevant subtasks for existing parent tasks, allowing users to accept, decline, or regenerate suggestions before adding them to the system.
|
|
# Details:
|
|
Develop a new command `suggest-subtask <task-id>` that generates intelligent subtask suggestions for a specified parent task. The implementation should:
|
|
|
|
1. Accept a parent task ID as input and validate it exists
|
|
2. Gather a snapshot of all existing tasks in the system (titles only, with their statuses and dependencies)
|
|
3. Retrieve the full details of the specified parent task
|
|
4. Use this context to generate a relevant subtask suggestion that would logically help complete the parent task
|
|
5. Present the suggestion to the user in the CLI with options to:
|
|
- Accept (a): Add the subtask to the system under the parent task
|
|
- Decline (d): Reject the suggestion without adding anything
|
|
- Regenerate (r): Generate a new alternative subtask suggestion
|
|
- Edit (e): Accept but allow editing the title/description before adding
|
|
|
|
The suggestion algorithm should consider:
|
|
- The parent task's description and requirements
|
|
- Current progress (% complete) of the parent task
|
|
- Existing subtasks already created for this parent
|
|
- Similar patterns from other tasks in the system
|
|
- Logical next steps based on software development best practices
|
|
|
|
When a subtask is accepted, it should be properly linked to the parent task and assigned appropriate default values for priority and status.
|
|
|
|
# Test Strategy:
|
|
Testing should verify both the functionality and the quality of suggestions:
|
|
|
|
1. Unit tests:
|
|
- Test command parsing and validation of task IDs
|
|
- Test snapshot creation of existing tasks
|
|
- Test the suggestion generation with mocked data
|
|
- Test the user interaction flow with simulated inputs
|
|
|
|
2. Integration tests:
|
|
- Create a test parent task and verify subtask suggestions are contextually relevant
|
|
- Test the accept/decline/regenerate workflow end-to-end
|
|
- Verify proper linking of accepted subtasks to parent tasks
|
|
- Test with various types of parent tasks (frontend, backend, documentation, etc.)
|
|
|
|
3. Quality assessment:
|
|
- Create a benchmark set of 10 diverse parent tasks
|
|
- Generate 3 subtask suggestions for each and have team members rate relevance on 1-5 scale
|
|
- Ensure average relevance score exceeds 3.5/5
|
|
- Verify suggestions don't duplicate existing subtasks
|
|
|
|
4. Edge cases:
|
|
- Test with a parent task that has no description
|
|
- Test with a parent task that already has many subtasks
|
|
- Test with a newly created system with minimal task history
|