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:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user