05_01_02_validation_engine - El Juez Automático¶
🎯 Propósito¶
Motor de validación de 5 fases que ejecuta verificación completa de la jerarquía de módulos.
📊 Pipeline de 5 Fases¶
- Parse & Load - Carga módulos y construye grafo
- Rule Checking - Aplica composition rules
- Cycle Detection - Detecta dependencias circulares (DFS)
- Transitive Validation - Valida jerarquía transitiva (Floyd-Warshall)
- Report Generation - Genera reportes (TEXT/JSON/HTML)
🚀 Quick Start¶
#include <audiolab/hierarchy/validation_engine.hpp>
using namespace audiolab::hierarchy;
// Preparar módulos
std::map<std::string, ModuleMetadata> modules = {/* ... */};
// Validar
auto& engine = global_validation_engine();
auto report = engine.validate_all(modules);
if (report.passed) {
std::cout << "✅ All modules valid!\n";
} else {
std::cout << "❌ Errors: " << report.stats.error_count << "\n";
std::cout << report.to_json();
}
🔑 Clases Principales¶
ValidationEngine¶
validate_all()- Valida todo el sistemavalidate_module()- Valida módulo individualquick_validate()- Validación rápida (solo errores)
DependencyGraph¶
- Representa grafo de dependencias
- Métodos:
get_dependencies(),get_transitive_dependencies(),calculate_depth()
CycleDetector¶
- Detecta ciclos usando DFS
find_all_cycles(),has_cycles(),find_one_cycle()
TransitiveValidator¶
- Valida closure transitivo usando Floyd-Warshall
compute_transitive_closure(),validate_transitive_hierarchy()
ValidationReport¶
- Reporte completo con estadísticas
- Exporta a JSON/HTML:
to_json(),to_html()
📈 Estadísticas del Reporte¶
- Total módulos validados
- Errores y warnings encontrados
- Ciclos detectados
- Duración por fase
- Duración total
✅ Tests¶
Target: >90% coverage
📚 Documentación¶
Ver docs/VALIDATION_PIPELINE.md para detalles del pipeline completo.
Status: ✅ Completado Cobertura: >90%