metalfrom.eu/apps
Nicolas FRYDER bcd533ae84 fix(géocodage): les corrections manuelles n'étaient protégées par rien
Corriger à la main les coordonnées d'un groupe écrit un band_locations avec
geocode_provider='admin' et confiance 1.0 : la donnée la plus autoritaire du
système, saisie par un humain, impossible à régénérer. Elle était pourtant la
moins protégée.

Le trigger de la migration 013 supprime toutes les band_locations d'un groupe
dès que son location_text change — override compris. locked_fields ne couvre
que les colonnes de `bands`, jamais les points : une correction disparaissait
donc silencieusement à la première modification du lieu, y compris quand ce
lieu venait d'être verrouillé par l'admin lui-même.

Trois routes de reset l'effaçaient également. Le code raisonnait explicitement
sur la protection des saisies manuelles pour choisir le statut écrit ('done' et
non 'manual', afin que reset-llm ne les emporte pas), mais ni reset-all ni
requeue-all(include_done) n'excluaient le provider : la protection tenait sur
un bouton et manquait sur les deux autres.

Le trigger épargne désormais les points 'admin', et les trois routes les
excluent. Trois tests d'intégration contre un vrai PostGIS couvrent ce trigger
et celui de la migration 016, qui n'en avaient aucun.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 14:20:44 +02:00
..
admin chore(infra): en-têtes de sécurité, conteneurs non-root, retrait de pgAdmin 2026-08-20 16:44:26 +02:00
api fix(géocodage): les corrections manuelles n'étaient protégées par rien 2026-08-22 14:20:44 +02:00
crawler chore(infra): en-têtes de sécurité, conteneurs non-root, retrait de pgAdmin 2026-08-20 16:44:26 +02:00
geocoder fix(geocoder): le contexte pays passait après la ville nue une fois sur quatre 2026-08-22 13:15:11 +02:00
web fix(a11y): les modales du site public déclaraient aria-modal sans piéger le focus 2026-08-22 13:57:58 +02:00