persona_db/validators/val_genealogia.py
val_genealogia — validador de consistência genealógica e genética (TASK-070).
Regras verificadas:
- Nenhum pai/mãe mais jovem que o filho (margem mínima: 14 anos = 14 * 365 dias).
- Tipo sanguíneo (ABO + Rh) do filho compatível com os pais via Punnett.
- Cor dos olhos biologicamente possível dados os pais (ex.: dois pais de olhos azuis não geram filho de olhos castanhos ou verdes).
- Lateralidade com probabilidade não-zero dados os pais.
- Nenhum ciclo direcionado na árvore genealógica (verificado via
networkx). - Herança registrada apenas de pessoas marcadas como falecidas (
esta_vivo == False).
:::info Fonte
Módulo persona_db.validators.val_genealogia — 171 linhas · 0 classe(s) · 1 função(ões) pública(s). Ver no GitHub
:::
Constantes e tabelas de módulo
| Nome | Anotação | Valor |
|---|---|---|
Violation | — | dict[str, Any] |
Funções
validate_genealogia()
def validate_genealogia(dataset: dict[str, list[dict[str, Any]]], today: date | None=None) -> list[Violation]
Executa todas as verificações de consistência genealógica e genética.