Files
GerbilManager/tools/import/genetics-prior-run-notes.md
Gulum aa4552ff84
Some checks failed
CI / Backend Tests (.NET) (push) Successful in 1m8s
CI / Frontend Tests (Node/Vite) (push) Failing after 4m55s
CI / Docker Build & Push (push) Has been skipped
docs(triage): Genetik-Vorlauf-Notizen als Referenz für Engine-Fixes
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 08:34:54 +02:00

3.6 KiB
Raw Blame History

Genetik-Engine — Befunde des Vorlaufs (auf veraltetem Basis-Commit, NICHT gemergt)

Diese Notizen stammen aus einem ersten Engine-Lauf, der auf einem ALTEN Stand (5e14124, vor den Genetik-Fixes b437d09) aufsetzte und deshalb nicht mergebar war. Sie dienen als Spezifikation/Leitfaden — der aktuelle main-Stand hat bereits Teile davon (uw-Aliasing, ee[-], e--Behandlung, Wildcard-Ansätze). Erst den IST-Zustand der Engine prüfen, dann nur noch das umsetzen, was real fehlt/falsch ist.

Zentrale Regel (von der Züchterin, Ticket 3e643ef1)

Ein unbekanntes Allel - ist eine Kopie des bekannten, sichtbaren Allels (A-→AA, D-→DD, E-→EE), bis das Gen ermittelt ist. NICHT auf das dominanteste Locus-Allel setzen und im Punnett NICHT über alle Allele streuen. Vorschlag des Vorlaufs: eine zentrale Funktion resolveAllelePair() (eins unbekannt → kopiere bekanntes Partner-Allel; beide unbekannt → Wildtyp), genutzt von phenotype.ts, catalog.ts, punnett.ts.

Pro Ticket (Ursache / Fix-Idee / fixNote-Vorschlag)

  • 5826e8e2 Goldfuchsschimmel statt Rotaugenschimmel: Katalog-Token E:'ef' unterscheidet homozygot Schimmel (ef/ef) nicht von heterozygot Fuchsschimmel (ef/e). Fix: Katalog-Matching E-Familien-bewusst; Fuchsschimmel matcht nur *fuchsschimmel-Einträge. fixNote: „Der errechnete Farbschlag wird jetzt richtig als Goldfuchsschimmel erkannt (vorher Rotaugenschimmel). Bitte neu laden."
  • 3deab547 / efa2b232 Dilute CP-Blaufuchs statt „blau"/„Unbekannt"/„Zobel": (1) Katalog-Eintrag „Dilute Blaufuchs" hatte fälschlich P:'p' (Verdünnung ist unabhängig vom Augenpigment) → auf P:'P'; (2) ee[-]ee (Fuchs); (3) Colourpoint-Zweig leitet Fuchs/Dilute-CP generisch ab. fixNote: „Diese Maus wird jetzt korrekt als Dilute CP-Blaufuchs angezeigt (alle dd-Tiere bekommen den Zusatz Dilute'). Bitte neu laden."
  • cc9ea3fe / 1a508c04 Mamta Mini Ee[-]Ee: Rück-Inferenz gespeicherter Genotypen gegen Eltern fehlt. Fix: neue Engine-Funktion resolveFromParents() (homozygoter Elternteil erzwingt Kind-Allel; - auflösen) + Anzeige in der Akte mit Hinweis-Chip „Aus den Eltern ergänzt". ACHTUNG: Mamta Minis Wurf hat in der DB evtl. keine verknüpften Eltern → Inferenz greift erst, wenn Eltern am Wurf hinterlegt sind (Import-Seite). Engine-Teil dennoch umsetzen + testen. fixNote: „Der Gencode am E-Locus wird jetzt aus den Eltern ergänzt: Da Vater Geely reinerbig ee ist, steht bei Mamta Mini jetzt Ee statt Ee-."
  • b034ddd2 e- gibt es nicht: nur E- und ee[-] gültig. (Prüfen, ob main das schon tut.)
  • 3e643ef1 / c8ce27e2 / 3c46d0b4 / 1e7b66e6 Wurf-Erwartungsfarben: unbekanntes Partner-Allel darf nicht zu rezessiven Gameten streuen (sonst Phantom-Dilute/„Unbekannt"/„C-Separator"). Fix in punnett.ts (parentAlleleWeights) über resolveAllelePair. Erwartete-Farben-Liste von technischen Pseudo-Farben + <1%-Wildcard-Artefakten bereinigen. fixNote: „Die erwarteten Wurffarben zeigen keine unmöglichen Dilute- oder Unbekannt'-Farben mehr."
  • 5151ab20 uw→G-Locus-Darstellung, 473dc345 Vance Kohlfuchs: laut Vorlauf in main vermutlich SCHON gelöst (uw/Uw→G/g Aliasing). Verifizieren; nur falls noch offen, anpassen. Zusätzlich: uw[d] (dense underwhite) muss parsebar sein (Gg[d] darf nicht crashen).

Backend-Mirror

Engine-Katalog wird kanonisch ins Backend gespiegelt: nach Katalog-Änderungen npm run gen:catalog und die CanonicalGenotype-Strings in ApplicationContext.cs angleichen (reine Seed-/Referenzwerte; prüfen ob Migration nötig — Seed-Daten via HasData können eine Migration auslösen).