TaskValidator.Validators.DependencyValidator (TaskValidator v0.9.1)
View SourceValidates task dependencies and dependency relationships.
This validator ensures that task dependencies are properly formatted, reference valid tasks, and don't create circular dependency chains. It supports both explicit dependencies and reference-based dependency specifications.
Validation Rules
Dependency Format:
- Dependencies: None (for tasks with no dependencies)
- Dependencies: TASK001, TASK002 (comma-separated list)
- Can use
{{def-no-dependencies}}
or{{no-dependencies}}
references
Dependency Existence:
- All referenced task IDs must exist in the task list
- Dependencies can reference both main tasks and subtasks
- Case-sensitive task ID matching
Circular Dependency Detection:
- Tasks cannot depend on themselves (direct circular dependency)
- Tasks cannot create dependency loops (indirect circular dependency)
- Validates entire dependency chain for cycles
Reference Support:
- Supports standard dependency references
- Validates reference existence in reference map
- Allows flexible dependency specification
Error Types
:missing_dependencies_section
- No Dependencies section found:invalid_dependency_reference
- Referenced task does not exist:circular_dependency
- Dependency creates a circular reference:invalid_dependency_format
- Dependencies not properly formatted:missing_dependency_reference
- Referenced dependency definition not found
Examples
# Valid no dependencies
**Dependencies**: None
# Valid with reference
{{def-no-dependencies}}
# Valid explicit dependencies
**Dependencies**: SSH001, VAL0004-1, CORE-123
# Valid alternative reference
{{no-dependencies}}
# Invalid - non-existent task
**Dependencies**: SSH999, INVALID001
# Invalid - circular dependency
Task A depends on Task B, Task B depends on Task A
Summary
Functions
Returns medium priority (40) since dependency validation depends on task structure but is less critical than ID or status validation.
Validates task dependencies according to format and existence rules.
Functions
Returns medium priority (40) since dependency validation depends on task structure but is less critical than ID or status validation.
Validates task dependencies according to format and existence rules.
Context Requirements
:all_tasks
- List of all tasks for dependency validation:references
- Available references for validation (optional)
Returns
- Success if all dependency validations pass
- Failure with specific error details for each validation issue