feat: méthode TIM experte CPAM + moteur de règles étendu

CPAM — Méthode TIM (mémoire en défense) :
- Réécriture CPAM_ARGUMENTATION avec raisonnement 5 passes TIM
  (contexte admin → motif réel → confrontation bio → hiérarchie → validation défensive)
- _BIO_THRESHOLDS (19 entrées) + _build_bio_confrontation() pour
  confrontation biologie/diagnostic avec seuils chiffrés et verdicts
- _format_response() dual format : nouveau TIM (moyens numérotés, tableau
  bio, codes non défendables, conclusion dispositive) + rétrocompat legacy
- CPAM_ADVERSARIAL mis à jour pour vérifier honnêteté intellectuelle
- Tests adaptés + 12 nouveaux tests (bio confrontation, format TIM)

Moteur de règles :
- Nouvelles règles YAML : demographic, diagnostic_conflicts,
  procedure_diagnosis, temporal, parcours
- Bio extraction FAISS (synonymes vectoriels)
- Veto engine enrichi (citations, Trackare skip, règles démographiques)
- Decision engine : _apply_bio_rules_gen() + matchers analytiques

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
dom
2026-03-04 11:57:07 +01:00
parent 795110d2e6
commit ce7a9650af
19 changed files with 1681 additions and 418 deletions

View File

@@ -5,10 +5,24 @@
# === Ollama ===
# OLLAMA_URL=http://localhost:11434
# OLLAMA_MODEL=gemma3:12b
# OLLAMA_MODEL=gemma3:27b-cloud
# OLLAMA_TIMEOUT=120
# OLLAMA_MAX_PARALLEL=2
# === Modèles par rôle LLM ===
# T2A_MODEL_CODING=gemma3:27b-cloud # Codage CIM-10/CCAM, extraction DAS
# T2A_MODEL_CPAM=deepseek-v3.2:cloud # CPAM passe 1 + passe 2
# T2A_MODEL_VALIDATION=deepseek-v3.2:cloud # Validation adversariale
# T2A_MODEL_QC=gemma3:12b # QC batch justifications
#
# IMPORTANT : T2A_MODEL_CPAM et T2A_MODEL_VALIDATION DOIVENT être différents
# en production pour que la validation adversariale soit réellement indépendante.
# Si identiques, la validation adversariale est automatiquement dégradée (LOGIC-3).
# === Sélecteur DP (NUKE-3) ===
# T2A_DP_RANKER_LLM=1 # 1/true/yes = LLM tiebreaker actif, 0/false/no = pré-ranker déterministe uniquement
# Note : l'ancien nom DP_RANKER_LLM_ENABLED est accepté mais déprécié.
# === Modèles IA ===
# T2A_EMBEDDING_MODEL=dangvantuan/sentence-camembert-large
# T2A_NER_MODEL=Jean-Baptiste/camembert-ner