backup: snapshot post-démo GHT 2026-05-19
Some checks failed
tests / Lint (ruff + black) (push) Successful in 1m50s
tests / Tests unitaires (sans GPU) (push) Failing after 1m50s
tests / Tests sécurité (critique) (push) Has been skipped

Backup état complet après enregistrement vidéo démo de bout en bout.
À utiliser comme point de référence pour la consolidation post-démo.

Changements majeurs de la session 18-19 mai :
- AIVA-URGENCE : page autonome avec preset URL + auto-focus chain
- Workflow Demo_urgence_3_db : merge linux_db + steps AIVA + pause humaine NoMachine
- Bypass LLM (static_result / static_text) dans replay_engine
  pour démos déterministes sans appel Ollama
- Fix api_stream:3013 — replay_paused au premier polling /next
- dag_execute : lift duration_ms vers top-level pour wait runtime
- NPM bypass auth /aiva-urgence/ via location ^~ (proxy_host/10.conf hors git)
- scripts/cancel-replays.sh — workaround Stop VWB qui ne purge pas la queue

Anchors visuels (468) forcés dans le commit pour garantir restorabilité.
DB workflows actuelle + ~12 .bak DB de la journée incluses.

Sujets identifiés pour consolidation post-démo (TODO) :
1. Bug VWB recapture anchor ne régénère pas le PNG
2. Léa client accumule état mémoire (restart périodique requis)
3. Stop VWB ne purge pas la queue serveur (lien manquant vers /replay/cancel)
4. Bug coord client mss tronqué 2560x60 → mapping Y cassé
5. delay_before/delay_after ignorés au runtime (fix partiel duration_ms)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-05-19 14:55:06 +02:00
parent f2212e77e3
commit 5ea4960e65
627 changed files with 211348 additions and 169 deletions

View File

@@ -0,0 +1,88 @@
# Handoff [S2] → [S1] — Audit éclair prompts t2a (12 mai 2026)
## Mission [S2]
Audit qualité des 3 prompts (resume_patient, justification_t2a, t2a_decision)
sur cas MOREL réel + doc DIM/TIM officielle de l'établissement.
Time-box 30-45 min. Pas de code touché.
## Sources consultées
- 3 prompts collés par Dom (versions actuelles en prod)
- Doc DIM/TIM : `/home/dom/Téléchargements/RPU UHCD IA (2) (5)/RPU UHCD IA/RPU UHCD IA.pptx`
→ Slide 6 = règle officielle de l'établissement : **3 critères validés → UHCD ; 1 critère manquant → Forfait Urgences** (conjonction ET, 3/3)
- Capture UI aiva-vision sur dossier MOREL Catherine (77 ans, IPP 25003284,
passage 01/01/2025 03:12 → 06:49 = 3h37 réel)
## Bugs confirmés en condition réelle (cas MOREL)
### 🔴 #1 — Contradiction décision ↔ justification (NOUVEAU vs audit [S1])
- UI affiche `FORFAIT URGENCES (FFU/ATU)` en vert
- Le texte de justification conclut littéralement à `requalification en hospitalisation (UHCD)`
- Le PROMPT 2 dit « Tu ne dois PAS changer la décision » mais le résultat suggère
que la décision a été overridée APRÈS le LLM-justif (par la vérité-terrain ?),
sans recalculer la justif ni les listes `elements_pour_*`.
- À investiguer côté serveur, vraisemblablement dans `_handle_t2a_decision_action`
(ordre d'application : LLM-décision → override vérité-terrain → LLM-justif
appelée avec la décision corrigée OU pas du tout ?).
### 🔴 #2 — Hallucination durée (déjà connu, reconfirmé)
- Durée affichée : **23.0 h**
- Durée réelle calculable depuis bandeau Easily Assure : **3h37**
- LLM confond « symptômes depuis 23h » avec « durée du passage »
- C'est probablement la cause amont du bug #1 (23h pousse mécaniquement vers UHCD)
### 🟡 #3 — Listes elements_pour_* inversées
- `elements_pour_hospitalisation` contient « Sortie en consultation externe avec
point de contrôle à 48h » → c'est un argument POUR le forfait
- `elements_pour_forfait` : « Aucun élément cité par le LLM »
- Cohérent avec l'hypothèse override (le LLM avait raisonné UHCD)
### 🟡 #4 — Confiance "faible" ignorée par l'UI
- LLM marque sa propre confiance faible, l'UI affiche la décision sans warning
- Pour audience DIM, c'est rédhibitoire
### 🟡 #5 — Le PROMPT 3 contredit la doc DIM/TIM interne
- Prompt actuel : « au moins 2 sur 3 validés ⇒ REQUALIFICATION »
- Doc DIM slide 6 : « si oui aux 3 critères ⇒ UHCD ; 1 critère manquant ⇒ Forfait »
- Donc le prompt n'est pas seulement non-conforme à l'ATIH, il est aussi
non-conforme à la propre doc de l'établissement client.
- Idem pour le seuil « durée > 6h » dans le critère 2 : ABSENT de la PPTX,
confirme que c'est une erreur du DIM senior à retirer.
## Sur MOREL spécifiquement
Si on applique strictement la règle 3/3 de la doc :
- Critère 1 (pathologie évolutive) ✓ (pneumopathie + 77 ans + insuf coro + asthme)
- Critère 2 (surveillance prolongée) **✗** (3h37 réels, observations itératives non documentées)
- Critère 3 (examens/actes) ✓ (radio + biol + PCR VRS + aérosols + Augmentin)
⇒ 2/3 ⇒ **Forfait Urgences** (verdict correct)
La décision affichée actuelle est juste, mais **pour la mauvaise raison** :
le pipeline tombe sur le bon résultat via la vérité-terrain en override,
pas via un raisonnement LLM correct. Faux positif de concordance.
## Reco prioritaire — ordre des chantiers
1. **Préprocesseur Python `build_dpi_enriched`** (chantier déjà identifié en [S1])
→ calcul déterministe durée depuis horaires bandeau, injection
`FAITS_CALCULÉS: durée_passage = 3h37` dans le prompt.
→ C'est le levier #1. Sans ça, tout LLM continuera à halluciner.
2. **Réécrire PROMPT 3** avec règle 3/3 ET (texte Section F du rapport
`docs/handoffs/2026-05-12_audit_complet_decision_t2a.md`) + retirer seuil 6h.
3. **Garde-fou serveur** dans `_handle_t2a_decision_action` :
- Si `confiance == "faible"` → bandeau UI « À valider »
- Si override vérité-terrain appliqué → recalculer LLM-justif AVEC la décision
corrigée, ou afficher explicitement la divergence.
4. **Ajouter CCMU + GEMSA + mode_venue + occupation_lit** dans le contexte LLM
(slide 5 doc DIM, manquants dans le prompt actuel). Post-démo si time-box serré.
## Ce que [S2] N'A PAS fait (par choix de time-box)
- Pas lu le DOCX compagnon `RPU UHCD IA.docx` (PPTX déjà suffisamment claire)
- Pas grep des chemins fichiers ni vérif paramètres Ollama (temp/seed)
- Pas touché de code
## Synchro [S1]
Findings #1 et #5 (override vérité-terrain non recalculé + non-conformité doc
établissement) sont nouveaux vs ton audit du 12 mai. Le reste reconfirme.