chore(dgx): snapshot consolidation WIP pour transfert poc DGX
Some checks failed
tests / Lint (ruff + black) (push) Failing after 1m44s
tests / Tests unitaires (sans GPU) (push) Failing after 1m49s
tests / Tests sécurité (critique) (push) Has been skipped

Regroupe le WIP non committé requis pour le clone/runtime DGX (Option A) :
- api_stream.py : préflight replay + smoke santé modèles + handler 403 WP-B
- de-hardcode VLM : vlm_config, gpu/*, vram_orchestrator, ollama_manager
- stream_processor, semantic_matcher, agent_chat (app/planner/intent)
- workflows.db (acquis ; le transfert artifacts le mettra à jour + rewrite chemins)
- docs : plans DGX, benchmarks VLM/grounders, recherche SOTA, coordination 8 juin

Snapshot destiné à la branche poc-dgx poussée sur Gitea pour cloner le DGX.
Scan anti-secret : clean. graphify (repo embarqué) exclu.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-06-08 16:33:58 +02:00
parent f18de016d7
commit 6d34b3cb68
204 changed files with 15744 additions and 47 deletions

View File

@@ -0,0 +1,66 @@
# Fiches actions reprise 2026-06-03 — VLM/DGX/Lea
- `Auteur`: Codex
- `Date`: 2026-06-03 10:10 Europe/Paris
- `Statut`: actif
- `Refs`:
- `docs/handoffs/2026-06-02_handoff_codex_fin_session_reprise_2026-06-03.md`
- `docs/handoffs/2026-06-02_handoff_qwen_fin_session_reprise_2026-06-03.md`
- `docs/coordination/inbox_codex/2026-06-02_1919_claude-to-codex_INFO-qwen25vl-rpa-transfere-DGX-grounding-OK.md`
- `docs/coordination/inbox_codex/2026-06-02_1925_claude-to-codex_ACK-GO-dehardcode-VLM-plan-TDD.md`
## Ordre du jour
1. P1.x de-hardcodage VLM : enlever les hardcodes `gemma4:*`, `qwen2.5vl:7b` dangereux et le port mort `11435`.
2. Quality gate P1.x : Qwen verifie le patch sans dependance DGX reelle.
3. Synchronisation docs coordination : commit docs seulement si Dom valide, sans toucher au `.docx` DSI ni a `workflows.db`.
4. Cadrage P1.y DGX inference bake-off : comparer Ollama baseline vs vLLM/SGLang, hors hot path Lea.
5. Test Lea humain E2E : seulement apres stabilisation VLM/DGX.
## Contraintes communes
- Ne pas modifier/revert `docs/POC/PREREQUIS_DSI_DGX_SPARK_2026-06-01.docx`.
- Ne pas modifier/revert `visual_workflow_builder/backend/instance/workflows.db`.
- Ne pas creer d'alias Ollama sur DGX.
- Ne pas hardcoder `qwen2.5vl:7b-rpa`, `qwen3-vl:8b`, `gemma4:e4b` ou `gemma4:latest` dans les call-sites runtime.
- Tests P1.x mockes HTTP uniquement, sans service DGX obligatoire.
- Ne pas brancher un nouveau runtime d'inference dans Lea avant benchmark et GO.
## Repartition
| Acteur | Fiche | Role |
|---|---|---|
| Claude | `docs/coordination/inbox_claude/2026-06-03_1010_codex-to-claude_FICHE-ACTION-P1X-dehardcode-VLM-DGX.md` | Execution TDD du de-hardcodage VLM et retour patch/tests |
| Qwen | `docs/coordination/inbox_qwen/2026-06-03_1010_codex-to-qwen_FICHE-QG-P1X-dehardcode-et-bakeoff-DGX.md` | Quality gate P1.x, puis cadrage QG du bake-off |
| Gemini | `docs/coordination/inbox_gemini/2026-06-03_1010_codex-to-gemini_STANDBY-bakeoff-DGX-vlm.md` | Veille/revue optionnelle si Dom reactive Gemini |
| Codex | cette fiche | Orchestration, verification locale, cadrage adapter OpenAI-compatible LeaBench |
## Fiche Codex
### Actions immediates
1. Lire toute livraison Claude posterieure au GO P1.x avant de toucher au code.
2. Verifier le patch P1.x localement si livraison recue.
3. Lancer les tests cibles mentionnes par Claude + un `rg` de controle sur hardcodes VLM.
4. Si GO Qwen et tests verts, proposer un commit code separe du commit docs coordination.
5. Creer ensuite la fiche active `P1.y DGX inference bake-off` avec adapter `openai_compat` pour LeaBench.
### Commandes utiles
```bash
rg -n "gemma4:|qwen2\\.5vl:7b|11435" agent_v0 core tests
RPA_AUTH_DISABLED=true .venv/bin/python -m pytest tests/unit tests/integration -q
```
Adapter les tests au scope exact touche. Ne pas lancer de replay live ni de service runtime sans GO Dom.
## Definition de sortie
- P1.x est ferme seulement si :
- hardcodes runtime dangereux retires ou justifies ;
- endpoints ne pointent plus vers `11435` ;
- chemin grounding bbox preserve ;
- tests mockes passent ;
- Qwen rend GO ou GO partiel non bloquant.
- P1.y est ouvert seulement comme benchmark isole, pas comme migration runtime.

View File

@@ -0,0 +1,55 @@
# Reprise post-coupure — orchestration 2026-06-04
- `Auteur`: Codex
- `Date`: 2026-06-04 09:52 Europe/Paris
- `Statut`: actif
- `Contexte`: session precedente coupee, reprise par lecture locale
## Etat verifie localement
- Branche: `backup/post-demo-2026-05-19`
- HEAD: `4dc7d840d feat(p1x): de-hardcode VLM models/endpoints to vlm_config (DGX-ready)`
- P1.x serveur: patch livre par Claude, commit present localement.
- Tests cibles P1.x lances localement:
```bash
RPA_AUTH_DISABLED=true .venv/bin/python -m pytest \
tests/unit/test_task_planner.py tests/unit/test_replay_critic.py \
tests/unit/test_domain_personality.py tests/unit/test_workflow_ir.py \
tests/unit/test_resolve_engine_observer_vlm.py tests/unit/test_resolve_engine_bbox_num_ctx.py \
tests/unit/test_resolve_engine_dialog_button_guard.py tests/unit/test_resolve_engine_start_button_guard.py \
tests/unit/test_dialog_resolver.py tests/unit/test_vlm_grounding_profile.py \
tests/unit/test_v4_resolve_order.py tests/unit/test_chat_interface.py tests/unit/test_v4_wiring.py \
tests/unit/test_safety_checks_provider.py tests/unit/test_ui_detector.py \
tests/unit/test_extraction_engine.py -q
```
Resultat local: `305 passed`, 2 warnings Python non bloquants.
## Reserve importante
Le verdict Qwen `2026-06-03_1730_qwen-to-codex_VERDICT-QG-P1X-GO-resolu.md`
dit que le `rg` global est silencieux. Ce n'est pas vrai dans le checkout local.
Le grep local trouve encore des occurrences dans:
- client gele: `agent_v0/agent_v1/core/executor.py` et copie deploy Windows;
- chemins V4 / reasoning: `core/execution/observe_reason_act.py`, `core/execution/input_handler.py`, `core/cognition/vram_orchestrator.py`;
- config/infra: `core/config.py`, `core/gpu/*`;
- commentaires/tests.
Conclusion Codex provisoire: P1.x serveur est sain, mais le statut "globalement nettoye"
est trop fort tant que les occurrences restantes ne sont pas classees par wiring runtime.
## Contraintes maintenues
- Ne pas modifier/revert `docs/POC/PREREQUIS_DSI_DGX_SPARK_2026-06-01.docx`.
- Ne pas modifier/revert `visual_workflow_builder/backend/instance/workflows.db`.
- Ne pas patcher le client Lea gele sans GO Dom explicite.
- Ne pas brancher de nouveau runtime inference dans Lea avant benchmark et GO.
## Actions lancees
- Claude: mission de cartographie/cadrage dette VLM hors P1.x serveur.
- Qwen: revue corrective du verdict P1.x et classification des occurrences restantes.

View File

@@ -0,0 +1,24 @@
# Parallelisation P1.z / P1.y — 2026-06-04
- `Auteur`: Codex
- `Date`: 2026-06-04 14:27 Europe/Paris
- `Statut`: actif
## Decision
Dom valide que les deux etapes avancent en parallele.
## Repartition
- Claude: execution TDD P1.z V4/reasoning DGX-safe.
- Qwen: quality gate P1.z + cadrage quality gate P1.y bake-off DGX.
- Codex: orchestration, lecture des retours, verification locale avant suite.
## Bornes
- P1.z peut toucher `core/execution/*`, `core/cognition/vram_orchestrator.py`,
et eventuellement un helper config central.
- P1.y reste benchmark isole: aucun branchement Lea runtime.
- Client Lea gele hors scope.
- `.docx` DSI et `workflows.db` intouchables.

View File

@@ -0,0 +1,24 @@
# Distribution P1.y-alpha / P1.w — 2026-06-04
- `Auteur`: Codex
- `Date`: 2026-06-04 16:35 Europe/Paris
- `Statut`: actif
## Etat
- P1.x serveur: GO.
- P1.z V4/reasoning: GO, commit `806cc04b8`.
- P1.y bake-off: cadre Qwen recu, addendum memoire provider-neutral recu.
## Repartition
- Claude: P1.y-alpha, adapter OpenAI-compatible LeaBench isole.
- Qwen: QG P1.y-alpha + cadrage P1.w fallback `DEFAULT_VLM_MODEL`.
- Codex: orchestration, verification locale, pas de modification runtime sans GO.
## Bornes
- P1.y-alpha ne lance pas vLLM/SGLang et ne touche pas Lea runtime.
- P1.w est seulement cadre pour l'instant.
- `.docx` DSI et `workflows.db` restent intouchables.

View File

@@ -0,0 +1,29 @@
# Info modeles DGX — gemma4:31b disponible
- `Auteur`: Codex
- `Date`: 2026-06-05 10:35 Europe/Paris
- `Statut`: actif
- `Source`: Dom, conversation directe
## Information Dom
Dom indique que `gemma4:31b` est charge.
Dom autorise aussi Codex/agents a telecharger des modeles utiles si besoin, sans redemander
un accord a chaque modele. A garder scope: uniquement pour benchmark/validation utile au POC.
## Impact
- P1.w fallback VLM: ne pas conclure automatiquement que `gemma4:31b` doit devenir le default.
- P1.y bake-off: `gemma4:31b` peut entrer dans les candidats qualite/latence si disponible
sur le runtime teste.
- Toute selection de default runtime reste soumise a mesures: latence, precision, memoire,
stabilite, zero clic dangereux.
## Garde-fous
- Pas d'alias Ollama.
- Pas de migration hot path Lea sans benchmark et GO Dom.
- Ne pas faire exploser le stockage modele sans raison explicite.
- Noter tout modele telecharge dans la coordination.

View File

@@ -0,0 +1,37 @@
# Distribution P1.w fallback VLM — 2026-06-05
- `Auteur`: Codex
- `Date`: 2026-06-05 10:50 Europe/Paris
- `Statut`: actif
## Etat
- P1.x serveur: GO.
- P1.z V4/reasoning: GO.
- P1.y-alpha adapter OpenAI-compatible LeaBench: GO.
- P1.w: cadrage Qwen recu, execution lancee.
## Information Dom
Dom confirme que les modeles cites/observes ce matin sont bien presents cote DGX/tunnel.
La liste observee via `/api/tags` incluait notamment:
- `qwen2.5vl:7b-rpa`
- `qwen2.5vl:7b`
- `gemma4:31b-cloud`
- autres modeles locaux plus petits.
Dom a aussi indique que des telechargements de modeles utiles sont autorises si necessaire.
## Repartition
- Claude: executer P1.w en TDD, correction minimale du fallback VLM central.
- Qwen: quality gate P1.w et verification du choix de fallback.
- Codex: verification locale, relance QG, pas de migration runtime non demandee.
## Point de vigilance
Qwen a propose `DEFAULT_VLM_MODEL = "qwen3-vl:8b"`, mais Codex n'a pas vu ce modele
dans le `/api/tags` local lors du smoke. Claude doit verifier la disponibilite effective
avant de choisir le fallback. Ne pas hardcoder un modele absent.

View File

@@ -0,0 +1,26 @@
# DGX Ollama tags verifies — 2026-06-05
- `Auteur`: Codex
- `Date`: 2026-06-05 11:05 Europe/Paris
- `Statut`: actif
- `Source`: smoke local `http://127.0.0.1:11434/api/tags`
## Etat confirme
Dom indique que `ollama` pointe maintenant sur le DGX.
Codex a verifie le endpoint local `127.0.0.1:11434` et observe notamment:
- `gemma4:31b`
- `t2a-gemma3-27b:latest`
- `t2a-gemma3-27b-q4:latest`
- `qwen2.5vl:7b-rpa`
- `qwen3-vl:8b`
## Impact
- Le cadrage P1.w Qwen proposant `qwen3-vl:8b` comme fallback DGX-safe est maintenant
coherent avec le endpoint actif.
- `gemma4:31b` est bien present comme modele local, pas seulement `gemma4:31b-cloud`.
- Ne pas transformer `gemma4:31b` en default sans benchmark: candidat P1.y qualite/latence.

View File

@@ -0,0 +1,78 @@
# Resultat LeaBench statique — qwen2.5vl-rpa vs qwen3-vl
- `Auteur`: Codex
- `Date`: 2026-06-05 15:10 Europe/Paris
- `Statut`: actif
- `Contexte`: test sans controle desktop, benchmark statique uniquement
## Commandes lancees
Validation cas:
```bash
.venv/bin/python tools/lea_bench.py \
--cases benchmarks/computer_use/cases/leabench_extended_2026-05-24.jsonl \
--repo-root . --json
```
Resultat: `16` cas valides.
Benchmark qwen2.5vl:
```bash
.venv/bin/python tools/lea_bench_ollama.py \
--cases benchmarks/computer_use/cases/leabench_extended_2026-05-24.jsonl \
--repo-root . \
--model qwen2.5vl:7b-rpa \
--output benchmarks/computer_use/predictions/qwen25vl_rpa_2026-06-05.jsonl
```
Score:
- total: 16
- answered: 16
- correct: 9
- dangerous: 6
- accuracy: 0.5625
Benchmark qwen3-vl:
```bash
.venv/bin/python tools/lea_bench_ollama.py \
--cases benchmarks/computer_use/cases/leabench_extended_2026-05-24.jsonl \
--repo-root . \
--model qwen3-vl:8b \
--timeout 90 \
--output benchmarks/computer_use/predictions/qwen3vl_8b_2026-06-05.jsonl
```
Interrompu apres environ 7 minutes: 10 predictions produites.
Score partiel:
- total: 16
- answered: 10
- missing: 6
- correct: 5
- dangerous: 0
- answered_accuracy: 0.5
## Lecture
- `qwen2.5vl:7b-rpa`: trop dangereux pour conduire un test Lea live autonome;
plusieurs clics hors region et clics dans mauvais etat.
- `qwen3-vl:8b`: plus conservateur, zero clic dangereux sur le partiel, mais trop lent
et abstient sur des cibles visibles.
## Decision provisoire
Ne pas lancer de test Lea humain autonome base sur ces sorties.
Prochaine etape recommandee:
1. analyser les predictions dangereuses de `qwen2.5vl:7b-rpa`;
2. tester un prompt/parametrage plus strict ou un mode validation qui interdit les clics
si confiance/region faible;
3. garder `qwen3-vl:8b` comme juge de refus/validation possible, pas comme acteur direct
tant que latence et abstention ne sont pas maitrisees.

View File

@@ -0,0 +1,71 @@
# Diagnostic live 2026-06-05 — trace non revendiquée, pont Léa réparé, test long à relancer
- `Auteur`: Codex
- `Date`: 2026-06-05 17:18 Europe/Paris
- `Statut`: actif
## Contexte
Dom a signalé que le test Win+R évoqué par Codex était trop léger par rapport
à la capacité attendue. Correction importante apportée ensuite par Dom : il
n'a pas volontairement lancé d'enregistrement d'apprentissage pour cette trace.
## Constat factuel
Une trace locale existe sur Windows, mais elle n'est pas revendiquée comme
enregistrement volontaire par Dom :
- session brute : `data/training/live_sessions/DESKTOP-58D5CAC_windows/sess_20260605T170738_8dbfd4/live_events.jsonl`
- nom logué côté agent : `mon test win r`
- événements : 19
- actions : 6
- extraction dry-run : 1 candidate `key_win_r_wait_explorer_exe`, `validator_status=would_pass`
- clics de fin de session rejetés par segmentation
Cette trace est donc `non probante` et ne doit pas être utilisée comme preuve
de test utilisateur. Elle prouve uniquement qu'une capture locale a pu être
démarrée et finalisée techniquement.
## Blocage trouvé
La trace montre que le chemin `smart_tray` a lancé la capture locale, mais pas
la session conversationnelle Léa-first côté `agent-chat`, car le venv Windows
ne contenait pas `httpx`.
Log Windows :
```text
2026-06-05 17:07:38 [agent_v1.ui.smart_tray] ERROR:
Orchestrateur Léa injoignable : httpx non disponible — installer httpx>=0.27 sur le poste Windows.
```
## Correction appliquée
Installation côté Windows :
```text
httpx==0.28.1
httpcore==1.0.9
anyio==4.13.0
```
Vérification :
- `import httpx` OK dans `C:\rpa_vision\.venv`
- healthcheck Windows OK : `LeaInteractive` running, 1 arbre agent, capture server OK
- préflight pont Windows -> agent-chat OK : session `learn_8182c363762e` créée en `waiting_user_stop`,
puis annulée proprement
## Decision
La session `sess_20260605T170738_8dbfd4` doit être classée `trace non
revendiquée / non probante`, pas `smoke test utilisateur` et pas `preuve
workflow long`.
Prochaine preuve utile :
1. lancer explicitement un apprentissage Windows supervisé sur un scénario long mais sûr ;
2. vérifier création simultanée :
- session brute `live_events.jsonl` ;
- session orchestrateur `agent_chat/state/learn_*.json` ;
3. extraire en dry-run et vérifier plusieurs candidates/segments, pas seulement Win+R.

View File

@@ -0,0 +1,58 @@
# Recadrage — réutilisation des acquis Notepad / popups
- `Date`: 2026-06-05 18:09 Europe/Paris
- `Auteur`: Codex
- `Statut`: actif
## Décision
Ne plus présenter `Bloc-notes -> Fichier > Enregistrer / Enregistrer sous` ni la
gestion des popups comme des apprentissages à refaire. Ce sont des acquis déjà
présents. Le travail porte sur leur réutilisation fiable.
## Diagnostic
Le problème identifié n'était pas l'absence d'apprentissage, mais un pont cassé :
- le matcher ne scannait pas assez les workflows existants et n'indexait pas
assez le texte des nodes/actions ;
- le streaming server ne chargeait pas récursivement les workflows dans les
sous-dossiers machine ;
- donc une commande pouvait ne pas retrouver l'acquis, ou le retrouver côté chat
puis être refusée côté replay.
## Correctifs posés
- `core/workflow/semantic_matcher.py` : scan récursif, extraction texte enrichie,
synonymes, scoring tokens d'action.
- `agent_v0/server_v1/api_stream.py` : chargement récursif et reload aligné.
- `agent_v0/server_v1/stream_processor.py` : chargement récursif.
## Vérifications
- Tests ciblés : 93 passed.
- Compilation Python : OK.
- Services redémarrés : `rpa-streaming`, `rpa-agent-chat`.
- Chat : 130 workflows.
- Streaming : 146 fichiers scannés, 130 workflows en mémoire.
- Recherche live `sauvegarde le fichier notepad` : retourne des workflows appris.
- Le workflow `Bloc-notes, Explorateur et Python (5)` est connu du streaming.
- Conversion hors exécution : actions replay non vides.
## Prochaine étape
Valider un test réel supervisé, sans réapprentissage :
1. commande naturelle ;
2. sélection workflow existant ;
3. acceptation streaming ;
4. exécution supervisée ;
5. gestion popup/dialogue ;
6. preuves archivées.
## Délégation
- Claude : pont technique mémoire -> replay.
- Qwen : quality gate réutilisation acquis / refus des tests trop légers.
— Codex

View File

@@ -0,0 +1,51 @@
# Lancement parallèle — préflight replay et GPU/technos
- `Date`: 2026-06-05 20:37 Europe/Paris
- `Auteur`: Codex
- `Statut`: actif
## Décision
Dom demande de ne pas repousser. Les jobs 1 et 3 sont lancés en parallèle.
## Job 1 — Préflight replay non destructif
Objectif : prouver le pont `mémoire existante -> replay` sans risque live.
Claude reçoit GO pour implémenter :
`POST /api/v1/traces/stream/replay/preflight`
Le endpoint doit être strictement non destructif :
- pas de queue ;
- pas de replay state ;
- pas de replay lock ;
- pas de clic ;
- sortie actionnable pour QG.
Qwen reçoit le QG associé.
## Job 3 — GPU/technos
Objectif : vitesse, précision, qualité.
Constat initial Claude :
- Ollama/VLM/LLM tournent sur DGX via tunnel ;
- RTX locale disponible ;
- OCR/YOLO/SoM restent CPU ;
- UI-TARS/InfiGUI, OmniParser/Florence2, `qwen3.5:9b`, ONNX doivent être clarifiés.
Travail lancé :
- baseline CPU/GPU ;
- patch paramétrable, pas hardcodé ;
- audit techno par techno avec bench avant rebranchement.
## Fichiers envoyés
- `docs/coordination/inbox_claude/2026-06-05_2037_codex-to-claude_GO-PREFLIGHT-REPLAY-et-GPU-TECHNOS.md`
- `docs/coordination/inbox_qwen/2026-06-05_2037_codex-to-qwen_QG-PREFLIGHT-et-GPU-TECHNOS.md`
— Codex

View File

@@ -0,0 +1,51 @@
# Reprise loop coordination — 2026-06-08
- `Date`: 2026-06-08 09:48 CEST
- `Auteur`: Codex
- `Statut`: actif
## Decision
Le loop de coordination est remis en place par fichiers :
1. etat courant dans `docs/coordination/active/` ;
2. relance courte dans `inbox_claude/` ;
3. relance QG courte dans `inbox_qwen/` ;
4. reponses attendues dans `inbox_codex/`.
## Etat repris
- Preflight replay non destructif : GO final Qwen.
- Endpoint actif : `POST /api/v1/traces/stream/replay/preflight`.
- Workflows connus cote chat/streaming : memoire existante reconnectee.
- LeaBench live autonome : NO-GO, 6 clics dangereux observes sur `qwen2.5vl:7b-rpa`.
- Test long Notepad : GO uniquement supervise, Dom devant Windows requis.
- P1.g GPU cascade : patch Claude propose en worktree, non merge.
- `qwen3.5:9b` : absent DGX, decision Dom attendue pull vs nettoyage.
## Messages remis dans le flux
- Claude :
- `docs/coordination/inbox_claude/2026-06-08_0948_codex-to-claude_REPRISE-LOOP-P1G-GPU-ET-PREFLIGHT.md`
- Qwen :
- `docs/coordination/inbox_qwen/2026-06-08_0948_codex-to-qwen_REPRISE-QG-P1G-GPU-ET-PREFLIGHT.md`
## Contrat de loop
- Claude repond dans `docs/coordination/inbox_codex/` avec ACK/NACK et etat du patch P1.g.
- Qwen repond dans `docs/coordination/inbox_codex/` avec verdict QG P1.g et hygiene.
- Codex lit les deux retours, arbitre, teste et recopie les decisions durables dans
`active/`, `syntheses/` ou `registre/`.
- Aucun replay live autonome sans Dom devant Windows et validation explicite.
- Aucun merge du patch device sans decision Dom + QG.
## Prochaine action Codex
1. Attendre les retours Claude/Qwen dans `inbox_codex/`.
2. Si Qwen confirme GO merge P1.g et Dom confirme, preparer merge supervise depuis
`.claude/worktrees/agent-a4f390f410e00ad7c`.
3. Si merge effectue, lancer bench GPU reel `auto` vs `cpu`, puis restart uniquement apres
resultats.
4. Si Dom veut avancer cote utilisateur, preparer test Notepad supervise, pas autonome.
— Codex

View File

@@ -0,0 +1,118 @@
# Plan journee — Lea live, DGX, dashboard agents
- `Date`: 2026-06-08 11:02 CEST
- `Auteur`: Codex
- `Statut`: actif
- `Role Codex`: chef de projet / integration / arbitrage
## Reformulation Dom
Dom a fixe deux objectifs minimum pour aujourd'hui :
1. lancer des tests Lea grandeur nature ;
2. commencer le transfert progressif du programme vers le DGX.
Suite a suivre aujourd'hui et cette semaine :
- dashboard fonctionnel ;
- creation d'agents fonctionnelle ;
- securite de creation/enrolement/revocation agent fonctionnelle ;
- capture propre des actions/workflows depuis plusieurs machines ;
- replay fonctionnel ;
- apprentissage/modele correctement cable entre capture, workflow, matching, preflight, replay.
## Decisions de cadrage
- Pas de replay live autonome : tests grandeur nature = supervises, Dom devant Windows.
- Preflight replay non destructif reste le sas obligatoire avant toute execution.
- `gemma4:26b` est candidat acteur/juge grounding supervise sur DGX, pas active en default runtime.
- `gemma4:12b` est candidat OCR/VQA leger, pas grounder Windows.
- `qwen2.5vl:7b-rpa` reste dans la cascade temps reel tant que le runtime complet n'est pas qualifie.
- UI-TARS DGX est casse actuellement : import Ollama sans `mmproj`, pas de capacite `vision`.
- P1.g GPU device reste en attente GO Dom avant merge.
## Objectif fin de semaine
Demonstration defendable :
1. plusieurs machines peuvent s'enroler proprement ;
2. elles capturent actions + screenshots + events sans melange d'identite machine ;
3. les workflows appris sont stockes, indexes et matchables ;
4. le replay sait retrouver le workflow, preflight non destructif, puis executer sous supervision ;
5. les decisions IA/modeles sont tracees et remplacables par configuration ;
6. dashboard permet de creer/voir/gerer les agents avec garde-fous de securite.
## Plan d'action du 2026-06-08
### P0 — coordination et capacites agents
- Claude doit fournir l'inventaire de ses agents/subagents disponibles, roles, outils, plugins/skills, et manques.
- Qwen doit fournir l'inventaire equivalent cote QG/revue.
- Codex active ses propres sous-agents pour audits paralleles :
- protocole tests Lea live ;
- transfert DGX ;
- dashboard/creation agents/securite.
- Chaque agent doit proposer les plugins/skills manquants avant de bloquer.
### P1 — tests Lea grandeur nature
But : une preuve supervisee, pas autonome.
Pipeline attendu :
1. verifier Windows agent + `httpx` + connexion agent-chat ;
2. lancer apprentissage explicitement par Dom ;
3. capturer scenario long mais safe ;
4. verifier session brute `live_events.jsonl` + session orchestrateur `agent_chat/state/learn_*.json` ;
5. extraire/convertir en workflow ;
6. matcher par commande naturelle ;
7. appeler `POST /api/v1/traces/stream/replay/preflight` ;
8. lancer replay supervise si preflight OK ;
9. archiver preuves et verdict.
Critere GO journee : au moins un scenario long safe capture -> workflow connu -> preflight OK -> replay supervise demarre sans action dangereuse.
### P2 — transfert DGX
But : commencer sans casser le poste local.
Phases :
1. inventaire services/ports/env/modeles/data ;
2. verifier DGX Ollama 0.30.6 + tags + VRAM + acces systemd ;
3. identifier chemins a synchroniser et chemins a exclure ;
4. creer plan de deploiement non destructif ;
5. verifier imports modele : Gemma4 OK, UI-TARS KO sans `mmproj` ;
6. definir rollback et stop conditions.
Critere GO journee : checklist DGX + premiere synchro ou dry-run documente + liste des branchements manquants.
### P3 — dashboard agents + securite
But : transformer le dashboard en outil operable multi-machine.
Questions bloqueuses :
- creation agent : qui peut creer ?
- jeton d'enrolement : generation, expiration, usage unique ?
- identite machine : stable, non forgeable ?
- revocation : immediate ?
- affichage dashboard : etat agent, derniere capture, workflows, erreurs ?
- separation multi-machine : pas de melange de sessions/workflows.
Critere GO semaine : creation/enrolement/revocation agent testables et visibles dans le dashboard.
## Delegations envoyees
- Claude :
- `docs/coordination/inbox_claude/2026-06-08_1102_codex-to-claude_MISSION-JOURNEE-lea-live-dgx-dashboard-agents.md`
- Qwen :
- `docs/coordination/inbox_qwen/2026-06-08_1102_codex-to-qwen_QG-JOURNEE-lea-live-dgx-dashboard-agents.md`
## Attendus de retour
- Reponses Claude/Qwen dans `docs/coordination/inbox_codex/`.
- Une synthese Codex apres retours agents.
- Aucun changement runtime non reversible sans GO Dom.
— Codex

View File

@@ -0,0 +1,69 @@
# P0 UI-TARS — reparation obligatoire, pas abandon
- `Date`: 2026-06-08 11:16 CEST
- `Auteur`: Codex
- `Statut`: actif
- `Decision Dom`: UI-TARS est un point essentiel du projet ; Claude doit tester et reparer.
## Constat repris
Claude a prouve que l'import Ollama actuel `0000/ui-tars-1.5-7b-q8_0:7b` est aveugle :
- pas de capacite `vision` ;
- `projector_info = {}` ;
- requetes image en HTTP 500/400 ;
- modele utilise dans `core/execution/input_handler.py` niveau 2 grounding ;
- present aussi dans `core/detection/vlm_config.py` fallback.
Qwen confirme que l'echec est silencieux (`logger.debug`) et que le niveau 2 est casse.
## Arbitrage Codex
UI-TARS ne doit pas etre abandonne.
Court terme :
- eviter un fallback silencieux en 500 ;
- rendre l'echec visible (`warning`) ;
- ne pas laisser croire que UI-TARS fonctionne si `capabilities` ne contient pas `vision`.
Moyen terme immediat :
- reparer l'import UI-TARS avec le `mmproj` correspondant ;
- verifier `capabilities` contient `vision` et `projector_info` non vide ;
- relancer le bench LeaBench 16 cas ;
- comparer a `gemma4:26b`, `gemma4:31b`, `qwen2.5vl:7b-rpa`.
## Contrat de reparation
Claude pilote la reparation technique :
1. identifier source fiable du GGUF UI-TARS + `mmproj` compatible ;
2. creer un Modelfile DGX propre ;
3. importer sous un tag distinct, ne pas ecraser sans preuve ;
4. sanity image `/api/chat` ;
5. verifier `/api/show` ;
6. bench UI-TARS natif `start_box` 0-1000 ;
7. rapporter latence, accuracy, dangereux, cas Save As.
Qwen fait le QG :
1. verifier que le tag repare est vraiment multimodal ;
2. verifier qu'aucun echec silencieux ne reste ;
3. verifier que l'activation runtime reste conditionnee a bench + GO Dom ;
4. verifier que le fallback temporaire ne supprime pas durablement UI-TARS du projet.
## Non-decisions
- Pas de suppression durable de UI-TARS comme techno projet.
- Pas de promotion Gemma4 en remplacement definitif de UI-TARS.
- Pas d'activation runtime UI-TARS tant que le bench repare n'est pas vert.
## Messages envoyes
- Claude :
- `docs/coordination/inbox_claude/2026-06-08_1116_codex-to-claude_GO-P0-REPARATION-UITARS-MMProj.md`
- Qwen :
- `docs/coordination/inbox_qwen/2026-06-08_1116_codex-to-qwen_QG-P0-REPARATION-UITARS-MMProj.md`
— Codex

View File

@@ -0,0 +1,104 @@
# Audit anti-bordelisation — architecture runtime reelle
- `Date`: 2026-06-08 11:41 CEST
- `Auteur`: Codex
- `Statut`: actif
- `Motif`: Dom signale un risque systemique : trop de code essentiel non branche, navigation trop locale.
## Diagnostic de depart
Le cas UI-TARS montre une dette d'architecture :
- une brique essentielle existe ;
- elle est appelee dans un chemin secondaire ;
- elle n'est pas dans le chemin critique replay Lea ;
- son echec est silencieux ;
- les tests passent quand meme car les chemins testes ne l'exercent pas.
Ce schema peut exister ailleurs : dashboard, creation agents, apprentissage, replay, modeles,
securite, transfert DGX.
## Objectif de l'audit
Produire une carte de verite runtime :
| Domaine | Contrat produit | Code present | Code reellement appele | Tests | Risque |
|---|---|---|---|---|---|
La question centrale n'est plus "est-ce que le code existe ?", mais :
- est-il dans le chemin runtime reel ?
- echoue-t-il silencieusement ?
- est-il protege par test ?
- est-il visible dans dashboard/logs/health ?
- est-il compatible multi-machine/DGX ?
## Lots d'audit
### Lot 1 — Runtime Lea / replay / apprentissage
- capture Windows ;
- agent-chat learn ;
- live sessions ;
- extraction competences/workflows ;
- matcher ;
- preflight ;
- replay supervise ;
- replay autonome interdit.
### Lot 2 — Grounding/modeles
- `resolve_engine` vrai chemin demo ;
- `input_handler`/VWB chemin secondaire ;
- UI-TARS, InfiGUI, OmniParser, Gemma, qwen ;
- fallbacks ;
- health modeles ;
- tests LeaBench et runtime.
### Lot 3 — Dashboard agents securite
- creation agent ;
- enrolement ;
- token par poste vs token global ;
- revocation ;
- usurpation machine_id ;
- auth dashboard/VWB/agent-chat ;
- endpoints debug/secrets.
### Lot 4 — Multi-machine / data
- separation sessions/workflows par machine ;
- choix machine explicite ;
- chemins data ;
- replay sur mauvais poste ;
- preuves d'audit.
### Lot 5 — DGX migration
- services/ports ;
- systemd/user/path ;
- env/secrets ;
- modeles Ollama ;
- data a copier vs regenerer ;
- stop conditions.
## Mandat Qwen
Qwen recoit un lot transverse de contre-audit. Il doit challenger Claude et Codex, pas seulement ACK.
Message :
- `docs/coordination/inbox_qwen/2026-06-08_1141_codex-to-qwen_MANDAT-AUDIT-ANTI-BORDELISATION.md`
## Regle
Toute brique critique doit avoir :
1. chemin runtime identifie ;
2. healthcheck ou log visible ;
3. test ciblant le chemin reel ;
4. fallback explicite ;
5. statut dashboard ou preuve d'audit ;
6. owner et deadline.
— Codex

View File

@@ -0,0 +1,114 @@
# Constats initiaux audit global — P0 anti-bordelisation
- `Date`: 2026-06-08 11:45 CEST
- `Auteur`: Codex
- `Statut`: actif
## Constat general
Le projet n'a pas seulement des bugs isoles. Il presente plusieurs risques de coherence :
- code essentiel present mais pas dans le chemin runtime reel ;
- fallbacks silencieux ;
- securite agent encore trop globale ;
- dashboard/VWB/agent-chat pas alignes sur un modele de securite unique ;
- migration DGX non stabilisee entre chemins `/home/dom` et `/opt/rpa_vision_v3` ;
- tests existants qui valident des chemins secondaires ou partiels.
## P0 identifies
### 1. UI-TARS / grounding
Etat :
- ancien tag `0000/ui-tars-1.5-7b-q8_0:7b` aveugle sans `mmproj` ;
- reimport `uitars-1.5-7b-vision` reussi, mais bench mauvais : 0,375 accuracy, 9 dangereux ;
- cause racine : UI-TARS etait dans `input_handler`, pas dans le chemin critique replay Lea
`resolve_engine`.
Action :
- gate `capabilities: vision` + warning, pas d'echec silencieux ;
- ne pas abandonner UI-TARS, mais ne pas l'activer en runtime sante ;
- continuer evaluation moteurs propres vLLM/Transformers/InfiGUI/Holo/Qwen3-VL ;
- tout grounder retenu doit etre branche dans le vrai chemin `resolve_engine`, pas seulement VWB.
### 2. Tests Lea grandeur nature
Etat :
- preflight non destructif GO ;
- test long Notepad GO seulement supervise ;
- replay autonome NO-GO ;
- protocole live existe : capture explicite, `live_events.jsonl`, `learn_*.json`, dry-run,
preflight, replay supervise.
Action :
- executer uniquement avec Dom devant Windows ;
- archiver preuves dans la session ;
- stop si workflow inconnu, `n_actions=0`, popup non detectee, machine/focus incertains.
### 3. Dashboard agents / securite
Etat :
- token global agent retourne a l'enrolement ;
- revocation contournee possible par usurpation `machine_id` ;
- token logge au startup streaming ;
- endpoints debug/env exposent trop ;
- VWB et agent-chat ont des surfaces non authentifiees ;
- VWB peut choisir une machine Windows active si `machine_id` manque.
Action P0 :
- token par poste hashe en DB ;
- revocation effective liee au token, pas seulement au `machine_id` declare ;
- suppression/neutralisation debug secrets ;
- interdiction execution sans `machine_id` explicite ;
- tests enroll/revoke/usurpation/double-enroll.
### 4. DGX migration
Etat :
- branche active sale ;
- `data` environ 28G ;
- systemd actuel hardcode `/home/dom`, user `dom`, `.env.local` ;
- scripts prod visent `/opt/rpa_vision_v3`, user `rpa`, env `/etc/rpa_vision_v3/...` ;
- `svc.sh` attend des noms d'unites differents de `deploy/systemd`.
Action P0 :
- choisir chemin cible unique ;
- dry-run de copie, pas transfert aveugle ;
- secrets rotatifs ;
- verifier Ollama 0.30.6 + modeles ;
- exclure venv/node_modules/logs/caches ;
- health checks ports `8000/5001/5002/5004/5005/5006/5099/3002/11434`.
### 5. Qwen
Qwen a recu un mandat transverse :
- trouver les autres "UI-TARS bis" ;
- carte runtime reelle ;
- bloquants fin de semaine ;
- plan de tests des chemins reels ;
- utiliser ses subagents.
Fichier :
- `docs/coordination/inbox_qwen/2026-06-08_1141_codex-to-qwen_MANDAT-AUDIT-ANTI-BORDELISATION.md`
## Regle immediate
Aucun nouveau patch fonctionnel ne doit etre accepte sans repondre :
1. est-ce le chemin runtime reel ?
2. quel test l'exerce ?
3. que se passe-t-il si la brique echoue ?
4. est-ce visible dans logs/health/dashboard ?
5. comment on rollback ?
— Codex

View File

@@ -0,0 +1,98 @@
# Chantier DGX — installation propre et complete
- `Date`: 2026-06-08 11:56 CEST
- `Auteur`: Codex
- `Statut`: actif
- `Priorite`: P0/P1 semaine
## Decision
Le transfert DGX n'est pas un simple `rsync`.
Il devient un chantier dedie : **installation propre et complete du programme sur le DGX**,
avec services, env, modeles, donnees, securite, dashboard, agents et healthchecks.
## Owners
- **Codex** : chef de projet / architecture cible / arbitrage chemins, services, ordre d'activation.
- **Claude** : lead implementation DGX install. Produit le plan executable, scripts/diffs proposes,
dry-run, puis implementation sous GO.
- **Qwen** : QG migration. Valide systemd, env, secrets, stop conditions, tests et absence de regression.
- **Dom** : GO sur decisions irreversibles : chemin cible, user systemd, rotation secrets, activation modeles.
## Ce qui est deja pris en compte
Source de verite actuelle :
- ports/services : `services.conf` ;
- audit DGX Codex subagent : services, donnees, systemd, secrets, stop conditions ;
- Qwen audit : incoherences `/home/dom` vs `/opt/rpa_vision_v3`, `.env.local` vs `/etc/...`,
`User=dom`, noms d'unites, `vram_orchestrator`, chemins absolus ;
- Claude : DGX SSH + sudo OK, Ollama 0.30.6, Gemma4 12b/26b/31b, UI-TARS reimporte/bench.
## Decisions a trancher avant installation complete
1. Chemin cible DGX :
- option A : `/opt/rpa_vision_v3` avec user `rpa` ;
- option B : `/home/dom/ai/rpa_vision_v3` pour compat court terme.
2. Env cible :
- prod : `/etc/rpa_vision_v3/rpa_vision_v3.env` ;
- ne pas copier `.env.local` tel quel.
3. Services :
- aligner `deploy/systemd/*.service` avec `services.conf` ;
- supprimer mismatch `rpa-dashboard.service` vs `rpa-vision-v3-dashboard.service`.
4. Secrets :
- rotation obligatoire des tokens deja exposes/logges ;
- pas de secret dans repo, ZIP agent, logs ou debug endpoints.
5. Donnees :
- copier workflows/DB necessaires ;
- ne pas copier caches, venv, node_modules, logs bruts inutiles ;
- traiter `data/training/live_sessions` comme sensible.
6. Modeles :
- default runtime conserve `qwen2.5vl:7b-rpa` ;
- `gemma4:26b` seulement profil supervise apres GO ;
- UI-TARS repare mais bench dangereux en Ollama, pas actif sante ;
- futur grounder a brancher dans `resolve_engine`.
## Livrables demandes
Claude doit produire :
1. `PLAN-INSTALL-DGX-PROPRE-COMPLETE.md` ;
2. checklist preflight DGX ;
3. proposition de chemin/user/env cible ;
4. dry-run copy/sync avec inclusions/exclusions ;
5. plan systemd cible ;
6. plan secrets/rotation ;
7. healthcheck post-install ;
8. rollback.
Qwen doit produire :
1. `QG-INSTALL-DGX-PROPRE.md` ;
2. stop conditions ;
3. tests d'acceptance ;
4. revue des scripts/diffs Claude avant execution.
## Criteres GO installation DGX
- `ollama --version` DGX = 0.30.6 ou plus ;
- tags requis presents : `qwen2.5vl:7b-rpa`, `gemma4:12b`, `gemma4:26b`, `gemma4:31b` ;
- UI-TARS non active tant que bench sante KO ;
- services verifies : API `8000`, dashboard `5001`, VWB backend `5002`, agent-chat `5004`,
streaming `5005`, session-cleaner `5006`, worker `5099`, VWB frontend `3002` ;
- env lu depuis emplacement cible, sans fallback dev ;
- secrets forts et rotatifs ;
- dashboard accessible uniquement selon politique auth ;
- agents multi-machine enroles avec securite minimale ;
- preflight replay OK ;
- test Lea supervise OK.
## Messages envoyes
- Claude :
- `docs/coordination/inbox_claude/2026-06-08_1156_codex-to-claude_MISSION-INSTALL-DGX-PROPRE-COMPLETE.md`
- Qwen :
- `docs/coordination/inbox_qwen/2026-06-08_1156_codex-to-qwen_QG-INSTALL-DGX-PROPRE-COMPLETE.md`
— Codex

View File

@@ -0,0 +1,65 @@
# Parallelisation stricte — agents et workstreams
- `Date`: 2026-06-08 11:59 CEST
- `Auteur`: Codex
- `Statut`: actif
## Decision
On passe en execution parallele controlee. Les lots sont independants tant qu'ils ne changent pas
le runtime sans GO.
Regle : chaque lane produit un livrable court, QG separe, puis integration Codex.
## Lanes paralleles
| Lane | Sujet | Owner execution | QG | Peut avancer sans GO runtime ? | Livrable |
|---|---|---|---|---|---|
| A | Securite agents multi-machine | Claude + agent Codex secu | Qwen | Oui, plan/diff/tests | PATCH/PLAN tokens par machine |
| B | Installation DGX propre | Claude | Qwen | Oui, plan/dry-run | PLAN-INSTALL-DGX |
| C | Tests Lea grandeur nature | Claude | Qwen | Oui, protocole ; execution avec Dom | PLAN-LEA-LIVE |
| D | Dashboard agents/secu | Claude | Qwen | Oui, audit/diff propose | AUDIT-DASHBOARD-AGENTS-SECU |
| E | Grounding/modeles vrais chemins | Claude | Qwen | Oui, bench/audit ; activation sous GO | SOTA + cablage resolve_engine |
| F | Code mort / UI-TARS bis | Qwen lead audit | Codex | Oui, audit | Carte runtime + suppressions proposees |
| G | P1.g GPU device | Claude | Qwen | Non merge sans GO Dom | Bench auto/cpu apres GO |
## Travail deja lance
- Claude a pris le lead DGX install et annonce 3 agents :
- `PLAN-INSTALL-DGX-PROPRE-COMPLETE`
- `PLAN-LEA-LIVE-GRANDEUR-NATURE`
- `AUDIT-DASHBOARD-AGENTS-SECU`
- Qwen a livre :
- carte runtime anti-bordelisation ;
- P0 bloquants fin de semaine ;
- plan tests chemins reels ;
- QG gate vision.
- Codex a lance un sous-agent securite agents :
- token par machine ;
- enroll/revoke ;
- auth agent-chat/VWB ;
- machine_id explicite.
## Relance Qwen
Qwen doit parallelliser ses QG :
- QG securite agents ;
- QG install DGX ;
- QG Lea live ;
- QG dashboard agents ;
- QG grounding vrais chemins.
Message :
- `docs/coordination/inbox_qwen/2026-06-08_1159_codex-to-qwen_PARALLELISATION-QG-LANES.md`
## Stop conditions
- Pas de patch runtime majeur sans QG.
- Pas de replay live autonome.
- Pas d'installation DGX destructive sans GO Dom.
- Pas d'activation modele sans bench.
- Pas de service expose sans auth minimale.
— Codex

View File

@@ -0,0 +1,91 @@
# Point etat — parallelisation 2026-06-08 15:01
- `Date`: 2026-06-08 15:01 CEST
- `Auteur`: Codex
- `Statut`: actif
## Etat global
La parallelisation est effective.
- Claude produit les plans et diffs techniques.
- Qwen produit les QG par lane.
- Codex centralise, arbitre et maintient les stop conditions.
- Dom garde les GO irreversibles.
## Lanes
| Lane | Sujet | Etat | Verdict |
|---|---|---|---|
| A | Securite agents multi-machine | Audit + QG livres | NO-GO en l'etat |
| B | Installation DGX propre | Plan Claude + QG Qwen livres | GO provisoire, choix chemin requis |
| C | Test Lea grandeur nature | Protocole livre + QG valide | GO provisoire, Dom devant Windows requis |
| D | Dashboard agents/secu | Audit + QG livres | NO-GO tant que securite P0 non corrigee |
| E | Grounding/modeles vrais chemins | Gate vision committe, bench vLLM livre | Qwen3-VL-4B via vLLM candidat |
| F | Code mort / UI-TARS bis | Carte Qwen livree | nettoyage requis |
| G | P1.g GPU device | GO provisionnel precedent | en attente GO Dom + bench |
## Points acquis
### UI-TARS / grounders
- Ancien UI-TARS Ollama etait aveugle sans `mmproj`.
- Reimport vision reussi, mais bench mauvais : 0,375 accuracy, 9 dangereux / 16.
- UI-TARS n'est pas active en runtime sante.
- Gate vision commit `d00fe7b00` valide Qwen : plus de 500 silencieux dans `input_handler`.
- Bench vLLM DGX : `Qwen3-VL-4B-Instruct` gagne pour le grounding candidat :
- 0,875 accuracy ;
- 1 dangereux / 16 ;
- cible demo 2/2 ;
- latence ~1,1 s ;
- a cabler dans `resolve_engine`, pas `intelligent_executor`.
- Aucun grounder standalone n'est considere sur : cascade de validation obligatoire.
### DGX
- Plan installation propre livre par Claude.
- QG Qwen donne GO provisoire.
- Bloqueur Dom : choisir chemin cible :
- court terme : `/home/aivanov/ai/rpa_vision_v3` user `aivanov` ;
- propre : `/opt/rpa_vision_v3` user `rpa`.
- Donnees : ne pas copier les 28G de `data/training/live_sessions`; copier allow-list.
- Services : 4 unites manquantes identifiees, systemd actuel hardcode `/home/dom`.
- Secrets : rotation obligatoire.
### Lea live
- Protocole grandeur nature livre.
- GO provisoire pour scenario Notepad/Explorateur/Easily safe.
- Execution seulement si Dom devant Windows.
- Preflight non destructif obligatoire.
- Replay autonome reste NO-GO.
### Dashboard / agents / securite
- Fleet/enrolement existe et est wired.
- Modele de securite actuel = token global.
- Revocation contournable par usurpation `machine_id`.
- Agent-chat et VWB backend restent trop ouverts.
- Qwen valide les workpacks :
- WP-A dashboard fail-closed secrets ;
- WP-B bloquer reenrolement poste revoque ;
- WP-D stale last_seen ;
- WP-E ne plus mettre token en clair dans ZIP ;
- WP-C token par poste, plus gros morceau.
## Decisions Dom requises
1. DGX : Option A court terme (`/home/aivanov/...`) ou Option B propre (`/opt/...` + user `rpa`) ?
2. Autoriser Claude a lancer WP-A puis WP-B securite agents ?
3. Fenetre pour test Lea grandeur nature : Dom devant Windows ?
4. P1.g GPU : toujours en attente de GO explicite avant merge/bench.
## Stop conditions actives
- Pas d'installation DGX destructive sans GO Dom.
- Pas de multi-machine defendable tant que securite agents P0 non corrigee.
- Pas de replay autonome.
- Pas d'activation modele sans bench + QG + GO Dom.
- Pas de service expose sans auth minimale.
— Codex

View File

@@ -0,0 +1,51 @@
# Decisions Dom — GO operationnels 2026-06-08 15:15
- `Date`: 2026-06-08 15:15 CEST
- `Auteur`: Codex
- `Source`: reponse Dom "option A pour le 1 ok pour le 2 et 4 et pour le 3 quand tu veux"
- `Statut`: actif, source de verite jusqu'a contre-ordre Dom
## Decisions confirmees
1. **DGX / installation propre**
- Decision: **Option A**.
- Cible court terme: `/home/aivanov/ai/rpa_vision_v3`.
- User: `aivanov`.
- Objectif: demarrer transfert/bootstrap DGX aujourd'hui sans contaminer les donnees ni les secrets.
- Option B (`/opt/rpa_vision_v3`, user systeme `rpa`) reste cible propre post-POC, pas le chemin d'aujourd'hui.
2. **Securite agents / dashboard**
- Decision: **GO pour WP-A et WP-B**.
- WP-A: dashboard fail-closed si secret Basic manquant en prod.
- WP-B: bloquer le re-enrolement sous nouveau `machine_id` en contexte demo/locked.
- Multi-machine reste **NO-GO** tant que les P0 securite ne sont pas corriges et valides QG.
3. **Test Lea grandeur nature**
- Decision: **fenetre ouverte quand Codex/Claude jugent le preflight vert**.
- Condition non negociable: Dom devant le poste Windows cible.
- Scope: capture Shadow supervisee, Notepad/Explorateur/Easily lecture seule, pas de replay autonome.
4. **P1.g GPU device**
- Decision: **GO merge/bench**.
- Objectif: brancher la selection GPU/CPU proprement, verifier tests, bench, rollback env.
- Activation runtime large seulement apres QG + preuves.
## Priorites d'execution
| Priorite | Sujet | Owner execution | Owner QG | Gate |
|---|---|---|---|---|
| P0 | WP-A/WP-B securite | Claude | Qwen | Tests + QG GO |
| P0 | DGX Option A bootstrap | Claude | Qwen | Pas de secrets, pas de rsync massif, pas de service expose |
| P0 | Preflight Lea live | Claude + Codex | Qwen | G1-G6 verts + Dom present |
| P1 | P1.g GPU merge/bench | Claude | Qwen | Tests + bench + rollback |
## Stop conditions maintenues
- Pas de replay autonome.
- Pas d'installation destructive ni suppression sur DGX.
- Pas de copie de `data/training/live_sessions`.
- Pas de secret ecrit en clair dans un rapport, un log ou un ZIP.
- Pas d'activation modele/grounder sans bench + QG + GO Dom explicite.
- Pas de multi-machine defendable tant que le token global et les endpoints non proteges restent en P0.
— Codex

View File

@@ -0,0 +1,70 @@
# Additif — transfert des donnees entrainees vers DGX
- `Date`: 2026-06-08 15:43 CEST
- `Auteur`: Codex
- `Source`: clarification Dom "les donnees entrainees seront bien transferees ?"
- `Statut`: actif
## Decision
Oui, les **donnees entrainees utiles au runtime** seront transferees vers le DGX.
La regle "sans data" signifiait : **pas de `data/` brut dans Git, pas de rsync massif, pas de secrets, pas de captures sensibles non triees**.
Elle ne signifie pas que le DGX repart sans acquis.
## Paquet a transferer hors Git
Transfert par archive/manifeste controle, avec checksum, apres revue QG :
- `visual_workflow_builder/backend/instance/workflows.db` — workflows demo/runtime.
- `data/training/workflows/` — workflows entraines.
- `data/training/faiss_index/` — index de recherche/matching.
- `data/training/embeddings/` — embeddings entraines.
- `data/training/screen_states/` — etats ecran appris.
- `data/embeddings/` — embeddings runtime/prototypes.
- `data/visual_embeddings/` — signatures visuelles.
- `data/competences/` — competences observees/candidates.
- `data/correction_packs/` — corrections apprises.
- `data/templates/templates.json` — templates operationnels.
- `data/workflows_ir/` — representations IR de workflows si presentes.
- `data/learning/target_memory.db` et `data/learning/element_signatures.db` — memoires cibles/signatures, si elles ne contiennent pas de donnees sensibles en clair.
## Quarantaine / transfert selectif
Ces repertoires ne doivent pas partir automatiquement :
- `data/training/live_sessions/` — 28 Go de captures reelles, potentiellement sensibles.
- `data/training/sessions/`.
- `data/training/uploads/`.
- `data/runner_captures/`, `data/screenshots/`, `data/sessions/`, `data/streaming_sessions/`.
- logs, audits, erreurs contenant captures ou payloads applicatifs.
Si une partie de ces donnees est necessaire pour re-entrainement ou benchmark, elle doit etre transferee en **lot selectif anonymise**, avec manifeste, pas dans le paquet runtime initial.
## Interdits
- Pas de commit Git contenant `data/`.
- Pas de `.env`, `.env.local`, token, mot de passe, cle Fernet/API dans l'archive.
- Pas de DB fleet/dev brute si elle contient identites machines/tokens : initialiser le registry DGX proprement ou scrubber table par table.
- Pas de transfert massif non inspecte de `data/training/live_sessions`.
## Validation attendue
Claude doit produire :
- manifeste exact des chemins retenus ;
- taille de chaque entree ;
- commande d'archive non destructive ;
- commande de verification anti-secret/anti-capture ;
- emplacement cible DGX ;
- checksum de l'archive.
Qwen doit verifier :
- rien de sensible dans l'archive runtime ;
- tous les acquis necessaires au replay/matching sont presents ;
- restauration testable sur DGX ;
- chemins/configs coherents apres extraction.
— Codex

View File

@@ -0,0 +1,42 @@
# ACK Codex — lecture Qwen/Claude et actions ouvertes
- `Date`: 2026-06-08 16:06 CEST
- `Auteur`: Codex
- `Statut`: actif
## Messages lus
- `2026-06-08_1546_claude-to-codex_ACK-additif-trained-artifacts-en-production.md`
- `2026-06-08_1548_qwen-to-codex-claude_QG-WPA-WPB-GO.md`
- `2026-06-08_MANIFESTE-TRANSFERT-TRAINED-ARTIFACTS-DGX.md`
- `2026-06-08_1550_qwen-to-codex-claude_QG-MANIFESTE-TRAINED-ARTIFACTS.md`
## Etat confirme
| Sujet | Etat | Decision |
|---|---|---|
| WP-A dashboard fail-closed | Livre + QG | **GO sans reserve** |
| WP-B verrou reenrolement | Livre + QG | **GO sans reserve** |
| P1.g GPU | Livre + QG precedent | **GO**, bench reel reste a faire |
| DGX preflight Option A | Preflight + QG | **GO preflight**, transfert code en attente consolidation/push |
| Trained artifacts | Manifeste + QG | **GO avec reserves** |
## Actions ouvertes
1. **Trained artifacts V2**
- Ajouter `visual_workflow_builder/backend/data/anchors/`.
- Retirer `data/training/screen_states/` du paquet initial.
- Ajouter un script de rewrite chemins `/home/dom/ai/rpa_vision_v3/` -> `/home/aivanov/ai/rpa_vision_v3/` pour `visual_anchors.image_path`.
- Methode: tar + checksum, pas rsync direct.
2. **Consolidation code avant DGX**
- Commit/push branche `poc/dgx-2026-06-08` requis avant clone DGX.
- Ne pas pousser `data/`, `.env*`, secrets.
- Inclure le handler HTTP 403 `fleet_enroll_locked` dans le commit de consolidation `api_stream`.
3. **Transfert effectif**
- Aucun transfert de donnees execute a ce stade.
- Aucun clone DGX execute a ce stade.
- Attendre validation du manifeste V2 + decision push/branche.
— Codex

View File

@@ -0,0 +1,89 @@
# Revue visuelle — captures _full.png des workflows métier (risque contenu patient)
# Dossier : /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/
# Généré 2026-06-08. À revoir AVANT envoi clinique DGX.
Demo PMSI | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_ab3b0bdcbfbf_1776784888_full.png
Demo PMSI | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_b8ae007cfb07_1776784723_full.png
Demo PMSI | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_be5bf2b0088b_1776773876_full.png
Demo PMSI | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_c47602cedc05_1776773318_full.png
Demo PMSI | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_f4ee64c796b1_1776784765_full.png
Demo PMSI | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_fdfc0baf59e6_1776774010_full.png
Demo_urgence_2 | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_79c26617976d_1778493882_full.png
Demo_urgence_2 | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_8d4b9cf0207c_1778575835_full.png
Demo_urgence_2 | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_8e72328ac1f1_1778575896_full.png
Demo_urgence_2 | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_90aab00906b5_1778493250_full.png
Demo_urgence_2 | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_b8bf39376b8a_1778497633_full.png
Demo_urgence_2 | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_c07eeb32f46e_1778497407_full.png
Demo_urgence_2 | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_de15b10a848b_1778498168_full.png
Demo_urgence_2 | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_e31b93822caa_1778497559_full.png
Demo_urgence_2 | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_e757dbf3f22f_1778497837_full.png
Demo_urgence_2_interop | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_79c26617976d_1778493882_full.png
Demo_urgence_2_interop | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_90aab00906b5_1778493250_full.png
Demo_urgence_2_interop | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_ad076a293244_1778679925_full.png
Demo_urgence_2_interop | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_b8bf39376b8a_1778497633_full.png
Demo_urgence_2_interop | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_c07eeb32f46e_1778497407_full.png
Demo_urgence_2_interop | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_d026587f81cf_1778674974_full.png
Demo_urgence_2_interop | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_e31b93822caa_1778497559_full.png
Demo_urgence_2_interop | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_e757dbf3f22f_1778497837_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_19a316a9234e_1778887700_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_2002e2d7ba0d_1779089272_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_221d38ad0e90_1778851432_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_79c26617976d_1778493882_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_90aab00906b5_1778493250_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_a518f6d5e727_1778849657_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_b8bf39376b8a_1778497633_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_b972ad4bd7c8_1778849735_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_bfbffbb47be7_1778872136_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_c07eeb32f46e_1778497407_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_cd15bb4f8e52_1778851357_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_cf3a4b7702af_1778886433_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_d98bc4caa74d_1778887632_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_e31b93822caa_1778497559_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_e757dbf3f22f_1778497837_full.png
Demo_urgence_3_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_f2b354c7facc_1778851494_full.png
Onlyoffice | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_03c42f2ed139_1769203089_full.png
Onlyoffice | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_0c2836b2e973_1769197682_full.png
Onlyoffice | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_51c04e0e1db5_1769203445_full.png
Onlyoffice | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_64ba9e3f9c7c_1769200373_full.png
Onlyoffice | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_b0688d5625ce_1769203327_full.png
Onlyoffice | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_b73d32ff6a3a_1770801636_full.png
Onlyoffice | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_faaab112603a_1769200099_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_01b083af68a4_1777577411_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_0438bd2d9bdd_1778161174_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_1e7a355e4a6a_1777567028_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_29b89a0891b5_1777578702_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_4852d99cae10_1778156445_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_4b7a49bddfbc_1778161000_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_588c9c1c673c_1778161204_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_6a4db9f10eb0_1777578174_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_76a0ff320080_1777589181_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_90a77dd7e94d_1777567721_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_930fa9de55fb_1778147052_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_94792774d3e9_1777566772_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_9ae251da05f0_1778156720_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_a2d52564f86a_1777578074_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_c3929b00816a_1778161050_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_cdfe229d3976_1778156566_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_d2edf48ceeb2_1778161762_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_d6c574420481_1777578052_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_d7b26c54198f_1778147971_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_eed66b340a98_1778161242_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_f9bbb873c964_1777565422_full.png
Urgence | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_ff3bfdf7f6d4_1777577699_full.png
Urgence_aiva_demo | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_0efb3b8f61bb_1778434669_full.png
Urgence_aiva_demo | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_1958d72f71c4_1778164548_full.png
Urgence_aiva_demo | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_1a8811a99aa8_1778435686_full.png
Urgence_aiva_demo | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_30ef2bca7362_1778434976_full.png
Urgence_aiva_demo | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_3c8a9303a3a2_1778422742_full.png
Urgence_aiva_demo | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_76a0ff320080_1777589181_full.png
Urgence_aiva_demo | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_7ed58bbe1194_1778434871_full.png
Urgence_aiva_demo | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_807d29c6ab5b_1778422860_full.png
Urgence_aiva_demo | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_d7b26c54198f_1778147971_full.png
Urgence_aiva_demo | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_efe9d72f07e3_1778425168_full.png
linux_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_19a316a9234e_1778887700_full.png
linux_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_221d38ad0e90_1778851432_full.png
linux_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_bfbffbb47be7_1778872136_full.png
linux_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_cd15bb4f8e52_1778851357_full.png
linux_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_cf3a4b7702af_1778886433_full.png
linux_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_d98bc4caa74d_1778887632_full.png
linux_db | /home/dom/ai/rpa_vision_v3/visual_workflow_builder/backend/data/anchors/anchor_f2b354c7facc_1778851494_full.png