- fix(detect): EMAIL masqué avant _apply_overrides pour éviter que les force_terms (ex: CHCB) ne cassent l'adresse — mh.lafitte@chcb.fr → [EMAIL] - fix(corpus): expected 007 mis à jour ([EMAIL] à la place de mh.[NOM]@[MASK].fr) - feat(tools): tools/simulate_admin_rule.py — CLI de simulation et validation isolée d'une règle admin (--text, --file, --corpus, --all) - fix(admin_rules): required_case_ids corrigés dans admin_rules.default.yml (noms des répertoires du corpus synthétique mis à jour) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Corpus synthétique de revue humaine
Ce corpus ne remplace pas les tests unitaires. Il sert à valider des documents complets, relus par un humain, avec un vrai diff entre :
test.txt: document synthétique sourceexpected.txt: anonymisation attendue selon la règle métieractual/: sortie réellement produite par le moteur
Objectif :
- détecter les régressions de composition sur des documents réalistes ;
- rendre visibles les écarts de comportement du moteur ;
- préparer une validation humaine avant promotion éventuelle en suite bloquante.
Commande :
python3 tools/run_synthetic_review_corpus.py
Chaque exécution écrit :
actual.txtactual.audit.jsonactual.summary.jsondiff.txt
Sous actual.