docs: Genetik-Engine immer voll mit Tests absichern (Konvention) + E-Locus-Regel

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 09:36:12 +02:00
parent 0540498e85
commit 12f5de00a0

View File

@@ -110,7 +110,13 @@ python test_extract.py test_extract_docx.py test_genotype.py test_merge_resol
- **Box-Farbe im Stammbaum-xlsx = Geschlecht**: weiß = weiblich, blau = männlich.
- **Genotyp/Farbschlag**: 8-Locus-Notation (siehe `tools/import/genotype.py`,
`gerbil-manager-web/src/genetics`). Unbekanntes Allel = `-` (nicht `?`).
E-Locus: `ee`=Fuchs, `eef`=Fuchsschimmel, `efef`=Schimmel.
E-Locus: `ee`=Fuchs, `eef`=Fuchsschimmel, `efef`=Schimmel. Rezessiver Fuchs ist
zwingend homozygot → `e-` ist ungültig (wirft), `ee[-]``ee`.
- **Genetik-Engine = korrektheitskritisch: IMMER vollständig mit Tests absichern.**
Jede Änderung an `src/genetics/**` (+ Backend-Mirror + `genotype.py`) braucht pro
Use-Case/Ticket einen Regressionstest (`src/genetics/__tests__/genetics.test.ts`
und `tools/import/test_genotype.py`), damit nie eine Regression entsteht. `npx vitest
run` + `python test_genotype.py` müssen grün sein, bevor „fertig".
- **Stammbaum-Charts**: Generationen = Spaltenbänder (Proband links in Spalte B/2,
je Generation +3 Spalten); Eltern-Position: Vater oben, Mutter unten. Fotos liegen
je nach Datei links/auf der Namenszelle — die Seite wird heuristisch über die