Weltkueche Herkunft: kuratierte AT-Zweitlieferanten + Distraktor-Fixes (Thomas-Review)

Neu: additives `correct_for[heimat]` in buildTaskFor — uebersteuert die Gravitations-
Schaetzung NUR bei kuratierten Zutaten (echte Handelsdaten), alles andere unveraendert.
- mehl→AT+Ungarn (Weizenimport 2023: HU 604k >> DE 41k), kartoffel→AT+Schweiz,
  eier→AT+Slowakei (Variation weg vom Dauer-AT+DE), majoran→AT+Deutschland (statt FR),
  safran→Spanien+Iran (statt IT mit 1 t), feta/lamm→Griechenland+Bulgarien (Balkan statt FR).
- Datenfixes gegen „echter Lieferant faelschlich als Distraktor": AT raus aus Mozzarella-
  climate_possible + als Produzent ergaenzt; CH raus aus Kartoffel-climate_possible +
  Produzent; SK als Eier-Produzent; Aegypten-Zwiebel local→global (echter kleiner Lieferant).
- Verifiziert: 7 kuratierte korrekt; keine Regression (DE-Gerichte nutzen weiter Algorithmus).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-20 21:36:48 +02:00
parent 4c0183f2e0
commit bf2a4cd0d1
2 changed files with 64 additions and 11 deletions
@@ -527,7 +527,12 @@
"frankreich",
"portugal"
],
"fact": "Safran ist das teuerste Gewürz der Welt — für 1 kg Safran braucht man ~150.000 Krokusblüten, alles per Hand gepflückt."
"fact": "Safran ist das teuerste Gewürz der Welt — für 1 kg Safran braucht man ~150.000 Krokusblüten, alles per Hand gepflückt.",
"correct_for": {
"spanien": [
"iran"
]
}
},
"muskat": {
"nm": "Muskat",
@@ -717,7 +722,12 @@
"marokko",
"mexiko"
],
"fact": "Majoran gehört zu den klassischen DACH-Würzkräutern für Sterz, Knödel und Bratwurst."
"fact": "Majoran gehört zu den klassischen DACH-Würzkräutern für Sterz, Knödel und Bratwurst.",
"correct_for": {
"oesterreich": [
"deutschland"
]
}
},
"kraeuter": {
"nm": "Mediterrane Kräuter",
@@ -1642,7 +1652,12 @@
"bulgarien",
"serbien"
],
"fact": "Weizen wird auf der größten Ackerfläche der Welt angebaut — mehr als 220 Mio Hektar."
"fact": "Weizen wird auf der größten Ackerfläche der Welt angebaut — mehr als 220 Mio Hektar.",
"correct_for": {
"oesterreich": [
"ungarn"
]
}
},
"mais": {
"nm": "Mais (Tortilla, Polenta)",
@@ -2824,7 +2839,12 @@
"italien",
"spanien"
],
"fact": "Echter Feta ist seit 2002 EU-rechtlich Griechenland vorbehalten — andere Länder dürfen nur „Käse nach griechischer Art\" verkaufen."
"fact": "Echter Feta ist seit 2002 EU-rechtlich Griechenland vorbehalten — andere Länder dürfen nur „Käse nach griechischer Art\" verkaufen.",
"correct_for": {
"griechenland": [
"bulgarien"
]
}
},
"mozzarella": {
"nm": "Mozzarella",
@@ -2860,13 +2880,17 @@
"polen": {
"t": 35000,
"market": "eu"
},
"oesterreich": {
"t": 15000,
"note": "AT-Molkereien produzieren Mozzarella",
"market": "eu"
}
},
"climate_possible": [
"niederlande",
"irland",
"daenemark",
"oesterreich",
"schweiz",
"belgien",
"griechenland"
@@ -3172,7 +3196,12 @@
"aegypten",
"syrien"
],
"fact": "Moussaka, Kebab und nordafrikanische Tagines werden klassisch mit Lammfleisch zubereitet — in Österreich kommt das meiste Lamm aus der Türkei, Spanien und Griechenland."
"fact": "Moussaka, Kebab und nordafrikanische Tagines werden klassisch mit Lammfleisch zubereitet — in Österreich kommt das meiste Lamm aus der Türkei, Spanien und Griechenland.",
"correct_for": {
"griechenland": [
"bulgarien"
]
}
},
"huhn-spanien": {
"nm": "Hähnchen / Huhn (Paella)",
@@ -3432,6 +3461,10 @@
"iran": {
"t": 1200000,
"market": "local"
},
"slowakei": {
"t": 60000,
"market": "eu"
}
},
"climate_possible": [
@@ -3451,7 +3484,12 @@
"philippinen",
"kenia"
],
"fact": "Eier können prinzipiell überall produziert werden — Hühner sind extrem anpassungsfähig. Die meisten Eier in Europa werden lokal gegessen."
"fact": "Eier können prinzipiell überall produziert werden — Hühner sind extrem anpassungsfähig. Die meisten Eier in Europa werden lokal gegessen.",
"correct_for": {
"oesterreich": [
"slowakei"
]
}
},
"fischsauce": {
"nm": "Fischsauce",
@@ -3928,10 +3966,13 @@
},
"irland": {
"t": 330000
},
"schweiz": {
"t": 450000,
"market": "eu"
}
},
"climate_possible": [
"schweiz",
"daenemark",
"schweden",
"finnland",
@@ -3946,7 +3987,12 @@
"chile",
"kolumbien"
],
"fact": "Die Kartoffel kommt ursprünglich aus den Anden und wurde erst nach 1565 nach Europa gebracht. In Belarus isst eine Person ~180 kg pro Jahr — Welt-Spitze."
"fact": "Die Kartoffel kommt ursprünglich aus den Anden und wurde erst nach 1565 nach Europa gebracht. In Belarus isst eine Person ~180 kg pro Jahr — Welt-Spitze.",
"correct_for": {
"oesterreich": [
"schweiz"
]
}
},
"zwiebel": {
"nm": "Zwiebel",
@@ -3965,7 +4011,7 @@
"aegypten": {
"t": 3300000,
"note": "Drittgrößter Welt-Produzent, viel Export",
"market": "local"
"market": "global"
},
"usa": {
"t": 2700000,
+8 -1
View File
@@ -1074,7 +1074,14 @@ function buildTaskFor(ingKey) {
.filter(([c, info]) => C[c] && c !== heimat && mrank(info.market) < 2)
.sort((a, b) => (mrank(a[1].market) - mrank(b[1].market)) || (grav(b) - grav(a)))
.map(([c]) => c);
const correct = [heimat, ...realistic.slice(0, 1)]; // Heimat + eine realistische Zweit-Wahl (wie normaler Zweig: 2 Korrekte)
// Kuratierte Zweit-Lieferanten (echte AT-Handelsdaten) übersteuern die
// Gravitations-Schätzung dort, wo sie danebenliegt (z.B. Weizen → Ungarn
// statt Deutschland). ADDITIV: greift NUR bei Zutaten mit `correct_for`
// für diese Heimat — alle anderen Zutaten bleiben unverändert.
const _curated = ((ing.correct_for && ing.correct_for[heimat]) || []).filter(c => C[c] && c !== heimat);
const correct = _curated.length
? [heimat, ..._curated]
: [heimat, ...realistic.slice(0, 1)]; // Heimat + eine realistische Zweit-Wahl
if (correct.length < 2) { // Garantie: es gibt IMMER eine zweite Wahl
const any = Object.entries(ing.producers)
.filter(([c]) => C[c] && c !== heimat && !correct.includes(c))