Pular para o conteúdo principal

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​

NomeAnotaçãoValor
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.

persona_db/validators/val_genealogia.py:36