cursus.validation.alignment.utils.validation_models

Validation Models

This module provides consolidated data models and enums for the validation alignment system. Replaces the previous script_analysis_models.py and core_models.py with a unified approach.

class ValidationStatus(*values)[source]

Bases: Enum

Status of validation operations.

PASSED = 'PASSED'
FAILED = 'FAILED'
EXCLUDED = 'EXCLUDED'
ERROR = 'ERROR'
ISSUES_FOUND = 'ISSUES_FOUND'
PASSED_WITH_WARNINGS = 'PASSED_WITH_WARNINGS'
NO_VALIDATOR = 'NO_VALIDATOR'
COMPLETED = 'COMPLETED'
class IssueLevel(*values)[source]

Bases: Enum

Severity levels for validation issues.

ERROR = 'ERROR'
WARNING = 'WARNING'
INFO = 'INFO'
class RuleType(*values)[source]

Bases: Enum

Types of validation rules.

UNIVERSAL = 'universal'
STEP_SPECIFIC = 'step_specific'
METHOD_INTERFACE = 'method_interface'
CONFIGURATION = 'configuration'
class ValidationIssue(level, message, method_name=None, rule_type=None, details=None, step_name=None, file_path=None, line_number=None)[source]

Bases: object

Represents a validation issue found during alignment checking.

level: IssueLevel
message: str
method_name: str | None = None
rule_type: RuleType | None = None
details: Dict[str, Any] | None = None
step_name: str | None = None
file_path: str | None = None
line_number: int | None = None
to_dict()[source]

Convert issue to dictionary format.

class ValidationResult(status, step_name, validation_level=None, issues=None, metadata=None, error_message=None)[source]

Bases: object

Represents the result of a validation operation.

status: ValidationStatus
step_name: str
validation_level: ValidationLevel | None = None
issues: List[ValidationIssue] = None
metadata: Dict[str, Any] | None = None
error_message: str | None = None
property error_count: int

Count of error-level issues.

property warning_count: int

Count of warning-level issues.

property info_count: int

Count of info-level issues.

property total_issues: int

Total count of all issues.

add_issue(issue)[source]

Add a validation issue to the result.

to_dict()[source]

Convert result to dictionary format.

class MethodValidationInfo(method_name, is_required, expected_signature=None, return_type=None, purpose=None, validation_rules=None)[source]

Bases: object

Information about method validation requirements.

method_name: str
is_required: bool
expected_signature: str | None = None
return_type: str | None = None
purpose: str | None = None
validation_rules: List[str] | None = None
class StepValidationContext(step_name, step_type, builder_class_name=None, workspace_dirs=None, validation_config=None)[source]

Bases: object

Context information for step validation.

step_name: str
step_type: str
builder_class_name: str | None = None
workspace_dirs: List[str] | None = None
validation_config: Dict[str, Any] | None = None
class ValidationSummary[source]

Bases: object

Summary of validation results across multiple steps.

add_result(result)[source]

Add a validation result to the summary.

property success_rate: float

Calculate success rate (passed / total non-excluded).

to_dict()[source]

Convert summary to dictionary format.

create_validation_issue(level, message, method_name=None, rule_type=None, details=None, **kwargs)[source]

Create a validation issue with proper type conversion.

create_validation_result(status, step_name, validation_level=None, issues=None, **kwargs)[source]

Create a validation result with proper type conversion.

merge_validation_results(results)[source]

Merge multiple validation results into a single result.

filter_issues_by_level(issues, level)[source]

Filter validation issues by severity level.

group_issues_by_method(issues)[source]

Group validation issues by method name.

format_validation_summary(summary)[source]

Format validation summary as a readable string.