docs(coordination): record supervised competence replay plan

This commit is contained in:
Dom
2026-05-29 11:38:51 +02:00
parent a49f59b4d6
commit 8ea4ed0ad2
3 changed files with 129 additions and 0 deletions

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.