build_fallback_queries cherchait le code pays comme SOUS-CHAÎNE du lieu :
country_code.upper() in location_raw.upper()
Or "DE" est contenu dans "DRESDEN", "FR" dans "FRESNES", "NO" dans "NOTODDEN",
"ES" dans "TORRES". Le pays était donc considéré comme déjà présent, et la
variante « ville, pays » se retrouvait reléguée APRÈS la ville nue.
Le worker s'arrête au PREMIER résultat fiable : il interrogeait donc Geoapify
sans aucun contexte pays, précisément sur les noms ambigus — il existe un
Dresden dans l'Ohio. Sur un échantillon de 25 villes européennes réelles, 11
partaient sans désambiguïsation.
Le code est désormais cherché comme mot entier. Le test existant n'attrapait
rien parce qu'il vérifiait la PRÉSENCE du pays quelque part dans la liste
(`any(...)`), jamais sa priorité : les nouveaux cas verrouillent l'ordre.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>