Doc condensée des 3 quick wins livrés (QW1 multi-écrans, QW2 LoopDetector, QW4 safety_checks hybrides) avec : - procédures kill-switch et rollback - table des env vars - smoke tests manuels à effectuer avant démo GHT - statut composant par composant Pointe vers spec et plan d'exécution complets. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.4 KiB
4.4 KiB
QW Suite Mai 2026 — Synthèse de livraison
Sprint d'amélioration RPA Vision V3, branche feature/qw-suite-mai,
inspiré par exploration comparative de 5 frameworks computer-use
(Simular Agent-S, browser-use, OpenAI CUA, Coasty, Showlab OOTB).
Trois quick wins livrés
- QW1 — Multi-écrans : capture/grounding par
monitor_indexavec fallbacks focus actif puis composite. Backward 100% sur workflows existants. Ajoutescreeninfo>=0.8aux dépendances Agent V1. - QW2 — LoopDetector composite : détection passive de stagnation via
3 signaux (CLIP screen_static + action_repeat + retry_threshold).
Bascule en
paused_need_helpautomatique. - QW4 — Safety checks hybrides :
pause_for_humanenrichi de checks déclaratifs (workflow) + LLM contextuels (medgemma:4blocal, timeout 5s, fallback safe). UX VWB avec ChecklistPanel acquittable + audit trail.
Kill-switches en cas de problème
sudo systemctl edit rpa-streaming
# Ajouter sous [Service] :
Environment=RPA_LOOP_DETECTOR_ENABLED=0
Environment=RPA_SAFETY_CHECKS_LLM_ENABLED=0
sudo systemctl restart rpa-streaming
Rollback complet : git checkout backup/pre-qw-suite-mai-2026-05-05.
Variables d'environnement utiles
| Variable | Défaut | Effet |
|---|---|---|
RPA_LOOP_DETECTOR_ENABLED |
1 |
Kill-switch QW2 (composite) |
RPA_LOOP_SCREEN_STATIC_THRESHOLD |
0.99 |
Seuil similarité CLIP |
RPA_LOOP_SCREEN_STATIC_N |
4 |
Nb captures consécutives |
RPA_LOOP_ACTION_REPEAT_N |
3 |
Nb actions identiques |
RPA_LOOP_RETRY_THRESHOLD |
3 |
Nb retries cumulés |
RPA_SAFETY_CHECKS_LLM_ENABLED |
1 |
Kill-switch QW4 LLM contextuel |
RPA_SAFETY_CHECKS_LLM_MODEL |
medgemma:4b |
Modèle Ollama |
RPA_SAFETY_CHECKS_LLM_TIMEOUT_S |
5 |
Timeout dur (secondes) |
RPA_SAFETY_CHECKS_LLM_MAX_CHECKS |
3 |
Max checks LLM ajoutés |
Smoke tests manuels à effectuer avant la démo GHT
Ces tests demandent une interaction VWB et un Agent V1 actif — non automatisables.
- QW1 multi-écrans : rejouer un workflow Easily Assure validé. Vérifier
logs
[BUS] lea:monitor_routeddansjournalctl -u rpa-streaming. Le clic doit atterrir au bon endroit même sur un poste à 2 écrans. - QW2 LoopDetector : optionnel, difficile à reproduire fiable. Si tu
constates un bouclage en démo, vérifier que
paused_need_helpse déclenche automatiquement avecpause_reason="loop_detected". - QW4 safety_checks :
- Workflow ancien sans
safety_checks→ bulle simple legacy s'affiche - Workflow avec
safety_checksdéclaratifs → ChecklistPanel s'affiche, bouton Continuer désactivé tant que required non cochés - Workflow
safety_level: medical_critical→ checks LLM ajoutés en plus (badge[Léa]), apparaissent dans les 5s - POST
/api/v3/replay/resumesans required acquitté → 400 toast UI
- Workflow ancien sans
Tests automatisés (référence)
.venv/bin/pytest tests/unit/test_monitor_router.py \
tests/integration/test_grounding_offset.py \
tests/unit/test_loop_detector.py \
tests/integration/test_loop_detector_replay.py \
tests/unit/test_safety_checks_provider.py \
tests/integration/test_replay_resume_acknowledgments.py \
-v
Référence : 24 tests QW + 89 baseline = 113 passed.
Référence design
docs/superpowers/specs/2026-05-05-qw-suite-mai-design.md
Référence plan d'exécution
docs/superpowers/plans/2026-05-05-qw-suite-mai.md
Backup
Branche backup poussée Gitea avant le sprint :
backup/pre-qw-suite-mai-2026-05-05 + tag backup-pre-qw-suite-mai-2026-05-05.
Statut au 2026-05-05
| Composant | État | Smoke démo nécessaire |
|---|---|---|
| QW1 monitor_router + offsets | Livré, tests verts | Oui (multi-écran physique) |
| QW1 enrichissement Agent V1 | Livré, fallback gracieux si screeninfo absent | Oui (Windows réel) |
| QW1 hook serveur + cablage executor | Livré (commit fix fc01afa59) |
Oui |
| QW2 LoopDetector module | Livré, tests verts | Non (impossible à reproduire fiable) |
| QW2 hook api_stream | Livré, tests verts | Non |
| QW4 SafetyChecksProvider | Livré, tests verts | Oui (avec workflow medical_critical) |
| QW4 endpoint /replay/resume + proxy VWB | Livré, tests verts | Oui (POST avec acknowledged_check_ids) |
| QW4 PauseDialog + PropertiesPanel | Livré, 0 nouvelle erreur TS | Oui (rendre la bulle dans VWB) |