TaskValidator.Validators.KpiValidator (TaskValidator v0.9.5)
View SourceValidates code quality KPIs (Key Performance Indicators) for tasks.
This validator ensures that tasks have appropriate code quality metrics defined and that these metrics meet the configured standards. It supports both explicit KPI definitions and reference-based KPI specifications.
Validation Rules
Required KPIs: Tasks must have code quality KPIs section or reference
- Code Quality KPIs section with specific metrics
- Can use
{{standard-kpis}}
reference instead
Standard KPI Metrics:
- Functions per module: Maximum number of functions in a module
- Lines per function: Maximum lines of code per function
- Call depth: Maximum nested function call depth
- Additional metrics can be configured
KPI Value Validation:
- All KPI values must be numeric and within configured limits
- Values should reflect realistic coding standards
- Metrics must be measurable and enforceable
Reference Support:
- Supports standard KPI references like
{{standard-kpis}}
- Validates reference existence in reference map
- Allows flexible KPI specification via references
- Supports standard KPI references like
Error Types
:missing_kpi_section
- No Code Quality KPIs section or reference found:missing_kpi_metrics
- Required KPI metrics not specified:invalid_kpi_value
- KPI value exceeds configured limits:invalid_kpi_format
- KPI not properly formatted:missing_kpi_reference
- Referenced KPI definition not found
Examples
# Valid explicit KPIs
**Code Quality KPIs**
- Functions per module: 8
- Lines per function: 15
- Call depth: 3
# Valid with reference
{{standard-kpis}}
# Valid custom KPIs
**Code Quality KPIs**
- Functions per module: 10
- Lines per function: 20
- Call depth: 4
- Cyclomatic complexity: 8
# Invalid - exceeds limits
**Code Quality KPIs**
- Functions per module: 25 # Too high
- Lines per function: 100 # Too high
- Call depth: 10 # Too deep
Summary
Functions
Returns low priority (30) since KPI validation is important for code quality but not critical for basic task structure.
Validates code quality KPIs according to configured standards.
Functions
Returns low priority (30) since KPI validation is important for code quality but not critical for basic task structure.
Validates code quality KPIs according to configured standards.
Context Requirements
:config
- TaskValidator configuration (optional, uses defaults):references
- Available references for validation (optional)
Returns
- Success if all KPI validations pass
- Failure with specific error details for each validation issue