fix(import): Eltern für Danielle, Catelyn, Gaida (Triage-Antworten der Züchterin)

- Danielle: Vater Makoto ergänzt (Mutter Ella war schon gesetzt) — Geschwisterverpaarung.
- Catelyn: Eltern Eddard Stark of Sunset Glow × Milena.
- Gaida: Eltern über Geburtsdatum gefunden — Zhuāngzǐ × Zaibunissa (beide *21.02.2020,
  Geschwisterverpaarung, Kinder von Nisha × Zenon).

Per conflict-decisions.json (re-ingest verifiziert: Eltern live korrekt). Tickets
4692fd5c / 7bbc045c / ba63325a geschlossen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 12:18:06 +02:00
parent f7a1a7724b
commit 41ee4ee3ab

View File

@@ -1,400 +1,428 @@
{ {
"_doc": "Human conflict resolutions for the import quarantine (HUMANQUESTION section D / C6). The importer consumes this to UN-QUARANTINE an animal: for a matching (name + dob) it accepts the given authoritative field(s) — `genotype`, `farbschlag`, and/or `dateOfDeath` (DD.MM.YYYY) — and skips the conflict. Special field `externalRef` (the dedup slug / animals.json id, e.g. \"unbekannt-13082025-3\"): matches ONE specific record even when several NAMELESS animals share the same (name=\"\" + dob) key — externalRef wins over the name/dob keys. An externalRef-only resolution (no `name`) does NOT register a name/dob key. Special field `correctDob` (DD.MM.YYYY): the matched (name + dob) record is a DUPLICATE with a WRONG birthdate — remap its DOB to `correctDob` BEFORE dedup so it merges into the canonical same-named animal. Other override fields per resolution: `gender` (male|female|m|w) — fix a misread box-colour gender (applies to stammbaum AND Wurfchronik/docx animals via merge_and_resolve.apply_decision_overrides); `father`/`mother` — authoritative parent NAMES; optional `fatherDob`/`motherDob` (DD.MM.YYYY) disambiguate a parent when several same-named animals exist. Special top-level array `addAnimals` [{name, gender, zucht?, dob?}] materialises a non-resident stub gerbil for a KNOWN parent that has no own source record (e.g. a mother named only on a Wurfchronik litter), so the litter's parent link resolves. Key match = normalize(call-name) + dob, same identity as dedup. Maintained by god (Michael) as Julian/his wife answer the D-conflicts; originals (xlsx) stay read-only.", "_doc": "Human conflict resolutions for the import quarantine (HUMANQUESTION section D / C6). The importer consumes this to UN-QUARANTINE an animal: for a matching (name + dob) it accepts the given authoritative field(s) — `genotype`, `farbschlag`, and/or `dateOfDeath` (DD.MM.YYYY) — and skips the conflict. Special field `externalRef` (the dedup slug / animals.json id, e.g. \"unbekannt-13082025-3\"): matches ONE specific record even when several NAMELESS animals share the same (name=\"\" + dob) key — externalRef wins over the name/dob keys. An externalRef-only resolution (no `name`) does NOT register a name/dob key. Special field `correctDob` (DD.MM.YYYY): the matched (name + dob) record is a DUPLICATE with a WRONG birthdate — remap its DOB to `correctDob` BEFORE dedup so it merges into the canonical same-named animal. Other override fields per resolution: `gender` (male|female|m|w) — fix a misread box-colour gender (applies to stammbaum AND Wurfchronik/docx animals via merge_and_resolve.apply_decision_overrides); `father`/`mother` — authoritative parent NAMES; optional `fatherDob`/`motherDob` (DD.MM.YYYY) disambiguate a parent when several same-named animals exist. Special top-level array `addAnimals` [{name, gender, zucht?, dob?}] materialises a non-resident stub gerbil for a KNOWN parent that has no own source record (e.g. a mother named only on a Wurfchronik litter), so the litter's parent link resolves. Key match = normalize(call-name) + dob, same identity as dedup. Maintained by god (Michael) as Julian/his wife answer the D-conflicts; originals (xlsx) stay read-only.",
"resolutions": [ "resolutions": [
{ {
"name": "Firefly von den Kleinen Chaoten", "name": "Firefly von den Kleinen Chaoten",
"dob": "18.12.2019", "dob": "18.12.2019",
"decision": "D-locus = D- (the DD in one source was a typo)", "decision": "D-locus = D- (the DD in one source was a typo)",
"genotype": "Aa c[chm]c[chm] D- Ee Gg PP Spsp", "genotype": "Aa c[chm]c[chm] D- Ee Gg PP Spsp",
"source": "Julian 2026-06-06 — HUMANQUESTION D3" "source": "Julian 2026-06-06 — HUMANQUESTION D3"
}, },
{ {
"name": "WildFire von den Kleinen Chaoten", "name": "WildFire von den Kleinen Chaoten",
"dob": "05.10.2017", "dob": "05.10.2017",
"decision": "P-locus = PP (not P-)", "decision": "P-locus = PP (not P-)",
"genotype": "aa c[chm]c[chm] D- Ee gg PP spsp", "genotype": "aa c[chm]c[chm] D- Ee gg PP spsp",
"source": "Julian 2026-06-06 — HUMANQUESTION D3" "source": "Julian 2026-06-06 — HUMANQUESTION D3"
}, },
{ {
"name": "Flint von den Kleinen Chaoten", "name": "Flint von den Kleinen Chaoten",
"dob": "23.12.2017", "dob": "23.12.2017",
"decision": "death date = 10.05.2021 (the 10.05.2022 variant was a year typo)", "decision": "death date = 10.05.2021 (the 10.05.2022 variant was a year typo)",
"dateOfDeath": "10.05.2021", "dateOfDeath": "10.05.2021",
"source": "Julian 2026-06-06 — HUMANQUESTION D5" "source": "Julian 2026-06-06 — HUMANQUESTION D5"
}, },
{ {
"name": "Molly of Black Forest", "name": "Molly of Black Forest",
"dob": "13.09.2021", "dob": "13.09.2021",
"decision": "death date = 03.05.2022 (source 03.05.2021 was a year typo → fell before birth)", "decision": "death date = 03.05.2022 (source 03.05.2021 was a year typo → fell before birth)",
"dateOfDeath": "03.05.2022", "dateOfDeath": "03.05.2022",
"source": "Julian 2026-06-06 — HUMANQUESTION D5" "source": "Julian 2026-06-06 — HUMANQUESTION D5"
}, },
{ {
"name": "Daja of Little Rose", "name": "Daja of Little Rose",
"dob": "16.05.2021", "dob": "16.05.2021",
"decision": "keep spsp (present in one source, omitted in the other) — 'presence wins' rule", "decision": "keep spsp (present in one source, omitted in the other) — 'presence wins' rule",
"genotype": "aa c[chm]c[chm] D- EE Gg P- spsp", "genotype": "aa c[chm]c[chm] D- EE Gg P- spsp",
"source": "Julian 2026-06-06 — HUMANQUESTION D3 / Beibehalten-Regel" "source": "Julian 2026-06-06 — HUMANQUESTION D3 / Beibehalten-Regel"
}, },
{ {
"name": "Ichika von den Kleinen Chaoten", "name": "Ichika von den Kleinen Chaoten",
"dob": "19.04.2020", "dob": "19.04.2020",
"decision": "keep ee[f] (the [f] fox-modifier was present in one source, dropped in the other) — 'presence wins' rule", "decision": "keep ee[f] (the [f] fox-modifier was present in one source, dropped in the other) — 'presence wins' rule",
"genotype": "aa CC D- ee[f] Gg pp spsp", "genotype": "aa CC D- ee[f] Gg pp spsp",
"source": "Julian 2026-06-06 — HUMANQUESTION D3 / Beibehalten-Regel" "source": "Julian 2026-06-06 — HUMANQUESTION D3 / Beibehalten-Regel"
}, },
{ {
"name": "Zuleika von den Kleinen Chaoten", "name": "Zuleika von den Kleinen Chaoten",
"dob": "24.10.2015", "dob": "24.10.2015",
"decision": "D=DD, E=Ee (one small e), G=Gg (one small g), P=PP (two big P)", "decision": "D=DD, E=Ee (one small e), G=Gg (one small g), P=PP (two big P)",
"genotype": "aa c[chm]c[h] DD Ee Gg PP spsp", "genotype": "aa c[chm]c[h] DD Ee Gg PP spsp",
"source": "Julian 2026-06-06 — HUMANQUESTION D3" "source": "Julian 2026-06-06 — HUMANQUESTION D3"
}, },
{ {
"name": "Milka of LennyLengo", "name": "Milka of LennyLengo",
"dob": "09.12.2018", "dob": "09.12.2018",
"decision": "C-locus = Cc[h], E-locus = EE", "decision": "C-locus = Cc[h], E-locus = EE",
"genotype": "aa Cc[h] dd EE Gg P- Spsp", "genotype": "aa Cc[h] dd EE Gg P- Spsp",
"source": "Julian 2026-06-06 — HUMANQUESTION D3" "source": "Julian 2026-06-06 — HUMANQUESTION D3"
}, },
{ {
"name": "Silvain von den Kleinen Chaoten", "name": "Silvain von den Kleinen Chaoten",
"dob": "27.03.2022", "dob": "27.03.2022",
"decision": "E-locus = ee, P-locus = Pp", "decision": "E-locus = ee, P-locus = Pp",
"genotype": "aa c[chm]c[chm] Dd ee[-] Gg Pp Spsp", "genotype": "aa c[chm]c[chm] Dd ee[-] Gg Pp Spsp",
"source": "Julian 2026-06-06 — HUMANQUESTION D3" "source": "Julian 2026-06-06 — HUMANQUESTION D3"
}, },
{ {
"name": "Chelsea von den Kleinen Chaoten", "name": "Chelsea von den Kleinen Chaoten",
"dob": "15.10.2021", "dob": "15.10.2021",
"decision": "duplicate with wrong birthdate — same animal as Chelsea *02.04.2021; merge into it", "decision": "duplicate with wrong birthdate — same animal as Chelsea *02.04.2021; merge into it",
"correctDob": "02.04.2021", "correctDob": "02.04.2021",
"source": "Julian 2026-06-06 — HUMANQUESTION D3 (Chelsea Dublette)" "source": "Julian 2026-06-06 — HUMANQUESTION D3 (Chelsea Dublette)"
}, },
{ {
"name": "Vestra von den Schlossmäusen", "name": "Vestra von den Schlossmäusen",
"dob": "08.02.2019", "dob": "08.02.2019",
"decision": "D-locus = DD", "decision": "D-locus = DD",
"genotype": "Aa Cc[chm] DD EE GG PP Spsp [WP]", "genotype": "Aa Cc[chm] DD EE GG PP Spsp [WP]",
"source": "Julian 2026-06-06 — HUMANQUESTION D4" "source": "Julian 2026-06-06 — HUMANQUESTION D4"
}, },
{ {
"name": "Victoria Welby gen. Welby v.d. Kleinen Chaoten", "name": "Victoria Welby gen. Welby v.d. Kleinen Chaoten",
"dob": "16.01.2023", "dob": "16.01.2023",
"decision": "E-locus = ee[f] (Fuchs). This is the mother of animal 'C' (c-29042024) — un-quarantining her links C's second parent. Name in v.d. spelling (workaround from Re-Import #2); both spellings now match after FIX-1 (canon_pair identity).", "decision": "E-locus = ee[f] (Fuchs). This is the mother of animal 'C' (c-29042024) — un-quarantining her links C's second parent. Name in v.d. spelling (workaround from Re-Import #2); both spellings now match after FIX-1 (canon_pair identity).",
"genotype": "Aa CC D- ee[f] Gg pp Spsp [DP]", "genotype": "Aa CC D- ee[f] Gg pp Spsp [DP]",
"source": "Julian 2026-06-06 — HUMANQUESTION D4" "source": "Julian 2026-06-06 — HUMANQUESTION D4"
}, },
{ {
"name": "Little Runner's Big Ben", "name": "Little Runner's Big Ben",
"dob": "03.02.2020", "dob": "03.02.2020",
"decision": "P-locus = Pp (not PP) — the two sources differed only at P", "decision": "P-locus = Pp (not PP) — the two sources differed only at P",
"genotype": "Aa Cc[chm] DD Ee Gg Pp Spsp", "genotype": "Aa Cc[chm] DD Ee Gg Pp Spsp",
"source": "Julian 2026-06-07 — HUMANQUESTION D6" "source": "Julian 2026-06-07 — HUMANQUESTION D6"
}, },
{ {
"name": "Vance Jr. von den Kleinen Chaoten", "name": "Vance Jr. von den Kleinen Chaoten",
"dob": "10.04.2022", "dob": "10.04.2022",
"decision": "Sp-locus = spsp (kleines spsp, ungescheckt) — die Quellen unterschieden sich nur bei Sp (Spsp // spsp). C-Locus 'c[hm]' im Extrakt → als c[chm] normalisiert (kein gültiges Symbol; c[chm] = offensichtliche Absicht).", "decision": "Sp-locus = spsp (kleines spsp, ungescheckt) — die Quellen unterschieden sich nur bei Sp (Spsp // spsp). C-Locus 'c[hm]' im Extrakt → als c[chm] normalisiert (kein gültiges Symbol; c[chm] = offensichtliche Absicht).",
"genotype": "aa Cc[chm] Dd Ee gg P- spsp", "genotype": "aa Cc[chm] Dd Ee gg P- spsp",
"source": "Julian 2026-06-07 — HUMANQUESTION D6" "source": "Julian 2026-06-07 — HUMANQUESTION D6"
}, },
{ {
"name": "Skarlett von den Kleinen Chaoten", "name": "Skarlett von den Kleinen Chaoten",
"dob": "14.07.2013", "dob": "14.07.2013",
"decision": "birth 2013 + 4 years = death year 2017, no exact date → year-only convention (01.01.2017). Previous entry (17.04.2016) was wrong.", "decision": "birth 2013 + 4 years = death year 2017, no exact date → year-only convention (01.01.2017). Previous entry (17.04.2016) was wrong.",
"dateOfDeath": "01.01.2017", "dateOfDeath": "01.01.2017",
"source": "Julian 2026-06-07 — HUMANQUESTION D7 (final Skarlett resolution)" "source": "Julian 2026-06-07 — HUMANQUESTION D7 (final Skarlett resolution)"
}, },
{ {
"name": "Kazu von den Kleinen Chaoten", "name": "Kazu von den Kleinen Chaoten",
"dob": "23.04.2013", "dob": "23.04.2013",
"decision": "E-locus = ee[f], G-locus = GG (one source wrote UwUw = GG in international notation), P-locus = PP — resolves the 3 contested loci", "decision": "E-locus = ee[f], G-locus = GG (one source wrote UwUw = GG in international notation), P-locus = PP — resolves the 3 contested loci",
"genotype": "Aa Cc[chm] DD ee[f] GG PP Spsp", "genotype": "Aa Cc[chm] DD ee[f] GG PP Spsp",
"source": "Julian 2026-06-07 — HUMANQUESTION D6" "source": "Julian 2026-06-07 — HUMANQUESTION D6"
}, },
{ {
"name": "Hanami von den Kleinen Chaoten", "name": "Hanami von den Kleinen Chaoten",
"dob": "10.09.2015", "dob": "10.09.2015",
"decision": "death date = 12.12.2019 (confirmed; the 14.01.2020 variant was wrong)", "decision": "death date = 12.12.2019 (confirmed; the 14.01.2020 variant was wrong)",
"dateOfDeath": "12.12.2019", "dateOfDeath": "12.12.2019",
"source": "Julian 2026-06-07 — HUMANQUESTION D5/D6 (letzter D6-Konflikt)" "source": "Julian 2026-06-07 — HUMANQUESTION D5/D6 (letzter D6-Konflikt)"
}, },
{ {
"name": "Kazumi von den Kleinen Chaoten", "name": "Kazumi von den Kleinen Chaoten",
"dob": "23.04.2013", "dob": "23.04.2013",
"decision": "voller Genotyp von der Züchterin — löst die 4 strittigen Loci: A=Aa, G=GG, P=PP, Sp=Spsp", "decision": "voller Genotyp von der Züchterin — löst die 4 strittigen Loci: A=Aa, G=GG, P=PP, Sp=Spsp",
"genotype": "Aa Cc[chm] DD ee[f] GG PP Spsp", "genotype": "Aa Cc[chm] DD ee[f] GG PP Spsp",
"source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7" "source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7"
}, },
{ {
"name": "Filou von den Kleinen Chaoten", "name": "Filou von den Kleinen Chaoten",
"dob": "24.11.2014", "dob": "24.11.2014",
"decision": "Sterbedatum = 31.08.2019 (die 31.10.2019-Variante war falsch); Gencode war einig", "decision": "Sterbedatum = 31.08.2019 (die 31.10.2019-Variante war falsch); Gencode war einig",
"dateOfDeath": "31.08.2019", "dateOfDeath": "31.08.2019",
"source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7" "source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7"
}, },
{ {
"name": "Sokrates von den Kleinen Chaoten", "name": "Sokrates von den Kleinen Chaoten",
"dob": "14.12.2015", "dob": "14.12.2015",
"decision": "D-Locus = D- (nicht Dd) + Sterbedatum = 20.05.2019 (nicht 2020). Genotyp = die einigen Loci aus dem Extrakt mit D auf D- gesetzt (Uw→G normalisiert).", "decision": "D-Locus = D- (nicht Dd) + Sterbedatum = 20.05.2019 (nicht 2020). Genotyp = die einigen Loci aus dem Extrakt mit D auf D- gesetzt (Uw→G normalisiert).",
"genotype": "aa Cc[-] D- ee Gg Pp spsp", "genotype": "aa Cc[-] D- ee Gg Pp spsp",
"dateOfDeath": "20.05.2019", "dateOfDeath": "20.05.2019",
"source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7" "source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7"
}, },
{ {
"name": "Percy of little runners", "name": "Percy of little runners",
"dob": "16.12.2017", "dob": "16.12.2017",
"decision": "P-Locus = Pp (die Quellen unterschieden sich nur bei P: PP // Pp)", "decision": "P-Locus = Pp (die Quellen unterschieden sich nur bei P: PP // Pp)",
"genotype": "aa Cc[chm] DD Ee Gg Pp Spsp", "genotype": "aa Cc[chm] DD Ee Gg Pp Spsp",
"source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7" "source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7"
}, },
{ {
"name": "Iwana of little runners", "name": "Iwana of little runners",
"dob": "02.10.2018", "dob": "02.10.2018",
"decision": "P-Locus = Pp (die Quellen unterschieden sich nur bei P: PP // Pp)", "decision": "P-Locus = Pp (die Quellen unterschieden sich nur bei P: PP // Pp)",
"genotype": "Aa CC DD Ee Gg Pp spsp", "genotype": "Aa CC DD Ee Gg Pp spsp",
"source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7" "source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7"
}, },
{ {
"name": "Osamu von den Kleinen Chaoten", "name": "Osamu von den Kleinen Chaoten",
"dob": "10.12.2015", "dob": "10.12.2015",
"decision": "Sterbedatum = 18.12.2020 (die 01.10.2020-Variante war falsch); Gencode war einig, taub-Flag bleibt via 'Vorhandensein gewinnt'", "decision": "Sterbedatum = 18.12.2020 (die 01.10.2020-Variante war falsch); Gencode war einig, taub-Flag bleibt via 'Vorhandensein gewinnt'",
"dateOfDeath": "18.12.2020", "dateOfDeath": "18.12.2020",
"source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7" "source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7"
}, },
{ {
"name": "Max von Privat", "name": "Max von Privat",
"dob": "01.02.2013", "dob": "01.02.2013",
"decision": "Genotyp von der Züchterin bestätigt (D-=D-, P=PP); Todesjahr 2014 (kein genaues Datum → Jahr-only-Konvention 01.01.2014). Reject 4 on-file-Varianten: 04.02.2016 / 04.03.2016 / 2014-raw / 30.12.2015.", "decision": "Genotyp von der Züchterin bestätigt (D-=D-, P=PP); Todesjahr 2014 (kein genaues Datum → Jahr-only-Konvention 01.01.2014). Reject 4 on-file-Varianten: 04.02.2016 / 04.03.2016 / 2014-raw / 30.12.2015.",
"genotype": "aa c[chm]c[chm] D- EE GG PP spsp", "genotype": "aa c[chm]c[chm] D- EE GG PP spsp",
"dateOfDeath": "01.01.2014", "dateOfDeath": "01.01.2014",
"source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7 (resolved)" "source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7 (resolved)"
}, },
{ {
"name": "Isa of Golden Lights", "name": "Isa of Golden Lights",
"dob": "24.12.2014", "dob": "24.12.2014",
"decision": "Sterbedatum von der Züchterin (DOB-key war im extract teils leer; diese Zeile matcht die konfliktbehaftete Zeile mit dob=24.12.2014)", "decision": "Sterbedatum von der Züchterin (DOB-key war im extract teils leer; diese Zeile matcht die konfliktbehaftete Zeile mit dob=24.12.2014)",
"dateOfDeath": "21.07.2018", "dateOfDeath": "21.07.2018",
"source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7" "source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7"
}, },
{ {
"name": "Jack II von den Kleinen Chaoten", "name": "Jack II von den Kleinen Chaoten",
"dob": "14.02.2016", "dob": "14.02.2016",
"decision": "Sterbedatum von der Züchterin", "decision": "Sterbedatum von der Züchterin",
"dateOfDeath": "06.10.2019", "dateOfDeath": "06.10.2019",
"source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7" "source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7"
}, },
{ {
"name": "Milon von den Kleinen Chaoten", "name": "Milon von den Kleinen Chaoten",
"dob": "27.11.2014", "dob": "27.11.2014",
"decision": "A-Locus = Aa (Quellen: Aa // aa — einziger strittiger Locus, Züchterin löst auf Aa); alle anderen Loci waren einig", "decision": "A-Locus = Aa (Quellen: Aa // aa — einziger strittiger Locus, Züchterin löst auf Aa); alle anderen Loci waren einig",
"genotype": "Aa Cc[chm] D- ee[f] gg Pp spsp", "genotype": "Aa Cc[chm] D- ee[f] gg Pp spsp",
"source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7" "source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7"
}, },
{ {
"name": "Sunny von PZ Karl", "name": "Sunny von PZ Karl",
"dob": "10.04.2014", "dob": "10.04.2014",
"decision": "Sterbedatum von der Züchterin; bestätigt = 'von PZ Karl' (nicht 'Sunny Sky of Fiomi')", "decision": "Sterbedatum von der Züchterin; bestätigt = 'von PZ Karl' (nicht 'Sunny Sky of Fiomi')",
"dateOfDeath": "30.04.2018", "dateOfDeath": "30.04.2018",
"source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7 (Nachtrag)" "source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7 (Nachtrag)"
}, },
{ {
"name": "Dakota of sweet little mouse", "name": "Dakota of sweet little mouse",
"dob": "30.01.2015", "dob": "30.01.2015",
"decision": "Genotyp von Julian/Züchterin: A-Locus=Aa, P-Locus=pp, Sp-Locus=Spsp (offene Loci); übrige bestätigt.", "decision": "Genotyp von Julian/Züchterin: A-Locus=Aa, P-Locus=pp, Sp-Locus=Spsp (offene Loci); übrige bestätigt.",
"genotype": "Aa CC Dd Ee Gg pp Spsp", "genotype": "Aa CC Dd Ee Gg pp Spsp",
"source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7" "source": "Julian/Züchterin 2026-06-07 — HUMANQUESTION D7"
}, },
{ {
"name": "Banjo of Fiomi", "name": "Banjo of Fiomi",
"dob": "06.07.2015", "dob": "06.07.2015",
"decision": "E-Locus Korrektur: Julian — 'Goldfuchs Starkschecke, nicht Gold Starkschecke' → E-Locus muss ee sein, nicht E-. Extract hatte AA CC DD E- Gg pp Spsp [WP]; korrigiert zu ee (Goldfuchs-Definition). Sohn von Dakota of sweet little mouse.", "decision": "E-Locus Korrektur: Julian — 'Goldfuchs Starkschecke, nicht Gold Starkschecke' → E-Locus muss ee sein, nicht E-. Extract hatte AA CC DD E- Gg pp Spsp [WP]; korrigiert zu ee (Goldfuchs-Definition). Sohn von Dakota of sweet little mouse.",
"genotype": "AA CC DD ee Gg pp Spsp", "genotype": "AA CC DD ee Gg pp Spsp",
"farbschlag": "Goldfuchs Starkschecke", "farbschlag": "Goldfuchs Starkschecke",
"source": "Julian 2026-06-07 — HUMANQUESTION D7 (Sohn-Korrektur, nicht ursprüngliche D7-Liste)" "source": "Julian 2026-06-07 — HUMANQUESTION D7 (Sohn-Korrektur, nicht ursprüngliche D7-Liste)"
}, },
{ {
"name": "Joghurt von Privat", "name": "Joghurt von Privat",
"dob": "06.09.2013", "dob": "06.09.2013",
"decision": "Genotype aa Cc[-] D- ee UwUw PP spsp as confirmed by Julian.", "decision": "Genotype aa Cc[-] D- ee UwUw PP spsp as confirmed by Julian.",
"genotype": "aa Cc[-] D- ee UwUw PP spsp", "genotype": "aa Cc[-] D- ee UwUw PP spsp",
"source": "Julian 2026-06-12" "source": "Julian 2026-06-12"
}, },
{ {
"name": "Ken'ichi", "name": "Ken'ichi",
"dob": "01.03.2015", "dob": "01.03.2015",
"decision": "Genotype AA CC DD Ee GG PP spsp is correct, farbschlag is Agouti.", "decision": "Genotype AA CC DD Ee GG PP spsp is correct, farbschlag is Agouti.",
"genotype": "AA CC DD Ee GG PP spsp", "genotype": "AA CC DD Ee GG PP spsp",
"farbschlag": "Agouti", "farbschlag": "Agouti",
"source": "Julian 2026-06-12" "source": "Julian 2026-06-12"
}, },
{ {
"name": "Harumi", "name": "Harumi",
"dob": "21.02.2015", "dob": "21.02.2015",
"decision": "Death date is 11.01.2018 (died in 2018).", "decision": "Death date is 11.01.2018 (died in 2018).",
"dateOfDeath": "11.01.2018", "dateOfDeath": "11.01.2018",
"source": "Julian 2026-06-12" "source": "Julian 2026-06-12"
}, },
{ {
"name": "Kleiner Warnowrenner Elieus gen. Eragon", "name": "Kleiner Warnowrenner Elieus gen. Eragon",
"dob": "18.05.2016", "dob": "18.05.2016",
"decision": "Genotype is aa CC D- Ee Gg pp Spsp [DP] (C locus is CC, full color, duplicate colourpoint record resolved).", "decision": "Genotype is aa CC D- Ee Gg pp Spsp [DP] (C locus is CC, full color, duplicate colourpoint record resolved).",
"genotype": "aa CC D- Ee Gg pp Spsp [DP]", "genotype": "aa CC D- Ee Gg pp Spsp [DP]",
"source": "Julian 2026-06-12" "source": "Julian 2026-06-12"
}, },
{ {
"name": "Kazuya von den Kleinen Chaoten", "name": "Kazuya von den Kleinen Chaoten",
"dob": "22.08.2018", "dob": "22.08.2018",
"decision": "duplicate with wrong birthdate and parents — same animal as Kazuya *14.07.2019; merge into it and correct parents to Wilbur + Naho", "decision": "duplicate with wrong birthdate and parents — same animal as Kazuya *14.07.2019; merge into it and correct parents to Wilbur + Naho",
"correctDob": "14.07.2019", "correctDob": "14.07.2019",
"source": "Stammbaum von Kazuya.xlsx" "source": "Stammbaum von Kazuya.xlsx"
}, },
{ {
"name": "Kazuya von den Kleinen Chaoten", "name": "Kazuya von den Kleinen Chaoten",
"dob": "14.07.2019", "dob": "14.07.2019",
"decision": "father = Wilbur von den Kleinen Chaoten, mother = Naho von den Kleinen Chaoten (from Stammbaum von Kazuya.xlsx)", "decision": "father = Wilbur von den Kleinen Chaoten, mother = Naho von den Kleinen Chaoten (from Stammbaum von Kazuya.xlsx)",
"father": "Wilbur von den Kleinen Chaoten", "father": "Wilbur von den Kleinen Chaoten",
"mother": "Naho von den Kleinen Chaoten", "mother": "Naho von den Kleinen Chaoten",
"source": "Stammbaum von Kazuya.xlsx" "source": "Stammbaum von Kazuya.xlsx"
}, },
{ {
"name": "Naho von den Kleinen Chaoten", "name": "Naho von den Kleinen Chaoten",
"dob": "20.07.2017", "dob": "20.07.2017",
"decision": "father = Osamu von den Kleinen Chaoten, mother = Montana v.d. Kleinen Chaoten (from Stammbaum von Kazuya.xlsx)", "decision": "father = Osamu von den Kleinen Chaoten, mother = Montana v.d. Kleinen Chaoten (from Stammbaum von Kazuya.xlsx)",
"father": "Osamu von den Kleinen Chaoten", "father": "Osamu von den Kleinen Chaoten",
"mother": "Montana v.d. Kleinen Chaoten", "mother": "Montana v.d. Kleinen Chaoten",
"source": "Stammbaum von Kazuya.xlsx" "source": "Stammbaum von Kazuya.xlsx"
}, },
{ {
"name": "Mozart of Lennylengo", "name": "Mozart of Lennylengo",
"dob": "12.03.2017", "dob": "12.03.2017",
"decision": "gender = female (box colour in Stammbaum von Fire Kids.xlsx was misread as male). Mozart is the mother of Stich von Privatzucht Giessen's litter.", "decision": "gender = female (box colour in Stammbaum von Fire Kids.xlsx was misread as male). Mozart is the mother of Stich von Privatzucht Giessen's litter.",
"gender": "female", "gender": "female",
"source": "Züchterin 2026-06-22 — Ticket #2 (Stich, Mutter fehlte)" "source": "Züchterin 2026-06-22 — Ticket #2 (Stich, Mutter fehlte)"
}, },
{ {
"name": "Yuki von den Kleinen Chaoten", "name": "Yuki von den Kleinen Chaoten",
"dob": "03.02.2020", "dob": "03.02.2020",
"decision": "parents are Camaro (Chevrolet Camaro of Topolino) × Izumi, NOT Benjiro + Louis (chart-position misread).", "decision": "parents are Camaro (Chevrolet Camaro of Topolino) × Izumi, NOT Benjiro + Louis (chart-position misread).",
"father": "Chevrolet Camaro of Topolino", "father": "Chevrolet Camaro of Topolino",
"mother": "Izumi von den Kleinen Chaoten", "mother": "Izumi von den Kleinen Chaoten",
"source": "Züchterin 2026-06-22 — Ticket #23" "source": "Züchterin 2026-06-22 — Ticket #23"
}, },
{ {
"name": "Gold v.d. Kleinen Chaoten", "name": "Gold v.d. Kleinen Chaoten",
"dob": "03.08.2023", "dob": "03.08.2023",
"decision": "mother should be Chelsea von den Kleinen Chaoten (not Gaida — chart-position misread). Father Trogir confirmed via contract 'Platin (Trogir.Chelsea)'.", "decision": "mother should be Chelsea von den Kleinen Chaoten (not Gaida — chart-position misread). Father Trogir confirmed via contract 'Platin (Trogir.Chelsea)'.",
"father": "Trogir von den Kleinen Chaoten", "father": "Trogir von den Kleinen Chaoten",
"mother": "Chelsea von den Kleinen Chaoten", "mother": "Chelsea von den Kleinen Chaoten",
"source": "Züchterin 2026-06-22 — Ticket #36" "source": "Züchterin 2026-06-22 — Ticket #36"
}, },
{ {
"name": "Arya Stark von den Kleinen Chaoten", "name": "Arya Stark von den Kleinen Chaoten",
"dob": "30.06.2020", "dob": "30.06.2020",
"decision": "parents are Sansa Stark (mother) × Vance (father) — a sibling pairing (both *09.04.2019). Chart-position had scrambled the roles (mother=Enya, no father).", "decision": "parents are Sansa Stark (mother) × Vance (father) — a sibling pairing (both *09.04.2019). Chart-position had scrambled the roles (mother=Enya, no father).",
"father": "Vance von den Kleinen Chaoten", "father": "Vance von den Kleinen Chaoten",
"mother": "Sansa Stark von den Kleinen Chaoten", "mother": "Sansa Stark von den Kleinen Chaoten",
"source": "Züchterin 2026-06-22 — Ticket #16" "source": "Züchterin 2026-06-22 — Ticket #16"
}, },
{ {
"name": "Tony v.d. Kleinen Chaoten", "name": "Tony v.d. Kleinen Chaoten",
"dob": "16.09.2015", "dob": "16.09.2015",
"decision": "father is Sammy von den Kleinen Chaoten (Wurfchronik L7-Wurf: 'Parents Sammy + Queenie'). Chart-position had fabricated 'Jack Jr.'.", "decision": "father is Sammy von den Kleinen Chaoten (Wurfchronik L7-Wurf: 'Parents Sammy + Queenie'). Chart-position had fabricated 'Jack Jr.'.",
"father": "Sammy von den Kleinen Chaoten", "father": "Sammy von den Kleinen Chaoten",
"mother": "Qamikaze Queen von den Schlossmäusen", "mother": "Qamikaze Queen von den Schlossmäusen",
"source": "Züchterin 2026-06-22 — Ticket #12" "source": "Züchterin 2026-06-22 — Ticket #12"
}, },
{ {
"name": "Odelia von den Kleinen Chaoten", "name": "Odelia von den Kleinen Chaoten",
"dob": "21.06.2015", "dob": "21.06.2015",
"decision": "parents are Cash × Elena (Wurfchronik O6-Wurf). Chart-position had wrong parents (Chap × Julietta).", "decision": "parents are Cash × Elena (Wurfchronik O6-Wurf). Chart-position had wrong parents (Chap × Julietta).",
"father": "Cash v.d. Kleinen Chaoten", "father": "Cash v.d. Kleinen Chaoten",
"mother": "Elena", "mother": "Elena",
"source": "Züchterin 2026-06-22 — Ticket #15" "source": "Züchterin 2026-06-22 — Ticket #15"
}, },
{ {
"name": "Jamie von den kleinen Chaoten", "name": "Jamie von den kleinen Chaoten",
"dob": "27.12.2010", "dob": "27.12.2010",
"decision": "father is Danny von Privatzucht Maintal (Wurfchronik J-Wurf: 'Eltern: Danny + Jana'). Chart-position had wrong/age-impossible parents.", "decision": "father is Danny von Privatzucht Maintal (Wurfchronik J-Wurf: 'Eltern: Danny + Jana'). Chart-position had wrong/age-impossible parents.",
"father": "Danny von PZ Maintal", "father": "Danny von PZ Maintal",
"mother": "Jana of little longnoses", "mother": "Jana of little longnoses",
"source": "Züchterin 2026-06-22 — Ticket #31" "source": "Züchterin 2026-06-22 — Ticket #31"
}, },
{ {
"name": "Silver von den kleinen Chaoten", "name": "Silver von den kleinen Chaoten",
"dob": "20.03.2013", "dob": "20.03.2013",
"decision": "parents are Taro (kept from U1-Wurf) × Beatrice (Wurfchronik F2-Wurf). Cross-page chart reference to Taro was unresolvable.", "decision": "parents are Taro (kept from U1-Wurf) × Beatrice (Wurfchronik F2-Wurf). Cross-page chart reference to Taro was unresolvable.",
"father": "Taro von den kleinen Chaoten", "father": "Taro von den kleinen Chaoten",
"mother": "Beatrice von den kleinen Chaoten", "mother": "Beatrice von den kleinen Chaoten",
"source": "Züchterin 2026-06-22 — Ticket #11" "source": "Züchterin 2026-06-22 — Ticket #11"
}, },
{ {
"name": "Roni", "name": "Roni",
"dob": "27.01.2022", "dob": "27.01.2022",
"decision": "gender = male. Roni is the FATHER (not mother) of the T21/Z21/22 litters (Wurfchronik names father=Roni, mother=Fumi). Box colour / chart had her typed female, so role normalisation wrongly put Roni in the mother slot and left the father empty. Setting male lets Roni take the father role; Fumi (added via addAnimals) fills the mother slot.", "decision": "gender = male. Roni is the FATHER (not mother) of the T21/Z21/22 litters (Wurfchronik names father=Roni, mother=Fumi). Box colour / chart had her typed female, so role normalisation wrongly put Roni in the mother slot and left the father empty. Setting male lets Roni take the father role; Fumi (added via addAnimals) fills the mother slot.",
"gender": "male", "gender": "male",
"source": "Züchterin 2026-06-22 — Ticket 88389f8e (Akane: Roni ist Vater)" "source": "Züchterin 2026-06-22 — Ticket 88389f8e (Akane: Roni ist Vater)"
}, },
{ {
"name": "Cherry Berry's Quqquluuruu", "name": "Cherry Berry's Quqquluuruu",
"dob": "", "dob": "",
"decision": "gender = female (weisse Box = weiblich, blaue = maennlich). Pure pedigree ancestor without a birthdate, so the box-colour gender was never read — the Stammbaum showed a question mark instead of the female icon. dob MUST be empty so the name-only override key matches.", "decision": "gender = female (weisse Box = weiblich, blaue = maennlich). Pure pedigree ancestor without a birthdate, so the box-colour gender was never read — the Stammbaum showed a question mark instead of the female icon. dob MUST be empty so the name-only override key matches.",
"gender": "female", "gender": "female",
"source": "Züchterin 2026-06-22 — Ticket 94892100 (Weibchen-Icon fehlt)" "source": "Züchterin 2026-06-22 — Ticket 94892100 (Weibchen-Icon fehlt)"
}, },
{ {
"name": "Sunny von PZ Karl", "name": "Sunny von PZ Karl",
"dob": "10.04.2014", "dob": "10.04.2014",
"decision": "father is Bill von Privat, mother is Melly von Privat (from Stammbaum von Yurikas und Pintos Sohn.xlsx / Renner-Pro-3). The chart-position resolver had wrongly given Hiro of Golden Lights as father.", "decision": "father is Bill von Privat, mother is Melly von Privat (from Stammbaum von Yurikas und Pintos Sohn.xlsx / Renner-Pro-3). The chart-position resolver had wrongly given Hiro of Golden Lights as father.",
"father": "Bill von Privat", "father": "Bill von Privat",
"mother": "Melly von Privat", "mother": "Melly von Privat",
"source": "Züchterin 2026-06-22 — Ticket 0ba551a3 (Sunny falscher Vater)" "source": "Züchterin 2026-06-22 — Ticket 0ba551a3 (Sunny falscher Vater)"
}, },
{ {
"name": "Danielle von den Kleinen Chaoten", "name": "Danielle von den Kleinen Chaoten",
"dob": "04.03.2020", "dob": "04.03.2020",
"decision": "mother is Ella (Tochter von Louis+Roswitha, *10.06.2019) — Louis & Roswitha are Danielle's GRANDparents, not her parents. The father is an unnamed brother of Ella (a sibling pairing) with no own record, so he stays unknown. Two 'Ella' exist; motherDob pins the correct one (*10.06.2019), and the second Ella (*13.04.2023, born after Danielle) is age-impossible anyway.", "decision": "mother is Ella (*10.06.2019); father is Makoto von den Kleinen Chaoten (*16.07.2019), Ellas juengerer Bruder — eine Geschwisterverpaarung (Ella ist die aeltere Schwester). Louis & Roswitha sind Danielles GROSSeltern, nicht ihre Eltern.",
"mother": "Ella", "mother": "Ella",
"motherDob": "10.06.2019", "motherDob": "10.06.2019",
"source": "Züchterin 2026-06-22 — Tickets f77aa4a6 / 4692fd5c (Danielle echte Mutter Ella)" "source": "Züchterin 2026-06-23 — Ticket 4692fd5c (Vater Makoto)",
}, "father": "Makoto von den Kleinen Chaoten",
{ "fatherDob": "16.07.2019"
"name": "Unbekannt", },
"dob": "15.02.2024", {
"decision": "Nameless buck *15.02.2024 (son of Inochi gen. Picu) is recorded twice — once via 'Stammbaum von Picus Son.xlsx' (externalRef stammbaum-unbekannt-15022024-2) and once via 'Stammbaum von Alberto Kids.xlsx' (externalRef stammbaum-unbekannt-15022024). Same buck. The two reconstructed litters (Picus Son vs Alberto Kids) differ only by the mother's birth YEAR (a typo): mother 13.11.2023 vs 13.11.2022. Merge the two bucks and the two mothers into one each via mergeExternalRefs.", "name": "Unbekannt",
"mergeExternalRefs": [ "dob": "15.02.2024",
["stammbaum-unbekannt-15022024-2", "stammbaum-unbekannt-15022024"], "decision": "Nameless buck *15.02.2024 (son of Inochi gen. Picu) is recorded twice — once via 'Stammbaum von Picus Son.xlsx' (externalRef stammbaum-unbekannt-15022024-2) and once via 'Stammbaum von Alberto Kids.xlsx' (externalRef stammbaum-unbekannt-15022024). Same buck. The two reconstructed litters (Picus Son vs Alberto Kids) differ only by the mother's birth YEAR (a typo): mother 13.11.2023 vs 13.11.2022. Merge the two bucks and the two mothers into one each via mergeExternalRefs.",
["stammbaum-unbekannt-13112023", "stammbaum-unbekannt-13112022"] "mergeExternalRefs": [
], [
"source": "Züchterin 2026-06-22 — Ticket f618dcc3 (doppelter namenloser Bock)" "stammbaum-unbekannt-15022024-2",
}, "stammbaum-unbekannt-15022024"
{ ],
"name": "Mamta Mini v.d. Kleinen Chaoten", [
"dob": "11.11.2023", "stammbaum-unbekannt-13112023",
"decision": "E-Locus = Ee (das unbekannte zweite Allel ist erzwungen 'e', weil Vater Geely von den Kleinen Chaoten am E-Locus reinerbig ee=Fuchs ist und nur 'e' vererben kann). Eltern Geely (Vater) × Gaida (Mutter) verbindlich am Geburtswurf verankert (die chart-position-Heuristik lieferte sie bereits) — als Entscheidung/high gesetzt, damit der Wurf die Eltern sicher verknuepft.", "stammbaum-unbekannt-13112022"
"genotype": "AA CC D- Ee Gg PP spsp", ]
"father": "Geely von den Kleinen Chaoten", ],
"mother": "Gaida von den Kleinen Chaoten", "source": "Züchterin 2026-06-22 — Ticket f618dcc3 (doppelter namenloser Bock)"
"fatherDob": "04.03.2023", },
"motherDob": "02.08.2022", {
"source": "Züchterin 2026-06-22 — Tickets cc9ea3fe / 1a508c04 (Mamta Mini Ee[-]→Ee, Eltern Geely×Gaida)" "name": "Mamta Mini v.d. Kleinen Chaoten",
}, "dob": "11.11.2023",
{ "decision": "E-Locus = Ee (das unbekannte zweite Allel ist erzwungen 'e', weil Vater Geely von den Kleinen Chaoten am E-Locus reinerbig ee=Fuchs ist und nur 'e' vererben kann). Eltern Geely (Vater) × Gaida (Mutter) verbindlich am Geburtswurf verankert (die chart-position-Heuristik lieferte sie bereits) — als Entscheidung/high gesetzt, damit der Wurf die Eltern sicher verknuepft.",
"name": "", "genotype": "AA CC D- Ee Gg PP spsp",
"externalRef": "unbekannt-13082025-3", "father": "Geely von den Kleinen Chaoten",
"decision": "Sp-Locus = spsp (KEINE Schecke). Das namenlose Weibchen (*13.08.2025, Quelle 'Stammbaum von Martin.xlsx') war im Quell-Stammbaum als Spsp notiert, ist aber ungescheckt — der Sp-Locus muss spsp sein. Der Farbschlag bleibt der genotyp-berechnete Kohlfuchsschimmel (ee[f] = Fuchsschimmel). externalRef pinnt genau dieses Tier (mehrere namenlose Tiere teilen das Datum 13.08.2025).", "mother": "Gaida von den Kleinen Chaoten",
"genotype": "aa Cc[chm] D- ee[f] Gg Pp spsp", "fatherDob": "04.03.2023",
"source": "Züchterin 2026-06-22 — Ticket e09d6f22 (faelschlich Schecke, soll spsp)" "motherDob": "02.08.2022",
} "source": "Züchterin 2026-06-22 — Tickets cc9ea3fe / 1a508c04 (Mamta Mini Ee[-]→Ee, Eltern Geely×Gaida)"
], },
"addAnimals": [ {
{ "name": "",
"name": "Fumi von den Kleinen Chaoten", "externalRef": "unbekannt-13082025-3",
"gender": "female", "decision": "Sp-Locus = spsp (KEINE Schecke). Das namenlose Weibchen (*13.08.2025, Quelle 'Stammbaum von Martin.xlsx') war im Quell-Stammbaum als Spsp notiert, ist aber ungescheckt — der Sp-Locus muss spsp sein. Der Farbschlag bleibt der genotyp-berechnete Kohlfuchsschimmel (ee[f] = Fuchsschimmel). externalRef pinnt genau dieses Tier (mehrere namenlose Tiere teilen das Datum 13.08.2025).",
"zucht": "Zucht der kleinen Chaoten", "genotype": "aa Cc[chm] D- ee[f] Gg Pp spsp",
"decision": "Mother of the T21/Z21/22 litters (Wurfchronik names mother=Fumi, father=Roni) but she has no own source record, so her litters showed an empty mother. Materialised as a non-resident stub so the parent link resolves; her own parents stay unknown.", "source": "Züchterin 2026-06-22 — Ticket e09d6f22 (faelschlich Schecke, soll spsp)"
"source": "Züchterin 2026-06-22 — Ticket 88389f8e (Akane: Mutter Fumi)" },
} {
] "name": "Catelyn Stark von den Kleinen Chaoten",
} "dob": "11.08.2015",
"decision": "parents are Eddard Stark of Sunset Glow (father, *20.06.2012) x Milena von den Kleinen Chaoten (mother, *19.03.2014). Chart-position had mother=Katara and no father.",
"father": "Eddard Stark of Sunset Glow",
"fatherDob": "20.06.2012",
"mother": "Milena von den Kleinen Chaoten",
"motherDob": "19.03.2014",
"source": "Züchterin 2026-06-23 — Ticket 7bbc045c"
},
{
"name": "Gaida von den Kleinen Chaoten",
"dob": "02.08.2022",
"decision": "parents are Zhuāngzǐ von den Kleinen Chaoten (father) x Zaibunissa von den Kleinen Chaoten (mother), beide *21.02.2020 — eine Geschwisterverpaarung (Kinder von Nisha x Zenon). Import hatte faelschlich Nisha (Grossmutter) als Mutter und keinen Vater.",
"father": "Zhuāngzǐ von den Kleinen Chaoten",
"fatherDob": "21.02.2020",
"mother": "Zaibunissa von den Kleinen Chaoten",
"motherDob": "21.02.2020",
"source": "Züchterin 2026-06-23 — Ticket ba63325a"
}
],
"addAnimals": [
{
"name": "Fumi von den Kleinen Chaoten",
"gender": "female",
"zucht": "Zucht der kleinen Chaoten",
"decision": "Mother of the T21/Z21/22 litters (Wurfchronik names mother=Fumi, father=Roni) but she has no own source record, so her litters showed an empty mother. Materialised as a non-resident stub so the parent link resolves; her own parents stay unknown.",
"source": "Züchterin 2026-06-22 — Ticket 88389f8e (Akane: Mutter Fumi)"
}
]
}