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:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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`
|
||||
@@ -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
23
docs/handoffs/README.md
Normal 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.
|
||||
25
docs/handoffs/TEMPLATE_HANDOFF.md
Normal file
25
docs/handoffs/TEMPLATE_HANDOFF.md
Normal 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
|
||||
Reference in New Issue
Block a user