Vérifier les textes d'IKG vers SoVisu+
En bref : Vingt-six tests sur la façon dont titres, résumés et noms d'unités passent d'IKG à la base de SoVisu+ (SoVisuPlus), sur une base PostgreSQL temporaire. Statut : Confirmé (exécution locale).
Résultat : code 0 pour les deux scripts, 26 tests sur 26 (11 + 15), le 22 octobre 2026. IKG coupe les textes à 4 000 caractères, alors que la base de SoVisu+ limite les titres et descriptions à 2 000 et les libellés à 255 ; une erreur de longueur laisse des écritures partielles ; un état ancien rejoué écrase un état plus récent.
Pourquoi ce contrôle
Une vitrine affiche surtout du texte, dans plusieurs langues. Ce contrôle répond à « un texte qui sort d'IKG arrive-t-il intact dans SoVisu+, et que se passe-t-il s'il est trop long ou rejoué ? ». Les résultats sont tenus dans le dictionnaire de données.
Avant de commencer
- L'environnement Python du contrôle Bridge → IKG (variable
env_dir). - PostgreSQL 16 (
initdb,pg_ctl,psql), Node et npm, et les copiescrisalid-ikgetSoVisuPlus. - À ne pas faire : pointer ces scripts vers une base existante. Chacun crée puis supprime sa propre base, joignable seulement en local.
Étapes
Étape 1 — Contrôler les modèles d'IKG et les contraintes SQL
Pourquoi : savoir ce que la base accepte avant de regarder ce que l'application y écrit.
Bash
Onze tests : troncature d'IKG, langues, limites de chaque colonne (en caractères, pas en octets), unicité par langue.
Étape 2 — Contrôler les écritures de SoVisu+
Pourquoi : observer ce que le vrai code de SoVisu+ écrit, avec un vrai client de base de données (Prisma).
Bash
Quinze tests, dont six de reprise : erreurs de longueur rejouées, instantané corrigé, retour d'un état ancien. Les classes de SoVisu+ sont chargées depuis les sources ; seul l'accès à la base est remplacé par la base temporaire.
Étape 3 — Lire le rapport
Pourquoi : les erreurs SQL de longueur et d'unicité font partie des résultats attendus.
Chaque script affiche ses tests puis un rapport JSON (versions, révisions, périmètre).
Ce que le contrôle établit
- Écart de limites entre IKG (4 000) et SoVisu+ (2 000 ou 255) : un texte accepté par le graphe peut être refusé par SoVisu+.
- Une erreur au milieu d'une écriture laisse la base dans un état partiel ; un instantané corrigé la répare.
- Aucune protection contre le rejeu d'un état ancien.
Limites
- Objets minimaux : ni contributions, ni sujets, ni relations.
- Ni bus, ni traitements de SoVisu+, ni Apollo : la chaîne de synchronisation n'est pas exécutée.
- Exécuté sous Node 22, alors que SoVisu+ déclare Node 24.
Et ensuite
Contrôle suivant : SoVisu+ sans la pile.
Révision lue : crisalid-ikg ebdaae75, SoVisuPlus 8e571657.