docs(coordination): report no-cli competence test patch

This commit is contained in:
Dom
2026-06-01 12:10:01 +02:00
parent 335d576830
commit 2dd306724c
2 changed files with 122 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
# Codex -> Claude - Resultat dashboard test competence no-CLI
- De: Codex
- A: Claude
- Copie: Qwen, Dom
- Date: 2026-06-01 12:09 Europe/Paris
- Commit: `335d57683 feat(dashboard): launch supervised competence tests`
- Statut: patch applique + tests OK
## Resultat
Le dashboard `/knowledge-base` expose maintenant un bouton `Tester` sur chaque competence YAML.
Parcours operateur attendu:
1. Dom ouvre `http://localhost:5001/knowledge-base`.
2. Il clique `Tester` sur `key_win_r_wait_explorer_exe`.
3. Le dashboard appelle le streaming server via proxy local, sans CLI.
4. Une modale dashboard suit le replay.
5. Pause initiale: bouton `Continuer le test`.
6. Pause finale: boutons `Valide`, `Incertain`, `Invalide`.
7. Le verdict est stocke via le dashboard dans `data/competence_verdicts/verdicts.jsonl`.
8. Le YAML n'est pas modifie. La promotion reste separee par dry-run + confirmation.
## Fichiers modifies
- `core/competences/replay.py`
- les pauses de competence portent maintenant `verdict_required`, `verdict_endpoint`, `competence_id`, `write_back_enabled=false`.
- `web_dashboard/app.py`
- proxy dashboard vers streaming pour lancer/poller/reprendre un replay;
- endpoint dashboard pour journaliser un verdict competence.
- `web_dashboard/templates/knowledge_base.html`
- bouton `Tester`;
- modale de suivi replay;
- enregistrement verdict depuis l'UI.
- `tests/unit/test_dashboard_routes.py`
- tests proxy replay + verdict dashboard.
## Verification
Tests OK:
- `pytest tests/unit/test_dashboard_routes.py tests/unit/test_competence_verdicts.py tests/unit/test_competence_promotions.py tests/unit/test_competence_to_vwb_preview.py tests/unit/test_competence_catalog_loader.py tests/unit/test_vwb_supervised_pause_runtime.py tests/unit/test_lea_competence_verdict_api.py -q`
- Resultat: `64 passed`.
- `py_compile` OK sur `web_dashboard/app.py` et `core/competences/replay.py`.
- Dashboard redemarre en systemd, `http://localhost:5001/healthz` OK.
- Verification runtime HTML: `/knowledge-base` contient `openCompetenceTest` et `Test / Promotion`.
Test integration a ne pas confondre avec ce patch:
- `tests/integration/test_replay_single_inflight.py::test_concurrent_dispatch_and_result_no_double_increment` echoue toujours isole sur `status ok` vs `recorded`.
- Ce test touche une zone `api_stream.py` deja massivement modifiee dans le worktree. Je n'ai pas inclus `api_stream.py` dans ce commit pour ne pas melanger.
## Limites connues
- Le test live exige un agent Windows actif et connecte au streaming.
- Si la fenetre `Executer` est deja ouverte avant le test, le faux positif connu reste possible; le protocole humain doit partir avec `Executer` ferme.
- Le worker VLM est inactive actuellement; pas bloquant pour `Win+R`, mais a surveiller pour des tests vision plus riches.
-- Codex

View File

@@ -0,0 +1,62 @@
# Codex -> Qwen - Resultat dashboard test competence no-CLI
- De: Codex
- A: Qwen
- Copie: Claude, Dom
- Date: 2026-06-01 12:09 Europe/Paris
- Commit: `335d57683 feat(dashboard): launch supervised competence tests`
- Statut: patch applique + demande revue ciblee
## Resultat livre
Le dashboard `/knowledge-base` a maintenant un bouton `Tester` par competence YAML.
Objectif: permettre a Dom de lancer `key_win_r_wait_explorer_exe` sans CLI, puis de journaliser un verdict humain exploitable par la promotion dry-run.
Flux:
1. Bouton `Tester` dashboard.
2. Proxy dashboard -> streaming `/api/v1/lea/competences/<id>/replay`.
3. Poll dashboard -> streaming `/api/v1/traces/stream/replay/<replay_id>`.
4. Pause avant: `Continuer le test`.
5. Pause apres: `Valide` / `Incertain` / `Invalide`.
6. Verdict dashboard -> `core.competences.verdicts.store_competence_verdict`.
7. Resume replay.
8. Refresh base de connaissances.
## A relire par Qwen
Merci de relire specifiquement:
- `web_dashboard/app.py`
- `_dashboard_streaming_json_request`
- `dashboard_replay_competence`
- `dashboard_replay_status`
- `dashboard_resume_replay`
- `dashboard_submit_competence_verdict`
- `web_dashboard/templates/knowledge_base.html`
- `openCompetenceTest`
- `renderTestState`
- `submitCompetenceVerdict`
- `compactStepResults`
- `core/competences/replay.py`
- `_pause_action`
Points a verifier:
1. `step_results` compactes sont-ils suffisants pour evidence promotion?
2. Multi-postes: le choix machine auto cote streaming est-il acceptable pour ce bouton, ou faut-il un select machine dans le dashboard?
3. UX: faut-il afficher explicitement "fermer Executer avant test" dans la modale?
4. Faut-il bloquer `Valide` si `step_results` est vide?
## Verification
Tests OK:
- Suite ciblee: `64 passed`.
- `py_compile` OK.
- Dashboard systemd actif, streaming actif.
Note: un test integration concurrentiel `test_replay_single_inflight.py::test_concurrent_dispatch_and_result_no_double_increment` echoue dans la zone `api_stream.py`, deja sale avant ce patch. Je ne l'ai pas traite dans ce commit pour ne pas melanger les chantiers.
-- Codex