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
| Nome | Anotação | Valor |
|---|---|---|
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.