Files
rpa_vision_v3/docs/PLAN_DEPLOY_NAVIGATION_WIRING_2026-07-01.md
Dom 6907ecc82f 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
2026-07-02 13:29:58 +02:00

5.3 KiB

name, description, type
name description type
plan-deploiement-navigation-2026-07-01 Plan déploiement + vérification pour wiring navigate — diff, smoke, rollback. Commit = GO Dom supervisé. v2 corrigée après revue croisée Claude. project

Plan de déploiement — Wiring navigate (brique navigation serveur)

  • Date : 2026-07-01 23:50 → v2 2026-07-02 11:00 (corrections après revue croisée Claude)
  • Branche : feat/push-log-dgx
  • Commit = GO Dom supervisé (serveur DGX clinique live)

Fichiers modifiés (3 hotspots + 4 modules navigation + 6 fichiers tests)

Fichier Changement Lignes
agent_v0/server_v1/api_stream.py +1 import from core.navigation import _handle_navigate_action + +1 dispatch elif type_ == "navigate" (asyncio.wait_for, timeout=180s) +10
agent_v0/server_v1/replay_engine.py +1 "navigate" dans _ALLOWED_ACTION_TYPES + +1 "navigate" dans _SERVER_SIDE_ACTION_TYPES +2
core/navigation/__init__.py Nouveau : handler _handle_navigate_action + exports __all__ +115
core/navigation/visual_verifier.py Nouveau : OCR-ancré verify_before/after, fuzzy match +408
core/navigation/grounding.py Nouveau : OCR-anchor-first + VLM fallback + coords cache +375
core/navigation/visual_login.py Nouveau : DPI urgences login, verify + resolve +227
core/navigation/action_resolver.py Nouveau : coords normalisés, OCR adapters +205

Tests ajoutés (6 fichiers, 131 tests) :

Fichier Tests Rôle
tests/unit/test_visual_verifier.py 48 OCR-ancré, fuzzy match, verify_before/after
tests/unit/test_grounding.py 39 OCR-anchor, VLM fallback, coords cache
tests/unit/test_visual_login.py 17 DPI urgences login, verify + resolve
tests/unit/test_action_resolver.py 14 coords normalisés, OCR adapters
tests/unit/test_navigate_wiring.py 7 Boot non-régression (import, allowed types, handler callable)
tests/unit/test_navigate_handler_e2e.py 6 E2e mocké (nominal, OCR miss, no screenshot, never-fail)

Smoke commands post-commit (à exécuter sur DGX après deploy)

# 1. Boot serveur streaming — pas d'ImportError
RPA_AUTH_DISABLED=true python -c "from agent_v0.server_v1 import api_stream; print('api_stream OK')"

# 2. Types autorisés — navigate présent
RPA_AUTH_DISABLED=true python -c "from agent_v0.server_v1.replay_engine import _ALLOWED_ACTION_TYPES, _SERVER_SIDE_ACTION_TYPES; print('navigate in ALLOWED:', 'navigate' in _ALLOWED_ACTION_TYPES); print('navigate in SERVER_SIDE:', 'navigate' in _SERVER_SIDE_ACTION_TYPES)"

# 3. Handler callable
RPA_AUTH_DISABLED=true python -c "from core.navigation import _handle_navigate_action; print('handler callable:', callable(_handle_navigate_action))"

# 4. Tests non-regression (navigation + wiring)
RPA_AUTH_DISABLED=true python -m pytest tests/unit/ -k "navigat or visual_verifier or grounding or visual_login or action_resolver or wiring or e2e" -v --tb=short

# 5. Service rpa-streaming actif + health endpoint
systemctl is-active rpa-streaming.service
curl -s http://localhost:5005/health | python3 -m json.tool

Critères de rollback (si smoke échoue)

Critère Action
ImportError sur api_stream Rollback git — git revert --no-edit <SHA_PRE_DEPLOY>..HEAD
"navigate" absent des _ALLOWED/_SERVER_SIDE Rollback — git revert --no-edit <SHA_PRE_DEPLOY>..HEAD
Handler non callable Rollback — git revert --no-edit <SHA_PRE_DEPLOY>..HEAD
Tests wiring/e2e FAIL Ne pas deploy — investiguer avant
Serveur 5005 ne boote pas systemctl restart rpa-streaming + vérifier logs

Données à préserver sur DGX (ne pas écraser)

  • visual_workflow_builder/backend/instance/workflows.dbTRACKÉ par git (modifié dans working tree). git reset --hard l'écraserait → INTERDIT. Backup obligatoire avant deploy.
  • .env.local — creds clinique (DASHBOARD_PASSWORD, RPA_VLM_MODEL)

Procédure de rollback rapide

# Étape 0 : NOTER SHA_PRE_DEPLOY avant le merge
cd /home/aivanov/ai/rpa_vision_v3
SHA_PRE_DEPLOY=$(git rev-parse HEAD)  # ← noter ce SHA avant git pull/merge

# Backup workflows.db (tracké par git — ne jamais reset --hard)
cp visual_workflow_builder/backend/instance/workflows.db /tmp/workflows.db.backup

# Rollback : revert vers SHA pré-deploy
git revert --no-edit <SHA_PRE_DEPLOY>..HEAD  # annule tout ce qui est arrivé APRÈS le SHA noté (pas HEAD~1 — core/navigation/__init__.py est nouveau, checkout échouerait)
systemctl restart rpa-streaming rpa-vision-v3-api

# Restaurer workflows.db runtime si besoin
cp /tmp/workflows.db.backup visual_workflow_builder/backend/instance/workflows.db

⚠️ INTERDICTION : git reset --hard est INTERDIT sur DGX — workflows.db est tracké par git et modifié dans le working tree. Un reset hard écraserait les données runtime.

Statut

  • Build+TDD : FAIT (131 tests verts, 0 régression)
  • Plan déploiement : FAIT v2 (4 corrections revue croisée Claude appliquées : service name, health URL, DGX path, rollback command + workflows.db tracking)
  • Commit : EN ATTENTE GO Dom (demain matin)
  • Deploy DGX : EN ATTENTE GO Dom (supervisé, serveur clinique live)

— Qwen