TaskValidator.Validators.SubtaskValidator (TaskValidator v0.9.5)
View SourceValidates subtask structure, consistency, and format requirements.
This validator handles validation of subtasks including their format, status consistency, and relationships with parent tasks. It supports both traditional numbered subtasks and checkbox-style subtasks.
Validation Rules
Subtask Format Validation:
- Traditional numbered format:
#### N. Description (TASKID-N)
- Checkbox format:
- [ ] Description [TASKID]
or- [x] Description [TASKID]
- Letter subtasks:
TASKID[a-z]
format support
- Traditional numbered format:
Status Consistency:
- Checkbox checked state must match status field (for traditional format)
- Completed subtasks must have review ratings (traditional format only)
- Valid status values according to configuration
Required Sections (Traditional Format):
- Status - Current subtask status
- Error handling (explicit or via reference)
- Review rating for completed subtasks
Prefix Consistency:
- Subtask IDs must use same prefix as parent task
- Validates parent-child relationships are maintained
Error Types
:missing_subtask_status
- Subtask missing status field:invalid_subtask_status
- Status not in valid values:missing_review_rating
- Completed subtask without rating:invalid_review_rating
- Rating format incorrect:inconsistent_subtask_prefix
- Prefix doesn't match parent:missing_subtask_sections
- Required sections not present
Examples
# Valid traditional numbered subtask
#### 1. Implement basic validation (SSH001-1)
**Status**: In Progress
{{error-handling-subtask}}
# Valid checkbox subtask
- [x] Add input validation [SSH001a]
- [ ] Implement error handling [SSH001b]
# Valid completed subtask (traditional)
#### 2. Add comprehensive tests (SSH001-2)
**Status**: Completed
**Review Rating**: 4.5
{{error-handling-subtask}}
Summary
Functions
Returns medium priority (45) since subtask validation depends on basic structure but should run before complex business rules.
Validates subtask structure, status, and required sections.
Functions
Returns medium priority (45) since subtask validation depends on basic structure but should run before complex business rules.
Validates subtask structure, status, and required sections.
Context Requirements
:config
- TaskValidator configuration (optional, uses defaults):references
- Available references for validation (optional)
Returns
- Success if all subtask validations pass
- Failure with specific error details for each validation issue