# Phase 5A — Ingestion contrôlée

## Objectif

Relier le moteur de fournisseurs à la base encyclopédique sans permettre à une source externe de modifier directement les données canoniques.

Le flux devient :

`Source → aperçu/collecte → lot d’ingestion → candidats → rapprochement → décision humaine → identifiant externe / fiche`.

## Lots d’ingestion

Chaque préparation crée un `ingestion_batch` contenant : fournisseur, source, exécution du connecteur, initiateur, nombre d’éléments reçus et état d’avancement.

Les lots sont conservés afin de savoir quelle collecte a produit quel candidat.

## Candidats

Chaque `ingestion_candidate` conserve :

- type d’entité visé ;
- nom et identifiant externe ;
- données brutes ;
- données normalisées ;
- empreinte ;
- proposition de correspondance ;
- score et motif ;
- décision finale et administrateur ayant décidé.

## Rapprochement v0.13.0

La première implémentation traite les **parcs** issus du catalogue ThemeParks.wiki.

Ordre de recherche :

1. identifiant externe déjà connu : score 100 ;
2. nom identique unique : score 95 ;
3. alias identique unique : score 92 ;
4. nom très proche : score jusqu’à 89.

Si deux résultats sont trop proches, aucune association n’est suggérée. Une suggestion n’est jamais appliquée automatiquement.

## Décisions

### Associer

Lie le candidat à un parc existant et crée le mapping d’identifiant externe lorsque celui-ci n’existe pas encore.

### Créer

Crée une nouvelle fiche parc minimale puis lui rattache l’identifiant externe. Les données supplémentaires restent destinées au futur moteur d’observations/enrichissement.

### Ignorer

Marque la proposition comme non retenue sans supprimer son historique.

## Sécurité des mappings

Un identifiant externe déjà rattaché à une autre entité n’est jamais réaffecté silencieusement. De même, un parc possédant déjà un autre identifiant pour le même fournisseur déclenche un conflit explicite.

## Limites volontaires de cette phase

- création automatique disponible uniquement pour les candidats de type parc ;
- aucune décision automatique ;
- aucune ingestion planifiée ;
- aucun nouveau fournisseur ajouté ;
- attractions/POI utiliseront le même socle lors des phases suivantes.
