Inspiration

Entre un système RH et un système de temps, un écart n'est pas forcément une erreur. Aujourd'hui, chaque écart est vérifié à la main, avec une connaissance du système et des règles qui ne sont pas toujours écrites.

Ce que ça fait

CorroborAI applique une règle par champ du mapping. Chaque verdict cite la règle, la ligne du mapping et la preuve, et classe l'écart en conforme, écart justifié, anomalie probable ou anomalie. Sur les 23 lignes fournies : 11 conformes, 1 écart justifié, 2 anomalies probables à valider, 9 anomalies. Les écarts qui touchent presque toutes les lignes sont signalés au niveau du jeu, et non comme erreurs par dossier. Les cas ambigus (horaires, date d'entrée) sont arbitrés avec des preuves croisées : historique du détail de poste, autres affectations de la personne, correspondance avec un autre dossier. Deux paires de contrats sont inversées entre dossiers, et deux sites sont échangés ; ces erreurs n'apparaissent qu'en comparant les dossiers entre eux. Aucune donnée ne quitte la machine.

Comment on l'a construit

Python 3.11, pandas et openpyxl. Un moteur de règles (une règle par champ mappé), un module d'arbitrage, un rapport Excel et CSV, et une visionneuse HTML hors ligne avec filtres par verdict et preuve par champ. Les tests incluent 4 cas où des erreurs connues sont injectées dans une copie des données.

Défis rencontrés

Le mapping ne couvre pas toutes les règles de date et d'horaires. Les libellés anonymisés sont incohérents, ce qui produit des écarts systématiques à distinguer des vraies anomalies. Plusieurs règles ont dû être lues comme des interprétations, et elles sont signalées comme telles.

Réalisations dont on est fiers

Chaque verdict est explicable et traçable. Les 15 tests passent, y compris les cas d'erreurs injectées, et la visionneuse a été testée dans un navigateur, en largeur bureau et mobile.

Ce qu'on a appris

Une règle explicite et sourcée est plus utile à un relecteur qu'un score opaque.

Et après

Un arbitre LLM pour les cas ambigus, si l'usage sur des données anonymisées est autorisé. Une mesure de précision sur un jeu synthétique avec erreurs connues, puisque nous n'avons pas de corrigé pour les données fournies. Une boucle de correction par un expert, qui réinjecte les corrections dans les règles.

Limites et transparence sur l'IA

L'arbitrage est une pondération de preuves écrite à la main, pas un modèle de langage. La précision n'a pas été mesurée contre une vérité terrain. Un seul jeu de données a été testé.

Outils, sources et modèles

Python 3.11, pandas, openpyxl, pytest, Playwright (vérification visuelle). Développement assisté par Claude Code (Anthropic) ; choix de règles et interprétations relus par l'équipe.

What's next for CorroborAI

Built With

Share this project:

Updates

Submission history