Files
anonymisation/docs/rapport-analyse-campagne-gui-2026-04-21.md
Domi31tls 0491bc5383 chore(beta): C-BETA-1 hygiène finale repo
- gitignore graphify-out/ (artefacts knowledge graph générés)
- commit messages coordination 2026-06-05 (ordre de marche Dom via Codex)
- commit rapport analyse campagne GUI (synthétique, sans PII)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 10:56:02 +02:00

4.8 KiB

Rapport d'analyse de campagne GUI

Date d'analyse : 2026-04-21

Périmètre

Campagne lancée depuis la GUI sur le dossier :

/home/dom/ai/anonymisation/tests/synthetic_regression/cases

Sorties observées dans :

/home/dom/ai/anonymisation/tests/synthetic_regression/cases/anonymise

Synthèse

La campagne n'est pas exploitable comme validation globale du corpus.

Le moteur n'a pas échoué sur l'anonymisation observée, mais la méthode de lancement via la GUI a mélangé les cas de test dans un dossier de sortie unique. Résultat : les fichiers de sortie se sont écrasés entre eux, et il ne reste plus que trois sorties distinctes (input, expected, test) alors que 30 fichiers d'entrée ont été pris dans la campagne.

En l'état, un seul cas est encore vérifiable de façon fiable : 010_spaced_establishment_header. Ce cas est conforme.

Constats

1. La campagne a pris 30 fichiers en entrée

Le dossier tests/synthetic_regression/cases contient 10 cas, et chaque cas contient :

  • input.txt
  • test.txt
  • expected.txt

Soit 30 fichiers texte supportés au total.

2. Les sorties ont été écrasées

La GUI écrit toutes les sorties dans un seul dossier :

folder / "anonymise"

Puis le moteur nomme les sorties uniquement avec le stem du fichier source :

  • input.pseudonymise.txt
  • test.pseudonymise.txt
  • expected.pseudonymise.txt

Comme les 10 cas portent tous les mêmes noms de fichiers, chaque nouveau cas remplace le précédent.

Conséquence observée :

  • 30 entrées traitées
  • 3 sorties texte finales restantes

3. Les fichiers de référence ont aussi été anonymisés

La GUI a pris tous les fichiers supportés trouvés récursivement dans le dossier sélectionné, donc elle a traité :

  • les fichiers de test à anonymiser
  • les fichiers input.txt
  • les fichiers expected.txt

Pour une campagne de validation, ce n'est pas le bon protocole : les fichiers expected.txt sont des références de comparaison, pas des entrées métier à anonymiser.

Analyse des sorties restantes

Les trois sorties restantes sont :

  • tests/synthetic_regression/cases/anonymise/input.pseudonymise.txt
  • tests/synthetic_regression/cases/anonymise/test.pseudonymise.txt
  • tests/synthetic_regression/cases/anonymise/expected.pseudonymise.txt

Leur contenu correspond au cas :

tests/synthetic_regression/cases/010_spaced_establishment_header

Contenu observé :

[ETABLISSEMENT]
Service de cardiologie

Résultat :

  • test.pseudonymise.txt correspond exactement à 010_spaced_establishment_header/expected.txt
  • input.pseudonymise.txt correspond aussi à 010_spaced_establishment_header/expected.txt
  • expected.pseudonymise.txt reste déjà anonymisé, ce qui est cohérent

Audit observé :

  • input.audit.jsonl : 1 hit ETAB_SPACED
  • test.audit.jsonl : 1 hit ETAB_SPACED
  • expected.audit.jsonl : vide

Conclusion sur ce cas :

Le cas 010_spaced_establishment_header est réussi.

Conclusion générale

Conclusion fonctionnelle :

  • aucun échec d'anonymisation n'est visible sur le cas encore vérifiable
  • la campagne globale ne permet pas d'évaluer les 10 cas du corpus

Conclusion méthodologique :

  • la structure actuelle des sorties GUI n'est pas compatible avec un lancement sur un dossier de corpus contenant des noms de fichiers répétés
  • la campagne du 2026-04-21 doit être considérée comme non concluante pour 9 cas sur 10

Causes racines

  1. La GUI parcourt récursivement tous les fichiers supportés du dossier sélectionné.
  2. La GUI écrit toutes les sorties dans un seul sous-dossier anonymise/.
  3. Le moteur génère les noms de sortie à partir du seul nom de fichier, sans conserver le chemin relatif du cas.

Recommandations immédiates

  1. Pour tester sans modifier le code, lancer la GUI sur un seul dossier de cas à la fois.

Exemple :

/home/dom/ai/anonymisation/tests/synthetic_regression/cases/001_patient_header_and_birth

  1. En validation humaine, ne pas lancer la GUI sur tests/synthetic_regression/cases directement.

  2. Comparer chaque sortie produite au expected.txt du même dossier de cas.

Correctifs recommandés

  1. Préserver l'arborescence relative des cas dans le dossier de sortie.

Exemple attendu :

  • anonymise/001_patient_header_and_birth/test.pseudonymise.txt
  • anonymise/002_contact_bundle/test.pseudonymise.txt
  1. Ou préfixer les sorties par le nom du dossier parent.

Exemple :

  • 001_patient_header_and_birth__test.pseudonymise.txt
  1. Ajouter un mode "campagne de tests" dans la GUI qui ne traite que les fichiers test.txt.

  2. Générer automatiquement un rapport de comparaison contre les expected.txt.

Statut

  • Campagne GUI du 2026-04-21 : non exploitable pour validation complète
  • Cas encore vérifiable : 010_spaced_establishment_header
  • Verdict sur ce cas : conforme