Idée

Un référentiel qui mûrit bouge par fusions et divisions d'objets, mouvements qu'aucun outil ne raconte

Idée principale

Les corrections de détail ne sont pas ce qui fait évoluer une description de produit. Les deux mouvements les plus fréquents, une fois les premières fiches écrites, sont la fusion de deux objets qu'on croyait distincts et la division d'un objet qui en cachait deux. Ils portent une compréhension qui a changé, et ils réécrivent en même temps les liens de toutes les fiches voisines.

Aucun outil ne les raconte : un dépôt montre une fiche supprimée et deux fiches créées, un moteur de rapprochement montre un objet qui cesse de correspondre. La phrase « ces deux objets n'en faisaient qu'un » n'existe que si quelqu'un l'écrit, dans le journal des fiches concernées.

Il en va de même du cas extrême : un objet repensé de fond en comble ne se modifie pas, il donne lieu à une nouvelle fiche, et l'ancienne reste. Elle décrit ce que le produit a été, et elle reste nécessaire pour interpréter les données et les échanges antérieurs au changement.

Pourquoi c'est important

Cela désigne ce que le journal d'un référentiel doit porter en priorité : non pas les petites corrections, qui se devinent, mais les mouvements de découpage, qui sont invisibles et structurants.

Et cela protège une capacité rarement anticipée : comprendre des données anciennes suppose de disposer de la description du modèle en vigueur à l'époque, pas seulement du modèle courant.

Nuances et limites

Fusionner et scinder n'ont pas la même sûreté. Scinder est réversible : les deux fiches se relient et l'on revient en arrière. Fusionner efface une distinction que la suite peut réclamer, et cette perte-là ne se rattrape qu'en relisant les sources.

Et tous les mouvements ne sont pas des progrès : une division motivée par une exception technique découpe le modèle selon la structure du code plutôt que selon le métier.

Questions ouvertes

  • Comment rattacher une donnée ancienne au bon état d'un objet, quand cet objet a été divisé entre-temps ?