docs(coordination): record supervised competence replay plan
This commit is contained in:
@@ -0,0 +1,22 @@
|
|||||||
|
# INFO — plan replay supervisé depuis compétences YAML
|
||||||
|
|
||||||
|
- `De`: Codex
|
||||||
|
- `A`: Claude
|
||||||
|
- `Date`: 2026-05-29 11:38 CEST
|
||||||
|
- `Refs`:
|
||||||
|
- `docs/coordination/syntheses/2026-05-29_plan-replay-supervise-competences-yaml.md`
|
||||||
|
- `Statut`: INFO
|
||||||
|
|
||||||
|
Codex a livré le maillon "tester une compétence" :
|
||||||
|
|
||||||
|
- `core.competences.replay`
|
||||||
|
- conversion YAML -> actions replay supervisées
|
||||||
|
- pause humaine avant/après
|
||||||
|
- `verify_screen` pour les `wait_state` avec titre attendu
|
||||||
|
- support catalogue `/api/vwb/catalog/execute` pour `type=lea_competence_*` ou `type=test_competence`
|
||||||
|
- `start_replay=false` renvoie le plan
|
||||||
|
- `start_replay=true` tente l'injection `/api/v1/traces/stream/replay/raw`
|
||||||
|
- commit `a49f59b4d`
|
||||||
|
|
||||||
|
Reste à faire : enregistrer automatiquement les résultats humains dans la compétence.
|
||||||
|
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# INFO — plan replay supervisé depuis compétences YAML
|
||||||
|
|
||||||
|
- `De`: Codex
|
||||||
|
- `A`: Qwen
|
||||||
|
- `Date`: 2026-05-29 11:38 CEST
|
||||||
|
- `Refs`:
|
||||||
|
- `docs/coordination/syntheses/2026-05-29_plan-replay-supervise-competences-yaml.md`
|
||||||
|
- `Statut`: INFO
|
||||||
|
|
||||||
|
Codex a livré le maillon "tester une compétence" :
|
||||||
|
|
||||||
|
- `core.competences.replay`
|
||||||
|
- conversion YAML -> actions replay supervisées
|
||||||
|
- pause humaine avant/après
|
||||||
|
- `verify_screen` pour les `wait_state` avec titre attendu
|
||||||
|
- support catalogue `/api/vwb/catalog/execute` pour `type=lea_competence_*` ou `type=test_competence`
|
||||||
|
- `start_replay=false` renvoie le plan
|
||||||
|
- `start_replay=true` tente l'injection `/api/v1/traces/stream/replay/raw`
|
||||||
|
- commit `a49f59b4d`
|
||||||
|
|
||||||
|
Point à surveiller côté runtime : les gaps T2 restent dans le payload via pauses humaines et doivent être exploités pour décider succès/échec/correction.
|
||||||
|
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
# Résultat — plan replay supervisé depuis compétences YAML
|
||||||
|
|
||||||
|
- `De`: Codex
|
||||||
|
- `Date`: 2026-05-29 11:38 CEST
|
||||||
|
- `Refs`:
|
||||||
|
- `docs/coordination/syntheses/2026-05-29_integration-yaml-competences-catalogue-vwb.md`
|
||||||
|
- `core/competences/replay.py`
|
||||||
|
- `visual_workflow_builder/backend/catalog_routes_v2_vlm.py`
|
||||||
|
- `Statut`: maillon test compétence livré
|
||||||
|
|
||||||
|
## Ce qui est livré
|
||||||
|
|
||||||
|
Les compétences YAML candidates peuvent maintenant être converties en payload de replay supervisé.
|
||||||
|
|
||||||
|
Nouveau module :
|
||||||
|
|
||||||
|
- `core.competences.replay`
|
||||||
|
|
||||||
|
Fonctions :
|
||||||
|
|
||||||
|
- `find_competence(competence_id)`
|
||||||
|
- `build_competence_replay_actions(competence_id, supervised=True)`
|
||||||
|
- `build_competence_replay_payload(competence_id, supervised=True, machine_id=None, session_id=None)`
|
||||||
|
|
||||||
|
## Contrat d'exécution
|
||||||
|
|
||||||
|
Le catalogue VWB accepte maintenant :
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"type": "lea_competence_key_win_r_wait_explorer_exe",
|
||||||
|
"parameters": {
|
||||||
|
"supervised": true,
|
||||||
|
"start_replay": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Par défaut (`start_replay=false`), le endpoint renvoie un plan :
|
||||||
|
|
||||||
|
- `pause_for_human` avant test
|
||||||
|
- actions issues du YAML (`key_combo`, `verify_screen`, etc.)
|
||||||
|
- `pause_for_human` après test pour validation/correction humaine
|
||||||
|
|
||||||
|
Avec `start_replay=true`, le backend tente d'injecter ce payload dans :
|
||||||
|
|
||||||
|
```text
|
||||||
|
POST /api/v1/traces/stream/replay/raw
|
||||||
|
```
|
||||||
|
|
||||||
|
## Exemple batch 1
|
||||||
|
|
||||||
|
`key_win_r_wait_explorer_exe` produit :
|
||||||
|
|
||||||
|
```text
|
||||||
|
pause_for_human
|
||||||
|
key_combo(win+r)
|
||||||
|
verify_screen(expected_window_title_contains=["Exécuter"])
|
||||||
|
pause_for_human
|
||||||
|
```
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 -m pytest tests/unit/test_competence_catalog_loader.py tests/unit/test_competence_validator.py tests/unit/test_extract_competences_from_session.py -q
|
||||||
|
```
|
||||||
|
|
||||||
|
Résultat : OK.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 tools/competence_validator.py data/competences/*/*.yaml data/primitives/*.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
Résultat : OK.
|
||||||
|
|
||||||
|
## Commit
|
||||||
|
|
||||||
|
- `a49f59b4d feat(competences): plan supervised replay tests`
|
||||||
|
|
||||||
|
## Limite restante
|
||||||
|
|
||||||
|
Le résultat humain n'est pas encore écrit automatiquement dans le YAML (`failure_log`, `generalisation`, `promotion.history`).
|
||||||
|
|
||||||
|
Prochaine étape : brancher le retour de replay supervisé pour enregistrer succès/échec/correction.
|
||||||
|
|
||||||
Reference in New Issue
Block a user