persona_db/generators/gen_02_genealogia.py
gen_02_genealogia — domínio 02: família, parentesco, herança e ancestralidade.
Owned by Agent 10. Consome o contrato de gen_00_pessoa:
generate(personas, seed=7) -> dict[str, list[dict]]
Também enriquece cada persona com 'pai_id'/'mae_id'/'familia_id' (in-place) e propaga a herança genética de traços físicos (tipo sanguíneo, fator Rh, cor dos olhos, cor do cabelo, lateralidade, altura e peso) em ordem topológica geracional, permitindo que os domínios posteriores usem a árvore familiar com 100% de consistência mendeliana e poligênica.
Tabelas: familia, membro_familia, parentesco, arvore_genealogica, heranca, heranca_item, doacao_familiar, condicao_genetica, predisposicao_genetica, ancestralidade_ficticia.
:::info Fonte
Módulo persona_db.generators.gen_02_genealogia — 476 linhas · 1 classe(s) · 1 função(ões) pública(s). Ver no GitHub
:::
Classes
class Genealogia
Container acumulador para as tabelas do domínio 02.
| Atributo de classe | Valor |
|---|---|
rows | field(default_factory=lambda: {'familia': [], 'membro_familia': [], 'parentesco': [], 'arvore_genealogica': [… |
Funções
generate()
def generate(personas: list[dict], seed: int=7, today: date | None=None) -> dict[str, list[dict]]
Gera todas as tabelas de genealogia e propaga traços genéticos aos filhos.