Files
rpa_vision_v3/docs/coordination
Dom 4dc7d840d6 feat(p1x): de-hardcode VLM models/endpoints to vlm_config (DGX-ready)
Migre les call-sites VLM serveur vers la configuration centrale pour
fonctionner sur DGX (tunnel Ollama 11434), où gemma4:* est absent et le
port Docker 11435 est mort.

- task_planner, replay_verifier, domain_context, ir_builder, resolve_engine
  (popup): modele -> vlm_config.get_vlm_model(), defaut 11435 -> 11434
  (override GEMMA4_PORT legacy conserve)
- resolve_engine (grounding bbox x2): nouvel helper
  vlm_config.get_bbox_grounding_model() (var dediee RPA_BBOX_GROUNDING_MODEL,
  fallback RPA_GROUNDING_MODEL puis qwen2.5vl:7b-rpa) -> desambiguise le
  conflit D5-v3b, bbox_2d + num_ctx 4096 preserves
- safety_checks_provider: defaut -> get_vlm_model(), override
  RPA_SAFETY_CHECKS_LLM_MODEL preserve
- ui_detector: default_factory + resolution lazy (corrige aussi un gel a
  l'import), pas d'appel reseau a l'import
- field_extractor: property lazy via vlm_config

TDD strict (RED->GREEN), 305 tests verts, tests mockes HTTP (zero dependance
DGX reel), aucun alias Ollama.

Hors perimetre (arbitrage Dom): client Lea agent_v1/executor.py (gele),
chemin V4 observe_reason_act (RPA_REASONING_MODEL), core/config.py defaults.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 14:06:03 +02:00
..

Coordination multi-agents

But: échanger par fichiers courts, ciblés et auditables entre Codex, Claude, Gemini et Dom, tout en capitalisant les décisions, erreurs, corrections et résultats de tests.

Arborescence

  • inbox_codex/ Messages que Codex doit lire et arbitrer.
  • inbox_claude/ Messages que Claude doit lire.
  • inbox_gemini/ Messages que Gemini doit lire quand le canal est utilisé.
  • outbox_gemini/ Messages déposés pour Gemini quand son inbox directe n'est pas le canal actif.
  • active/ Etat courant, files ouvertes, risques et prochaine action.
  • syntheses/ Synthèses datées, lisibles par un humain qui reprend le projet.
  • registre/ Registre des décisions, validations, échecs utiles et reports.
  • index/ Index manuel ou généré des messages importants.
  • archive/YYYY-MM-DD/ Messages traités et sortis du flux actif. Ne pas archiver une conversation en cours sans confirmation Codex.
  • templates/ et TEMPLATE_MESSAGE.md Modèles de message.

Convention

  1. Une question = un fichier.
  2. L'émetteur écrit dans l'inbox du destinataire.
  3. Le destinataire répond dans l'inbox de l'émetteur.
  4. Le nom de fichier suit: YYYY-MM-DD_HHMM_sender-to-recipient_slug.md
  5. Chaque message contient au minimum: Contexte, Constat, Question précise, Contraintes, Attendu, Statut.
  6. Statut usuels: open, ACK, NACK, patched, validated, blocked, archived.
  7. Une réponse doit citer le fichier source dans Répond à.
  8. Quand la boucle est terminée, déplacer les fichiers dans archive/YYYY-MM-DD/. Tant qu'un agent peut encore répondre, laisser le fil dans les inbox.

Style attendu

  • court et factuel
  • références de fichiers/fonctions explicites
  • pas de prose longue
  • pas de code dans les messages de coordination sauf extrait très court si indispensable

Workflow actif

  1. Codex pose une mission dans l'inbox du collègue.
  2. Le collègue répond dans inbox_codex/ avec ACK/NACK.
  3. Codex lit, vérifie, teste, arbitre.
  4. Codex répond dans l'inbox du collègue.
  5. Une synthèse ou une décision durable est recopiée dans syntheses/ ou registre/ avant archivage.

Même règle en sens inverse si Claude initie la demande.

Règle de capitalisation

Un message de coordination est un flux. Une synthèse ou un registre est une mémoire.

Chaque avancée importante doit être convertie en au moins un des artefacts :

  • décision durable dans registre/ ;
  • synthèse de reprise dans syntheses/ ;
  • état courant dans active/ ;
  • entrée d'index dans index/.

Ne pas supprimer les messages bruts : ils servent d'audit trail.