persona_db/generators/gen_04_educacao.py
gen_04_educacao — domínio 04: trajetória educacional, notas, bolsas e estágios.
Implementa TASK-044 de TODO.MD:
- Determina o nível máximo de escolaridade integrando escolaridade parental,
classe socioeconômica e impactos de saúde (
SocioeconomicEngine). - Simula matrículas sequenciais (
fundamental->medio->superior->pos) garantindo que o ensino superior ocorra somente após a conclusão do ensino médio. - Gera notas correlacionadas com variável latente de desempenho, saúde mental (-15% se transtorno mental) e trabalho paralelo (-8%).
- Modela frequência escolar com penalidade
Beta(2,5) * 30%e aumento de abandono escolar (+25%) em caso de doença grave. - Gera bolsas de estudo, certificados, diplomas, reprovações, estágios e empréstimos de biblioteca.
:::info Fonte
Módulo persona_db.generators.gen_04_educacao — 456 linhas · 0 classe(s) · 2 função(ões) pública(s). Ver no GitHub
:::
Constantes e tabelas de módulo
| Nome | Anotação | Valor |
|---|---|---|
MENTAL_HEALTH_GRADE_PENALTY | — | 0.85 |
PARALLEL_WORK_GRADE_PENALTY | — | 0.92 |
SEVERE_DISEASE_DROPOUT_BOOST | — | 0.25 |
SEVERE_DISEASE_ATTENDANCE_MAX_DROP | — | 30.0 |
INTERNSHIP_PROB_SUPERIOR | — | 0.65 |
PASSING_GRADE_THRESHOLD | — | 6.0 |
Funções
empresa_uuid()
def empresa_uuid(cnpj: str) -> str
Retorna o UUID determinístico de uma empresa a partir do seu CNPJ fictício.
persona_db/generators/gen_04_educacao.py:97
generate()
def generate(personas: list[dict[str, Any]], seed: int=7, today: date | None=None) -> dict[str, list[dict[str, Any]]]
Gera todas as tabelas do domínio 04 (Educação) em ordem cronológica.