docs(coordination): report wait for state runtime
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# RESULTAT Codex - Patch B wait_for_state runtime
|
||||
|
||||
Date: 2026-05-29 17:25
|
||||
Auteur: Codex
|
||||
Contexte: Dom a valide `wait_for_state` comme primitive Lea distincte de `wait_for_anchor`.
|
||||
|
||||
## Important: correction palette VWB
|
||||
|
||||
Dom a signale un risque de perte d'outils dans la palette VWB.
|
||||
Cause: la ToolPalette chargeait le catalogue backend comme remplacement de la liste statique.
|
||||
|
||||
Correction appliquee:
|
||||
- `7b1f30af1 fix(vwb): preserve static palette tools`
|
||||
- le catalogue backend enrichit/standardise les actions connues;
|
||||
- les outils statiques existants restent visibles;
|
||||
- seules les actions `lea_competence_*` restent masquees par defaut.
|
||||
|
||||
Regle produit confirmee:
|
||||
- aucune suppression implicite d'outils VWB;
|
||||
- migration progressive vers le standard catalogue, outil par outil.
|
||||
|
||||
## Patch B applique
|
||||
|
||||
Commit:
|
||||
- `e66bc6d45 feat(vwb): execute wait for state`
|
||||
|
||||
Changements:
|
||||
- ajout service `visual_workflow_builder/backend/services/wait_for_state.py`;
|
||||
- ajout action `VWBWaitForStateAction`;
|
||||
- branchement dans catalogue VWB et API v3;
|
||||
- contrat strict `wait_for_state` avec `expected_state`;
|
||||
- execution supportee sur preuve `window_or_process` uniquement;
|
||||
- retrait des options UI non supportees `uia`, `ocr`, `screenshot_diff` du panneau/protocole catalogue;
|
||||
- tests unitaires succes/timeout.
|
||||
|
||||
Contrat runtime actuel:
|
||||
- `expected_state.window_title_in`: titre exact accepte;
|
||||
- `expected_state.window_title_contains`: titre contenant un fragment;
|
||||
- `expected_state.process_active`: process/app actif, avec normalisation `.exe`;
|
||||
- succes si tous les criteres fournis matchent;
|
||||
- timeout si l'etat attendu n'est pas observe.
|
||||
|
||||
## Validations
|
||||
|
||||
Passe:
|
||||
- `python3 -m pytest tests/unit/test_vwb_wait_for_state.py tests/unit/test_competence_catalog_loader.py -q`
|
||||
- `npm run build` dans `visual_workflow_builder/frontend_v4`
|
||||
- `python3 -m py_compile` sur les modules backend touches.
|
||||
|
||||
Smoke live apres redemarrage VWB:
|
||||
- frontend `http://localhost:3002` -> HTTP 200;
|
||||
- backend `http://localhost:5002/api/vwb/catalog/actions` -> HTTP 200;
|
||||
- `wait_for_state` present dans le catalogue;
|
||||
- options `evidence_required`: `["window_or_process"]`;
|
||||
- POST `/api/vwb/catalog/execute` avec un etat impossible retourne `status=failed`, `matched=False`.
|
||||
|
||||
Serveurs VWB actifs:
|
||||
- backend PID `2720831`;
|
||||
- frontend PID `2720844`.
|
||||
|
||||
## Hors scope restant
|
||||
|
||||
Non fait:
|
||||
- adaptateur YAML -> workflow VWB;
|
||||
- verdict humain;
|
||||
- write-back YAML;
|
||||
- separation dashboard reflexes natifs / competences apprises;
|
||||
- support UIA/OCR/screenshot_diff pour `wait_for_state`.
|
||||
|
||||
Suite proposee:
|
||||
Patch C = mapping YAML -> VWB sur `key_win_r_wait_explorer_exe`, puis replay supervise avec verdict humain.
|
||||
Reference in New Issue
Block a user