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>
5.7 KiB
5.7 KiB
HANDOFF CLAUDE CHAT — 2026-05-10 fin de journée
Ce qui a marché aujourd'hui
- Diagnostic clair de l'archi rpa_vision_v3 : projet mature, beaucoup de composants codés mais non branchés au runtime, surdocumentation. Recadrage Dom : "le code surpasse la doc".
- Identification du vrai grounder prod (InfiGUI sur core/grounding/, mais pas câblé au replay engine côté agent_v0/server_v1/ — assumé pour l'instant)
- Bug #1 (cannot unpack non-iterable NoneType) résolu indirectement par redémarrage propre Léa via Lea.bat
- Bug #2 (timeout HTTP 30s pendant t2a_decision 26s) identifié, à corriger pour démo (passer à 60s ou dynamique)
- 3 livrables agent VWB validés et rapatriés :
- Numérotation steps sur canvas (badges 1..N en bleu)
- Ancre zoomable au survol miniature dans Properties (tooltip 600px)
- Nouveau type de step extract_text_scroll (capture haut + Ctrl+End + capture bas + concat + Ctrl+Home, scroll_pause_ms configurable, 500ms default)
- Découverte du bug UX VWB : capture.py:select_anchor appelle silencieusement qwen2.5vl:3b à chaque ancre capturée pour générer va.description, qui est ensuite affichée sous les nodes du canvas. VLM hallucine régulièrement, induit Dom en erreur pendant la construction. À débattre post-démo.
- Doc inspiration frameworks externes en docs/INSPIRATION_FRAMEWORKS_2026-05-10.md (OpenAdapt, Skyvern, OmniParser, OpenCUA — convergences fortes avec rpa_vision_v3)
État machine à la coupure (~20h45 CEST)
- InfiGUI démarré (PID 3079017, ~3934 MiB VRAM, non appelé par le replay)
- Ollama actif (idle, charge à la demande)
- rpa-streaming actif (PID 3169493)
- Léa Windows polle
- BDD VWB sauvegardée dans docs/handoffs/2026-05-10_workflows_etat_soir.db (point de référence avant reprise demain)
Ce qui reste à clarifier demain matin
PRIORITÉ ABSOLUE : trancher la divergence entre ce que Dom dit avoir saisi (variables correctes, monitor GPU sans activité VLM pendant la session de reconstruction) et ce que Claude Code rapportait de la BDD (incohérences sur step 7, steps 14/17 sans by_text, ordre des extract_text_scroll vs t2a_decision).
Hypothèses à confronter :
- Bug VWB de persistance silencieux (modifs Dom non écrites en BDD)
- Cache frontend obsolète après hot-reload
- Claude Code en dérive de fin de session (lecture biaisée d'une BDD qui était en réalité conforme)
- Affichage canvas trompeur (sous-labels = descriptions VLM hallucinées, mais step.label et by_text en BDD sont corrects)
Méthode pour démêler :
- Cliquer sur chaque node click_anchor du workflow et lire le champ "Cible textuelle" / by_text dans Properties (pas le sous-label canvas)
- Comparer avec ce que Dom voulait
- Si écart : corriger en repassant par le VWB en se fiant uniquement à Properties
- Si pas d'écart : passer directement au dry-run
4 points de fix potentiels (à valider d'abord)
- Step 7 (extract_text) : variable_name = t_notes_medicales alors que label "Lire Synthèse Urgences" → si confirmé, renommer en t_synthese_urgences pour cohérence avec t2a_decision et type_text DPI
- Steps 14 et 17 (click_anchor) : by_text vide → ajouter le texte cible
- Steps 15-19 (4 extract_text_scroll consécutifs) : seulement 2 click_anchor entre eux → vérifier que chaque scroll lit bien un onglet différent, pas le même contenu 2 fois
- Step 8 (t2a_decision) : positionné AVANT les steps 15-19 qui remplissent ses variables d'entrée → soit déplacer après, soit c'est conforme à un autre design qu'il faut documenter
Méthode pour la reprise demain matin
- Cerveau frais avant 9h, si possible avant la première vérif
- Ne se fier qu'au by_text dans Properties, jamais aux sous-labels canvas
- Cycles courts : 1 modif → vérif BDD via Claude Code → valide → modif suivante
- Si Claude Code retourne quelque chose qui surprend, demander un dump SQL brut sans interprétation pour vérifier soi-même
- 30-45 min max pour les fix, 15 min dry-run, 1h marge avant démo (l'après-midi)
Points méthodo à retenir pour les prochaines sessions
- Claude Code et moi (Claude chat) dérivons après 12h+ de session continue, comme Dom. Si retour suspect demain matin, redémarrer une session fraîche plutôt que continuer.
- Le pattern "agent qui valide superficiellement le code mais pas la fonctionnalité" est récurrent. La vérification fonctionnelle reste à Dom (et à moi pour l'aider à la cadrer).
- Asymétrie mémoire Dom→Claude vs Claude→Dom : sujet à traiter en session dédiée.
- Dom a un assistant de longue date appelé Alice, à intégrer comme référence dans la construction de ma mémoire.
État des dettes ouvertes
- DETTE-006 (bug d'échelle pixel grounding) : path Ollama, hors scope démo car cascade ne descend pas jusqu'au grounding VLM sur cibles textuelles. À fixer post-démo.
- Migration Qwen3-VL-8B-Instruct : non urgente. InfiGUI-G1-3B satisfait les besoins courants.
- DETTE-014 (smart_resize calé sur Qwen2VLImageProcessor non-Fast) : à reclasser, factor=28 correcte pour cible Ollama qwen2.5vl actuelle.
- Asymétrie VWB-direct (utilise UI-DETR-1) vs Replay-distant (ne l'utilise pas) : asset architectural sous-utilisé. À débattre post-démo si branchement au runtime sans figer l'apprentissage est possible.
- Bug UX VWB capture.py : description VLM hallucinée affichée comme sous-label. Désactiver l'appel VLM (1 commentaire dans capture.py:225-272) ou changer le frontend.
Coupure
Dom coupe à 20h45 CEST après 13h de session focus exceptionnelle. Démo interne lundi après-midi devant DG/DSI/médecins/DIM/TIM. Marge confortable pour reprise lundi matin avec cerveau frais.