docs: track design docs, plans, audits, coordination infrastructure, handoffs

- 21 docs/*.md: audits, design notes, deployment plans, checklists, memos
- Coordination: ROLES, runbooks (DGX reboot, Lea live), patches, registre, syntheses, systemd, QG template
- Handoffs: 6 Codex handoff documents + README + template
This commit is contained in:
Dom
2026-07-02 13:29:58 +02:00
parent 7dd5c872df
commit 6907ecc82f
42 changed files with 5267 additions and 0 deletions

View File

@@ -0,0 +1,228 @@
# Handoff Codex — fin journee 2026-06-08 / reprise 2026-06-09
- `Date`: 2026-06-08 18:17 CEST
- `Auteur`: Codex
- `Objet`: reprise demain apres cycle DGX, securite, dashboard, branches, tests reels
- `Statut`: source de reprise operationnelle
## Resume executif
La journee a bascule le projet d'un etat fragile/local vers un socle DGX utilisable en local-only.
Acquis valides :
- DGX Option A deploye : `/home/aivanov/ai/rpa_vision_v3`, branche `poc-dgx`.
- Venv ARM DGX OK, torch CUDA OK sur GB10 `sm_121`.
- Donnees entrainees utiles transferees : 23 workflows, 199 ancres, FAISS 512-dim `ntotal=13666`.
- Services DGX 6/6 UP, `disabled`, bind `127.0.0.1`, pas d'exposition externe.
- Secrets generes sur DGX, non publies, `.env.local` chmod 600.
- WP-A/WP-B securite valides : dashboard fail-closed + verrou reenrolement.
- P1.g GPU valide local RTX 5070 et DGX GB10, gain environ 90 %, overlap 100 %, 0 OOM.
- Correctif GB10 memory-unified livre : `auto -> cuda` OK.
- Correctif bind securite livre : default `127.0.0.1` via `RPA_BIND_HOST`.
Non acquis / a reprendre :
- Dashboard fonctionnel bout-en-bout non encore teste comme workflow produit.
- Test Lea grandeur nature non execute.
- Replay controle multi-machine non prouve.
- Token par poste WP-C non implemente.
- Branching Gitea propre dev vs POC/NVP/prod non encore tranche.
- Dockerisation non tranchee : clone+venv+systemd fonctionne, Docker a etudier.
## Sources de verite a lire demain
### Etat DGX final
- `docs/coordination/inbox_codex/2026-06-08_1745_claude-to-codex-qwen_RECAP-FINAL-dgx-operationnel.md`
- `docs/coordination/inbox_codex/2026-06-08_1752_qwen-to-codex-claude_QG-RECAP-FINAL-DGX.md`
- `docs/coordination/inbox_codex/2026-06-08_RESULTAT-DGX-CLONE-VENV-ARM.md`
- `docs/coordination/inbox_codex/2026-06-08_RESULTAT-ARTIFACTS-V2-TRANSFERT-DGX.md`
- `docs/coordination/inbox_codex/2026-06-08_RESULTAT-DGX-COMPAT-RUNTIME.md`
- `docs/coordination/inbox_codex/2026-06-08_RESULTAT-BENCH-GPU-DGX-GB10.md`
### Decisions et roles
- `docs/coordination/registre/2026-06-08_decisions.md`
- `docs/coordination/ROLES.md`
- `docs/coordination/active/2026-06-08_1637_decision-piste2-no-go-code-mort.md`
- `docs/coordination/active/2026-06-08_1729_relance-missions-dgx-systemd-gb10.md`
### Lea live / QG
- `docs/coordination/RUNBOOK-LEA-LIVE-DRAFT.md`
- `docs/coordination/templates/TEMPLATE-QG.md`
- `docs/coordination/inbox_codex/2026-06-08_PLAN-LEA-LIVE-GRANDEUR-NATURE.md`
## Etat technique detaille
### DGX
- Host : `aivanov@192.168.1.45`.
- Repo : `/home/aivanov/ai/rpa_vision_v3`.
- Branche : `poc-dgx`.
- Commit final recape : `09f65cecb` cote local/Gitea `poc-dgx`.
- Services UP local-only : `rpa-streaming` 5005, `dashboard` 5001, `api` 8000, `vwb-backend` 5002, `stream-worker`, `worker`.
- Services `disabled` : oui.
- Exposition externe : non, bind `127.0.0.1`.
- VWB frontend 3002 : non inclus, Node absent / a trancher.
- Grounding service dedie : non finalise.
### Securite
- WP-A : dashboard refuse demarrage sans `DASHBOARD_PASSWORD`.
- WP-B : verrou reenrolement via `RPA_FLEET_ENROLL_LOCKED`.
- `.env.local` DGX genere sur place, valeurs non consignees.
- Auth disabled interdit en contexte DGX.
- Reste : WP-C token par poste, a mettre en P0 apres tests reels.
### Donnees entrainees
- Archive V2 transferee et verifiee.
- `workflows.db` : 23 workflows.
- `visual_anchors` : 199.
- Anchors : 468 PNG, 398 references effectives OK.
- FAISS : dim 512, `ntotal=13666`.
- Exclusions confirmees : `live_sessions`, `sessions`, `uploads`, `screenshots`, `.env*`, secrets.
### GPU / modeles
- P1.g device policy validee.
- RTX 5070 local : GO Qwen.
- DGX GB10 : GO avec correction auto, puis QG final GO.
- `RPA_VISION_DEVICE=auto` OK apres correctif memory-unified.
- EasyOCR + ultralytics + poids YOLO icon_detect installes sur DGX.
- UI-TARS reste non active pour sante/replay : bench dangereux.
- Qwen3-VL-4B via vLLM reste candidat grounder, pas cable runtime large.
- `gemma4:26b` reste candidat supervise/judge.
## Branching Gitea a trancher demain
Constat actuel :
- `poc-dgx` existe et contient le snapshot operationnel DGX.
- `main` est en retard/ambigu pour le POC.
- Plusieurs branches historiques existent.
Proposition Codex :
- `dev` : branche de developpement active, integration quotidienne.
- `poc/nvp/prod` ou `poc-prod` : branche stable POC/NVP/prod, protegee par QG.
- `poc-dgx` : conserver comme snapshot DGX du 2026-06-08, puis soit merger dans `poc/nvp/prod`, soit le garder comme tag/branche de release.
Decision requise :
- nom exact de la branche stable : `poc/nvp/prod`, `poc-prod`, ou autre ;
- regle de promotion : dev -> QG -> stable ;
- qui peut pousser sur stable.
## Docker vs clone
Etat :
- Clone + venv + systemd fonctionne maintenant et doit rester le chemin POC court terme.
- Docker n'est pas tranche.
- Un document existe : `docs/ROADMAP_DOCKERISATION.md`.
Position Codex :
- Court terme : garder clone/venv/systemd pour ne pas casser le POC.
- Moyen terme : etudier Docker pour services applicatifs seulement, avec volumes externes pour data/secrets/modeles.
- Ollama/GPU/DGX ARM doivent etre traites explicitement, pas caches dans un Dockerfile premature.
Decision demain :
- lancer un audit Docker read-only ;
- produire deux options : `clone+systemd durci` vs `docker compose applicatif`.
## Dashboard — priorite demain
Le dashboard est critique et doit etre teste comme produit, pas seulement comme process UP.
Checklist minimale :
- login Basic avec `DASHBOARD_PASSWORD` ;
- fail-closed si secret absent ;
- onglet Fleet visible ;
- liste agents ;
- creation/enrolement agent ;
- revoke ;
- `RPA_FLEET_ENROLL_LOCKED` ;
- generation paquet agent ;
- proxy dashboard -> streaming ;
- pas de fuite token dans UI/logs/ZIP ;
- VWB backend accessible local-only ;
- actions dashboard realistes : ouvrir workflow, voir donnees entrainees, lancer preflight.
QG attendu :
- Qwen doit verifier securite et parcours ;
- Claude execute les tests avec captures/logs ;
- Codex tranche les corrections.
## Tests reels — priorite produit
Objectif demain :
1. Verifier dashboard DGX local-only.
2. Preflight Lea live.
3. Dom devant Windows.
4. Capture supervisee safe Notepad/Explorateur/Easily lecture seule.
5. Preuves attendues :
- `live_events.jsonl`;
- `agent_chat/state/learn_*.json`;
- shadow understanding non vide ;
- workflow genere ;
- logs/captures coherents ;
- preflight replay non destructif.
6. Replay controle uniquement, pas autonome.
7. Ensuite seulement, multi-machine.
Stop conditions :
- pas de replay autonome ;
- pas d'action metier destructive ;
- pas d'exposition externe ;
- pas de service `enable` sans decision ;
- pas de secret affiche ;
- pas de suppression code mort.
## Missions demain proposees
### Codex
- Reprendre ce handoff.
- Valider branches Gitea avec Dom.
- Orchestrer dashboard tests.
- Trancher Docker vs clone : lancer audit read-only.
- Maintenir QG strict avant promotion stable.
### Claude
- Executer test dashboard DGX bout-en-bout.
- Preparer puis executer preflight Lea live.
- Produire rapport preuves.
- Bench grounder Qwen3-VL-4B sur Easily reel si preconditions OK.
- Ne pas toucher code mort.
### Qwen
- QG dashboard securite/parcours.
- QG Lea live preflight.
- QG branches/procedure promotion.
- QG Docker vs clone.
- Maintenir registre decisions.
## Etat git local a ne pas oublier
Le repo local reste charge en fichiers non suivis de coordination, graphify et artefacts d'agents.
Important :
- ne pas faire de cleanup destructif ;
- ne pas commit les secrets ;
- ne pas commit `data/` massif ;
- `poc-dgx` est la branche operationnelle Gitea ;
- le handoff present est une source de reprise, pas un commit applicatif.
— Codex

View File

@@ -0,0 +1,157 @@
# Handoff Codex — fin journee 2026-06-09 / reprise 2026-06-10
- `Date`: 2026-06-09 21:18 CEST
- `Auteur`: Codex
- `Statut`: source de reprise operationnelle
- `Objet`: fin de cycle dashboard DGX, M2 Lea live, WP-C, branches, Docker
## Resume executif
La journee a transforme le socle DGX/local-only en POC produit beaucoup plus proche du live.
Acquis valides :
- Dashboard DGX securite : GO.
- Dashboard produit : GO post-P0 Qwen.
- P0-1 workflows : corrige par symlink `data/workflows` -> `visual_workflow_builder/backend/data/workflows`, VWB 5002 sert 39 workflows.
- P0-2 paquet agent : ZIP genere, download HTTP 200, usage POC interne seulement.
- M2 Lea live : cible technique validee = serveur dev Linux `192.168.1.40:5005`, agent Windows pointe deja dessus.
- Tunnel Ollama DGX : rendu persistant via `systemd --user`, QG GO, 10 modeles accessibles via `127.0.0.1:11434`.
- Branching : branche stable decidee = `poc-prod`.
- Deploiement POC court terme : clone + venv + systemd, pas Docker.
- WP-C : Patch 1 local/TDD fait, commit local `f7f692641`, QG GO, non pousse, non deploye.
Non acquis / a reprendre :
- M2 Lea live non execute : attend Dom devant Windows + GO Codex au moment T.
- WP-C Patch 2 autorise a 21:06 local/TDD seulement ; pas encore de resultat lu au moment du handoff.
- WP-C complet non implemente ; multi-TIM reste NOGO.
- Push/deploiement WP-C non decide.
- Branches `main/dev/poc-prod` non creees/poussees ; blobs ~15 G non traites ; `master` non tranche.
- DETTE-015 workflow store : documentee, migration post-POC seulement.
## Sources de verite recentes
### Dashboard / P0
- `docs/coordination/inbox_codex/2026-06-09_2025_claude-to-codex-qwen_RESULTAT-P0-DASHBOARD-CORRECTIONS.md`
- `docs/coordination/inbox_codex/2026-06-09_2050_qwen-to-codex-claude-dom_QG-POST-P0-DASHBOARD-GO.md`
- `docs/coordination/inbox_codex/2026-06-09_2035_claude-to-codex-qwen_INFO-DETTE-015-store-workflows.md`
- `docs/DETTE_TECHNIQUE.md`
- `docs/PLAN_MIGRATION_WORKFLOWS_STORE_2026-06-09.md`
### M2 Lea live
- `docs/coordination/inbox_codex/2026-06-09_1546_claude-to-codex_PREP-M2-EXECUTION-CHECKLIST.md`
- `docs/coordination/inbox_codex/2026-06-09_1605_claude-to-codex-qwen_TUNNEL-OLLAMA-PERSISTANT-FAIT.md`
- `docs/coordination/inbox_codex/2026-06-09_1710_claude-to-codex_RESULTAT-TUNNEL-M2-STABILITE.md`
- `docs/coordination/inbox_codex/2026-06-09_2025_qwen-to-codex-claude-dom_QG-TUNNEL-PERSISTANT-M2-READINESS-GO.md`
### WP-C
- `docs/coordination/inbox_codex/2026-06-09_1715_claude-to-codex_CARTO-WPC-TOKEN-PAR-POSTE-READONLY.md`
- `docs/coordination/inbox_codex/2026-06-09_2040_claude-to-codex_PLAN-WPC-TDD-EXECUTABLE.md`
- `docs/coordination/inbox_codex/2026-06-09_2058_claude-to-codex_RESULTAT-WPC-PATCH1-MIGRATION-TDD.md`
- `docs/coordination/inbox_codex/2026-06-09_2104_claude-to-codex_INFO-WPC-PATCH1-COMMITE.md`
- `docs/coordination/inbox_codex/2026-06-09_2110_qwen-to-codex-claude-dom_QG-WPC-PATCH1-GO.md`
- `docs/coordination/inbox_claude/2026-06-09_2106_codex-to-claude_GO-WPC-PATCH2-local-TDD-only.md`
- `docs/coordination/inbox_qwen/2026-06-09_2106_codex-to-qwen_ATTENTE-QG-WPC-patch2.md`
### Branches / Docker
- `docs/coordination/inbox_codex/2026-06-09_1405_claude-to-codex_AUDIT-M3-branches-gitea-readonly.md`
- `docs/coordination/inbox_codex/2026-06-09_1410_claude-to-codex_AUDIT-DOCKER-VS-CLONE-SYSTEMD.md`
- `docs/coordination/inbox_codex/2026-06-09_1412_claude-to-codex-qwen_DECISIONS-DOM-poc-prod-m4-clone-p0-go.md`
## Decisions actees
### Dashboard DGX
- Securite dashboard : GO.
- Produit dashboard : GO post-P0.
- P0-1 vrai fix : symlink workflows, pas `DATABASE_URL`.
- `DATABASE_URL` : Qwen recommande de le garder ; il aide SQLAlchemy a lire la bonne DB, meme s'il ne corrige pas `/api/workflows/`.
- DETTE-015 : double store workflows documente, migration post-POC uniquement.
### M2 Lea live
- Cible M2 : serveur dev Linux `192.168.1.40:5005`, pas DGX directement.
- Ollama : tunnel local `127.0.0.1:11434` vers DGX, service `ollama-tunnel.service` user, GO Qwen.
- M2 live : techniquement pret, mais execution uniquement avec Dom devant Windows + GO Codex au moment T.
### Branches / Docker
- Stable = `poc-prod`.
- `poc-dgx` conserve comme snapshot/deploy DGX.
- Court terme POC = clone + venv + systemd.
- Docker = post-POC, hybride/progressif.
### WP-C
- WP-C reste bloquant multi-TIM.
- Patch 1 : commit local `f7f692641`, GO Qwen, non pousse, non deploye.
- Patch 2 : GO Codex donne a Claude a 21:06, local/TDD seulement.
## Etat technique detaille
### DGX
- DGX reste local-only.
- Services DGX operationnels selon les tests du jour.
- VWB 5002 `/api/workflows/` = 39 apres symlink.
- Paquet agent `deploy/Lea_v1.0.0.zip` existe et sert HTTP 200, mais contient encore le token global.
- Pas de distribution multi-TIM.
### M2
- Agent Windows gele pointe `http://192.168.1.40:5005/api/v1`.
- Serveur dev Linux expose 5005 LAN, workflows visibles.
- Tunnel Ollama persistant local sur le dev.
- Checklist M2 prete.
- Live Shadow non execute.
### WP-C
- Patch 1 modifie :
- `agent_v0/server_v1/agent_registry.py`
- `tests/unit/test_wpc_migration.py`
- Tests annonces par Claude :
- `tests/unit/test_wpc_migration.py` : 3 passed
- `test_fleet_enroll_lock_wpb.py` + migration : 9 passed
- Commit local : `f7f692641 feat(wp-c): migration colonnes token par poste (patch 1, inerte)`
- Prochaine etape autorisee au moment du handoff : Patch 2 local/TDD seulement.
## Stop conditions maintenues
- Pas de live Shadow sans Dom devant Windows.
- Pas de replay autonome.
- Pas de multi-TIM avant WP-C.
- Pas de Patch 3+ sans QG.
- Pas de deploiement DGX WP-C sans decision.
- Pas de push Gitea sans decision.
- Pas de suppression code mort.
- Pas de secret en clair.
## Reprise demain
1. Lire ce handoff.
2. Lire les nouveaux messages `inbox_codex` apres 2026-06-09 21:18 CEST.
3. Si Claude a livre `RESULTAT-WPC-PATCH2-ENROLL-TOKEN-TDD`, demander/attendre QG Qwen.
4. Si Dom veut M2 live :
- verifier tunnel Ollama ;
- verifier dashboard/workflows ;
- verifier agent Windows running ;
- confirmer Dom devant Windows ;
- donner GO Codex uniquement au moment T.
5. Ne pas lancer multi-TIM.
6. Ne pas pousser `f7f692641` ni autres commits sans decision.
7. Reprendre branches `poc-prod` seulement apres arbitrage blobs/protection.
## Etat git a retenir
- Branche locale : `poc-dgx`.
- HEAD local : `f7f692641`, en avance sur `gitea/poc-dgx` (`09f65cecb`) d'au moins le Patch 1 WP-C.
- Commit `f7f692641` non pousse et non deploye DGX.
- Worktree charge en fichiers de coordination, graphify, docs et artefacts non suivis : ne pas nettoyer destructivement.
— Codex

View File

@@ -0,0 +1,66 @@
# Handoff Codex — contexte bas / relais avant reset 14:12
- `Date`: 2026-06-10 09:18 CEST
- `Auteur`: Codex
- `Statut`: source de reprise operationnelle
- `Declencheur`: Dom signale contexte Codex tres bas et reset prevu vers 14:12
## Etat courant confirme
- Branche locale : `poc-dgx`.
- HEAD local : `f7f692641 feat(wp-c): migration colonnes token par poste (patch 1, inerte)`.
- Worktree charge en docs/coordination, graphify, artefacts non suivis : ne pas nettoyer.
- Dashboard DGX securite + produit : GO.
- P0 workflows + ZIP : resolus.
- M2 Lea live : techniquement pret, cible `192.168.1.40:5005`, tunnel Ollama persistant GO, execution uniquement avec Dom devant Windows + GO Codex au moment T.
- WP-C Patch 1 : GO Qwen, commit local, non pousse, non deploye.
- WP-C Patch 2 : autorise local/TDD depuis 2026-06-09 21:06, non livre au moment de ce handoff.
- Multi-TIM : NOGO avant WP-C complet.
## Objectif de continuite
Permettre a Claude et Qwen d'avancer sans dependance forte au contexte Codex :
- Claude avance sur l'execution locale/TDD strictement bornee.
- Qwen garde le fil, rend les QG, signale les contradictions a Dom.
- Dom reste l'arbitre pour live Windows, push, deploiement, branches et toute extension de scope.
## Planning propose jusqu'au reset 14:12
| Fenetre | Owner | Action | Sortie attendue |
|---|---|---|---|
| Maintenant -> 10:30 | Claude | Relancer/executer WP-C Patch 2 local/TDD seulement | `RESULTAT-WPC-PATCH2-ENROLL-TOKEN-TDD` vers `inbox_codex/` |
| Des reception RESULTAT | Qwen | QG Patch 2 | `QG-WPC-PATCH2-GO` ou `NOGO` vers `inbox_codex/` |
| En parallele | Qwen | Tenir l'etat actif et verifier contradictions | Maj active/registre si necessaire |
| En parallele | Claude | Preparer read-only M2/checklist/rollback, sans live | Note courte si utile, aucune execution Windows |
| Si Codex indisponible | Qwen + Dom | Maintenir gates et arbitrer la suite | Pas de Patch 3/push/deploiement sans decision explicite |
## Autorisations pendant indisponibilite Codex
Autorise sans nouveau Codex :
- Claude : Patch 2 WP-C local/TDD uniquement, selon message `docs/coordination/inbox_claude/2026-06-09_2106_codex-to-claude_GO-WPC-PATCH2-local-TDD-only.md`.
- Claude : audits read-only, plans de rollback, plans de test, preparation M2 sans execution.
- Qwen : QG, audit, contradiction check, synthese, registre, mise a jour de pointeurs actifs.
Non autorise sans decision explicite Dom/Codex :
- Patch 3+ WP-C.
- Branchement auth runtime.
- Build/package ZIP modifie.
- Push Gitea ou creation/protection branches.
- Deploiement DGX.
- Live M2 / replay / Shadow sans Dom devant Windows.
- Multi-TIM.
- Suppression de code mort ou nettoyage destructif.
## Reprise Codex apres reset
1. Lire ce handoff.
2. Lire `docs/coordination/active/2026-06-10_0918_continuite-codex-context-reset.md`.
3. Lire les nouveaux `inbox_codex/` apres 2026-06-10 09:18 CEST.
4. Si Claude a livre Patch 2 : attendre/lire QG Qwen avant toute suite.
5. Si Qwen a rendu GO Patch 2 : demander decision Dom avant Patch 3, push ou deploiement.
6. Si Dom veut M2 live : verifier chaine complete et confirmer Dom devant Windows avant GO.
— Codex

View File

@@ -0,0 +1,113 @@
# Handoff Codex — fin journee 2026-06-10 / reprise 2026-06-11
- `Auteur`: Codex
- `Date cloture`: 2026-06-10 23:37 CEST
- `Reprise`: 2026-06-11
- `Mode demande par Dom`: bi-turbo, focus POC DGX
- `Statut`: pret reprise
## Cap demain
Priorite unique : **POC DGX a fond**, sans dispersion.
Deux pistes en parallele :
1. **Operationnel M2/DGX**
- smoke DGX apres nuit / eventuel reboot ;
- verification acces dashboard/Fleet depuis Windows ;
- M2 live supervise avec Dom devant Windows ;
- collecte preuves record -> replay -> apprentissage si disponible.
2. **Cadre QG / qualite**
- Claude finalise runbook M2 + Git safety readonly + smoke DGX ;
- Qwen relit runbook Claude et rend GO/NOGO ;
- Codex orchestre, verifie, tranche avec Dom.
## Etat valide au depart
### DGX
- 6 services systemd DGX : `enabled` + `active`.
- DGX = cible POC.
- DEV = machine de code/test, Ollama via tunnel vers DGX.
- `ollama-tunnel.service` actif/persistant cote DEV.
- VLM cible actee par Qwen : `Qwen3-VL-4B-Instruct` pour POC, avec tunnel Ollama.
- Dashboard expose temporairement en HTTP direct pour test : decision acceptee, reversible, pas cible clinique.
- Point a verifier demain : activation effective cote DGX depuis Windows (`restart dashboard` / `ufw allow 5001/tcp` si necessaire avec Dom).
### WP-C / securite agents
- WP-C token par poste arrete pour POC.
- `DETTE-016` creee en P2/ACCEPTED.
- Patch 4 runtime annule.
- Patch 1-3 locaux/inertes/non deployes.
- Multi-TIM POC controle : GO Dom via Fleet/dashboard existant.
- Multi-TIM elargi/post-POC : NOGO sans WP-C ou equivalent.
### Git
- Branche courante locale : `poc-dgx`.
- `poc-dgx` local est 3 commits devant `gitea/poc-dgx`.
- Les 3 commits devant sont WP-C inertes :
- `f7f692641` Patch 1 migration colonnes token ;
- `9fb2c7bfe` Patch 2 generation token enroll ;
- `b20d17882` Patch 3 verify_token registre.
- Branche archive locale creee : `archive/wpc-local-inerte-2026-06-10` -> `b20d17882`.
- **Interdit demain matin** : push `poc-dgx` tel quel.
## Messages / docs a relire en premier demain
1. `docs/coordination/active/2026-06-11_0000_pointeur-handoff-reprise-2026-06-11.md`
2. `docs/coordination/inbox_codex/2026-06-10_2345_qwen-to-codex-claude-dom_ACK-CADRE-TRAVAIL-POC-DGX.md`
3. `docs/coordination/inbox_codex/2026-06-10_2315_qwen-to-codex-claude-dom_QG-GATES-POST-WPC-ABANDON.md`
4. `docs/coordination/inbox_codex/2026-06-10_2316_qwen-to-codex-claude-dom_QG-M2-LIVE-READINESS.md`
5. `docs/AUDIT_GAPS_APPLI_100PCT_2026-06-10.md`
6. `docs/coordination/inbox_claude/2026-06-10_2330_qwen-to-claude_AVIS-GAPS-APPLI-100PCT.md`
7. `docs/coordination/active/2026-06-10_1540_repartition-post-wpc-dgx-m2.md`
## Actions immediates demain
1. Lire les nouveaux messages Claude/Qwen.
2. Verifier si Claude a depose :
- `RESULTAT-GIT-SAFETY-WPC-ARCHIVE-READONLY`
- `RUNBOOK-M2-LIVE-POC`
- `SMOKE-DGX-DEMAIN-MATIN`
3. Faire smoke DGX readonly :
- `systemctl is-enabled/is-active` des 6 services ;
- health `5005/5002` ;
- dashboard `5001` ;
- Ollama tags ;
- VWB workflows ;
- Fleet API sans afficher de token.
4. Verifier accessibilite Windows -> dashboard DGX.
5. Si Dom est devant Windows : GO/NOGO Codex pour M2 live.
## Stop conditions
- Secret en clair dans logs/docs/reponses.
- `RPA_AUTH_DISABLED=true`.
- Agent rouge / crash dashboard.
- Tentative Patch 4 runtime.
- Push/deploiement sans Dom.
- Rebase/reset/cherry-pick sans decision Dom/Codex.
## Risques techniques prioritaires connus
Depuis `AUDIT_GAPS_APPLI_100PCT_2026-06-10.md` et avis Qwen :
- `A1`: timeout HTTP client 5s pouvant perdre une action longue.
- `A2`: watchdog `_retry_pending` serveur absent.
- `P1`: DETTE-006/010 grounding Qwen3-VL/smart_resize a trancher.
- `A3`: ecran Windows verrouille non detecte.
Pour demain : ne pas coder ces points sans revalidation existing-first et decision Dom/Codex. Le premier objectif reste M2 live supervise.
## Definition de sortie demain matin
- DGX smoke OK.
- Runbook M2 valide QG.
- Dom devant Windows.
- Agent Windows visible actif dans Fleet.
- Un scenario record/replay documente avec preuves.
— Codex

View File

@@ -0,0 +1,72 @@
# Handoff - 2026-06-13 - Codex watcher + reprise POC VLM
- `Date`: 2026-06-13 08:45 CEST (DEV local)
- `Auteur`: Codex
- `Statut`: source de reprise operationnelle
## Pre-check watcher obligatoire
Au debut de la prochaine session, avant toute action :
1. `docs/coordination/coordination_loop.sh ensure`
2. Lire les messages pertinents pour l'agent courant dans `inbox_codex/`, `inbox_claude/`, `inbox_qwen/` et `active/`.
3. Apres traitement : `docs/coordination/coordination_loop.sh ack`
Si le watcher ne peut pas etre lance ou verifie, signaler le blocage avant de continuer.
Etat valide au handoff :
- service utilisateur `rpa-coordination-watcher.service` installe, active et enabled ;
- commande service : `docs/coordination/coordination_loop.sh watch 15` ;
- PID observe apres redemarrage : `1229002` ;
- file locale `.loop_state/unread_messages.tsv` nettoyee ;
- dernier `ensure` : `loop OK`, `0 pending`.
Commandes utiles :
- `docs/coordination/coordination_loop.sh service-status`
- `docs/coordination/coordination_loop.sh pending`
- `docs/coordination/coordination_loop.sh events`
- `docs/coordination/coordination_loop.sh service-install` si le service systemd utilisateur manque
- `docs/coordination/coordination_loop.sh service-stop` pour arreter/desactiver explicitement le service
## Etat courant
- Le watcher/loop a ete revu et consolide : queue unread persistante, digest lisible, trigger par message, dernier trigger, journal events, lock `flock` sur scan/baseline/ack, service systemd utilisateur persistant.
- La baseline coordination a ete reinitialisee apres nettoyage des faux positifs anciens.
- Le tri des baselines a ete durci en `LC_ALL=C sort -u` avant `comm`, pour eviter les faux nouveaux messages.
- `docs/coordination/README.md`, `docs/handoffs/README.md`, `docs/handoffs/TEMPLATE_HANDOFF.md` et `AGENTS.md` imposent maintenant `ensure` en debut de session.
## POC VLM
- Commit local courant : `5c5ce747b feat(grounding): cablage Qwen3-VL-4B/vLLM (RPA_GROUNDING_ENGINE, defaut off)`.
- Commit non pousse.
- Cablage par env `RPA_GROUNDING_ENGINE=qwen3vl_vllm`.
- Defaut OFF : aucun impact runtime si l'env n'est pas posee.
- Cross-review terminee : Codex + Qwen OK gates/securite, Claude a committe localement.
## Prochaines actions
1. Reprise session : lancer `docs/coordination/coordination_loop.sh ensure`.
2. Lire toute nouvelle coordination, puis `ack`.
3. Validation E2E DGX en one-shot du mode `RPA_GROUNDING_ENGINE=qwen3vl_vllm` contre `rpa-vllm-grounder` local-only `127.0.0.1:8001`.
4. Ne pas rendre l'activation permanente dans les services POC tant que Dom n'a pas donne GO.
5. Documenter les resultats E2E dans `docs/coordination/active/` et prevenir Claude/Qwen.
## Garde-fous
- DGX POC prioritaire ; DEV sert a valider avant passage DGX.
- Pas de push, pas de deploy, pas de changement auth/reseau, pas d'activation runtime permanente sans GO Dom.
- Pas de secret dans les handoffs/messages.
- Decisions importantes a faire remonter a Dom via Claude, canal remote.
- Donnees cliniques interdites.
## References
- `docs/coordination/coordination_loop.sh`
- `docs/coordination/systemd/rpa-coordination-watcher.service`
- `docs/coordination/README.md`
- `docs/handoffs/README.md`
- `.remember/remember.md`
- `docs/coordination/inbox_codex/2026-06-13_1006_claude-to-codex-qwen_COMMIT-CABLAGE-ET-HANDOFF-SESSION2.md`
- `docs/coordination/inbox_codex/2026-06-13_1000_qwen-to-codex-claude_ACK-CABLAGE-GATES-SECURITE.md`

View File

@@ -0,0 +1,111 @@
# Handoff Codex avant reboot serveur — Lea chat / multi-utilisateur / DETTE-019
Date: 2026-06-15 09:51 Europe/Paris
Auteur: Codex
Contexte: Dom va redemarrer la machine. Reprise attendue apres reboot.
## Consigne obligatoire a la reprise
Avant toute coordination:
```bash
docs/coordination/coordination_loop.sh ensure
```
Puis lire tous les messages pertinents pour Codex et terminer par:
```bash
docs/coordination/coordination_loop.sh ack
```
Le watcher doit etre operationnel pour Codex, Claude et Qwen avant de continuer.
## Etat coordination
- Watcher OK avant handoff.
- Dernier message lu: `docs/coordination/inbox_codex/2026-06-15_0947_claude-to-qwen-codex_DETTE019-DEPLOYEE-PREUVE-RUNTIME.md`.
- Ack coordination a faire juste apres creation de ce handoff.
## Etat Lea chat diagnostique par Codex
Constats non destructifs:
- `agent_chat` local 5004 repond:
- `/api/status` => `online`
- 130 workflows detectes
- `POST /api/chat` => 200 pour `statut`
- `POST /api/chat` => 200 pour `qu'est-ce que tu sais faire ?`
- `streaming` local 5005 repond `/health` => `healthy`.
- `POST /api/learn/start` fonctionne. Une session diagnostic a ete creee puis annulee proprement.
- `tests/unit/test_chat_interface.py -q` => 34 passed.
- `virsh list --all` montrait `win11` en `shut off`.
- SocketIO:
- sans Origin: OK
- `Origin: http://localhost:5004`: OK
- `Origin: http://192.168.1.40:5004`: OK
- `Origin: http://127.0.0.1:5004`: FAIL HTTP 400
Hypothese principale:
- Le backend texte fonctionne, mais les echanges d'actions visibles dans la ChatWindow sont probablement coupes car le process `agent_chat` actuel n'a pas `LEA_FEEDBACK_BUS` dans son environnement.
- Dans `agent_chat/app.py`, `_emit_lea()` est no-op si `LEA_FEEDBACK_BUS` est false/absent.
- La ChatWindow native attend ces events `lea:*` pour afficher les bulles d'action: `action_started`, `action_progress`, `done`, `paused`, `resumed`.
## Travail donne a Claude et Qwen
Claude:
- Fichier: `docs/coordination/inbox_claude/2026-06-15_0942_codex-to-claude-qwen_PRIORITES-LEA-CHAT-ACTIONS-MULTIUSER.md`
- Mission: diagnostic runtime VM/Lea, config `RPA_SERVER_URL`, `RPA_AGENT_CHAT_URL`, `RPA_MACHINE_ID`, `LEA_FEEDBACK_BUS`, tests ChatWindow et bus action apres reboot VM.
Qwen:
- Fichier: `docs/coordination/inbox_qwen/2026-06-15_0942_codex-to-qwen-claude_QG-LEA-CHAT-ACTIONS-MULTIUSER.md`
- Mission: gates GO/NOGO chat/action/multi-utilisateur.
Trace active:
- `docs/coordination/active/2026-06-15_0942_priorites-lea-chat-interface-multiuser.md`
## Priorites proposees a la reprise
P0 - Depuis la VM Windows apres redemarrage:
- Verifier que `RPA_SERVER_URL` pointe vers `http://<serveur>:5005/api/v1`.
- Verifier que `RPA_AGENT_CHAT_URL` pointe vers `http://<serveur>:5004`.
- Verifier que `RPA_MACHINE_ID` est unique.
- Tester `/health` 5005, `/api/status` 5004, puis `POST /api/chat`.
- Lancer Lea et verifier le log `LeaServerClient initialise : chat=... stream_url=...`.
P1 - Echanges d'actions:
- Decider si `LEA_FEEDBACK_BUS=1` est requis pour la session.
- Si oui, activer/verifier cote `agent_chat` et cote Windows.
- Preuve minimale: voir `lea:action_started`, `lea:action_progress`, `lea:done` dans la ChatWindow pour un replay safe.
P2 - Multi-utilisateur:
- Deux agents avec `RPA_MACHINE_ID` distincts.
- Deux sessions chat distinctes.
- Un ordre/replay cible la bonne machine.
- Pas de transcript/action visible sur l'autre machine.
## DETTE-019
Dernier message Claude lu:
- `DETTE-019` est deployee runtime POC DGX.
- Push `33c1e2e0d` fait.
- DGX HEAD `33c1e2e`.
- `workflows.db` preservee, backup `.bak-predeploy-dette019-20260615`.
- `rpa-streaming` DGX redemarre, service actif, health 200.
- Preuve runtime: 5 cibles texte score 0.90, cas douteux `0013` rejete par `rejected_low_score_grounding`.
- `DETTE-018` reste ouverte.
## Ce que Codex n'a pas fait
- Pas de modification code applicatif.
- Pas de restart service.
- Pas de modification VM.
- Pas de token expose dans ce handoff.

23
docs/handoffs/README.md Normal file
View File

@@ -0,0 +1,23 @@
# Handoffs - regle de reprise par defaut
Tout handoff ou prompt de reprise doit commencer par le pre-check coordination.
## Pre-check watcher obligatoire
Avant de reprendre le travail :
1. Verifier/lancer/scanner le watcher :
`docs/coordination/coordination_loop.sh ensure`
2. Lire les messages pertinents pour l'agent courant dans `inbox_codex/`,
`inbox_claude/`, `inbox_qwen/` et `active/`.
3. Apres traitement, vider la file locale :
`docs/coordination/coordination_loop.sh ack`
Si le watcher ne peut pas etre lance ou verifie, le handoff de reprise doit le
signaler comme blocage avant toute autre action.
Cette regle vaut pour Codex, Claude et Qwen.

View File

@@ -0,0 +1,25 @@
# Handoff - YYYY-MM-DD
- `Date`:
- `Auteur`:
- `Statut`: source de reprise operationnelle
## Pre-check watcher obligatoire
Au debut de la prochaine session, avant toute action :
1. `docs/coordination/coordination_loop.sh ensure`
2. Lire les messages pertinents pour l'agent courant.
3. Apres traitement : `docs/coordination/coordination_loop.sh ack`
Si le watcher ne peut pas etre lance ou verifie, signaler le blocage.
## Etat courant
## Decisions actives
## Prochaines actions
## Garde-fous
## References