Pular para o conteúdo principal

persona_db/validators/run_validators.py

Runner de validação de consistência do PersonaDB (TASK-076).

Executa verificações estruturais e os 6 validadores de domínio (val_genealogia, val_temporal, val_financas, val_saude, val_juridico, val_social) sobre o dataset gerado em memória, produzindo relatório estruturado, registros para a tabela validacao_consistencia e relatório HTML opcional.

:::info Fonte Módulo persona_db.validators.run_validators — 311 linhas · 0 classe(s) · 8 função(ões) pública(s). Ver no GitHub :::

Constantes e tabelas de módulo​

NomeAnotaçãoValor
Violation—dict[str, Any]
CHECKS—(check_people, check_parentage, check_date_ranges, check_physical_traits, validate_genealogia, validate_tempo…
DOMAIN_VALIDATORS—{'genealogia': validate_genealogia, 'temporal': validate_temporal, 'financas': validate_financas, 'saude': va…

Funções​

check_people()​

def check_people(dataset: dict[str, list[dict[str, Any]]], today: date) -> list[Violation]

Verifica invariantes básicas da tabela central pessoa.

persona_db/validators/run_validators.py:36

check_parentage()​

def check_parentage(dataset: dict[str, list[dict[str, Any]]], today: date) -> list[Violation]

Verifica idade parental mínima (>= 14 anos) e ausência de auto-parentesco.

persona_db/validators/run_validators.py:60

check_date_ranges()​

def check_date_ranges(dataset: dict[str, list[dict[str, Any]]], today: date) -> list[Violation]

Verifica pares data_inicio <= data_fim e data_entrada <= data_saida.

persona_db/validators/run_validators.py:89

check_physical_traits()​

def check_physical_traits(dataset: dict[str, list[dict[str, Any]]], today: date) -> list[Violation]

Verifica faixas antropométricas de altura e peso.

persona_db/validators/run_validators.py:118

validate_dataset()​

def validate_dataset(dataset: dict[str, list[dict[str, Any]]], today: date | None=None) -> dict[str, Any]

Executa todos os validadores e retorna um relatório consolidado.

persona_db/validators/run_validators.py:158

build_validation_table_rows()​

def build_validation_table_rows(dataset: dict[str, list[dict[str, Any]]], today: date | None=None) -> list[dict[str, Any]]

Constrói linhas para a tabela validacao_consistencia (Domínio 24).

persona_db/validators/run_validators.py:203

render_html_report()​

def render_html_report(report: dict[str, Any], out_path: str | Path) -> Path

Renderiza um relatório HTML de qualidade dos dados gerados.

persona_db/validators/run_validators.py:233

main()​

def main(argv: list[str] | None=None) -> int

CLI de validação de consistência sobre um dataset sintético.

persona_db/validators/run_validators.py:279