# Coaster World DATA — Changelog v0.14.0

Date : 28/09/2026

## Phase 5B — Ingestion multi-entités & observations sourcées

- étend l’ingestion contrôlée aux `park`, `attraction`, `coaster` et `poi` ;
- ajoute le contexte parent/enfant afin qu’une attraction, un coaster ou un POI reste rattaché au bon parc ;
- ajoute un moteur générique de staging utilisable par les futurs connecteurs sans dépendre de ThemeParks.wiki ;
- étend le rapprochement automatique aux attractions, coasters et POI avec priorité à l’identifiant externe puis au nom/alias dans le parc concerné ;
- bloque la création d’un enfant tant que son parc parent n’est pas réellement résolu ;
- contrôle qu’une association manuelle ne rattache pas un élément à un autre parc que celui attendu ;
- permet de créer manuellement depuis un candidat un parc, une attraction, un coaster ou un POI ;
- pour un coaster, crée l’attraction support + la fiche technique coaster tout en associant l’identifiant externe à l’attraction support pour préparer le Live ;
- ajoute `ingestion_candidate_values` pour conserver les valeurs proposées champ par champ avant décision ;
- transforme ces valeurs en `data_observations` après `Associer` ou `Créer` ;
- ne promeut jamais automatiquement une observation en valeur canonique ;
- conserve confiance, valeur brute, valeur normalisée, locale, cible et erreur éventuelle pour chaque champ ;
- met à jour automatiquement les suggestions des enfants après résolution de leur parc parent ;
- améliore l’interface Ingestion : filtre par type, parc parent, nombre de valeurs proposées et état de matérialisation ;
- ajoute les traductions FR/EN/DE/ES/IT correspondantes ;
- ajoute les tests `MultiEntityIngestionTest` sans supprimer les tests d’ingestion v0.13.0.

## Compatibilité

Cette livraison est cumulative depuis la v0.12.0 validée : elle contient aussi les fichiers/migrations nécessaires à la Phase 5A v0.13.0 si celle-ci n’a pas encore été installée.
