docs(triage): Genetik-Vorlauf-Notizen als Referenz für Engine-Fixes
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
45
tools/import/genetics-prior-run-notes.md
Normal file
45
tools/import/genetics-prior-run-notes.md
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# 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).
|
||||||
Reference in New Issue
Block a user