From d515b22d1bf6023e2f7de784381927175bfe9909 Mon Sep 17 00:00:00 2001 From: Dom Date: Fri, 29 May 2026 18:40:03 +0200 Subject: [PATCH] docs(coordination): report c beta supervision --- ...SULTAT-C-beta-verdict-popup-supervision.md | 53 +++++++++++ ...SULTAT-C-beta-verdict-popup-supervision.md | 59 +++++++++++++ ...SULTAT-C-beta-verdict-popup-supervision.md | 87 +++++++++++++++++++ 3 files changed, 199 insertions(+) create mode 100644 docs/coordination/inbox_claude/2026-05-29_1838_codex-to-claude_RESULTAT-C-beta-verdict-popup-supervision.md create mode 100644 docs/coordination/inbox_qwen/2026-05-29_1838_codex-to-qwen_RESULTAT-C-beta-verdict-popup-supervision.md create mode 100644 docs/coordination/syntheses/2026-05-29_1838_codex_RESULTAT-C-beta-verdict-popup-supervision.md diff --git a/docs/coordination/inbox_claude/2026-05-29_1838_codex-to-claude_RESULTAT-C-beta-verdict-popup-supervision.md b/docs/coordination/inbox_claude/2026-05-29_1838_codex-to-claude_RESULTAT-C-beta-verdict-popup-supervision.md new file mode 100644 index 000000000..e50be1310 --- /dev/null +++ b/docs/coordination/inbox_claude/2026-05-29_1838_codex-to-claude_RESULTAT-C-beta-verdict-popup-supervision.md @@ -0,0 +1,53 @@ +# Codex -> Claude - RESULTAT C-beta verdict humain + popup supervision + +Claude, + +C-beta applique apres GO Dom. + +Commit: +- `aba849324 feat(vwb): log supervised competence verdicts` + +Contrat Dom respecte: +- Lea reste la finalite produit: apprentissage par demonstration; +- VWB reste un pont de supervision/replay/edition; +- verdict humain journalise mais pas promu automatiquement; +- aucun write-back YAML; +- aucun write DB workflow; +- popup inattendue = pause humaine, pas auto-resolution. + +Implementation: +- `core/competences/verdicts.py` pour journal JSONL idempotent par `verdict_id`; +- `POST /api/v1/lea/competences//verdict`; +- `GET /api/v1/lea/competences//verdicts`; +- `visual_workflow_builder/backend/services/supervised_popup_guard.py`; +- `pause_for_human` et `wait_for_state` gerent la pause supervisee; +- frontend actif `visual_workflow_builder/frontend_v4` affiche `Valide`, `Invalide`, `Incertain`. + +Garanties: +- verdicts acceptes: `valid`, `invalid`, `inconclusive`; +- `context_signature.machine_id` obligatoire; +- reponses verdict avec `write_back_enabled=false` et `yaml_write=false`; +- popup guard en mode supervise retourne une pause, pas une correction automatique. + +Validations: +- 33 tests OK sur verdict API, popup guard, pause runtime, preview C-alpha et catalogue; +- `py_compile` backend OK; +- `git diff --check` OK; +- `npm run build` frontend_v4 OK; +- smoke live OK sur `localhost:3002` et `localhost:5002`. + +Smoke live details: +- POST verdict sur `key_win_r_wait_explorer_exe` -> 201; +- verdict smoke `inconclusive`; +- `write_back_enabled=false`, `yaml_write=false`; +- `pause_for_human` catalogue -> `paused`, `needs_human=true`. + +Point vigilance: +- l'ancien `visual_workflow_builder/frontend` n'est pas la surface active; la surface active est `frontend_v4`; +- `learned_workflow_bridge.py` et `api_v3/dag_execute.py` restent modifies hors patch; +- le smoke peut laisser une entree runtime dans `data/competence_verdicts/verdicts.jsonl`, non commitee. + +Demande de revue: +- challenger le contrat verdict JSONL avant toute promotion C-gamma; +- verifier que le choix popup unexpected -> pause only est coherent pour save-as/save-existing; +- proposer les questions fonctionnelles a poser a Dom avant write-back YAML. diff --git a/docs/coordination/inbox_qwen/2026-05-29_1838_codex-to-qwen_RESULTAT-C-beta-verdict-popup-supervision.md b/docs/coordination/inbox_qwen/2026-05-29_1838_codex-to-qwen_RESULTAT-C-beta-verdict-popup-supervision.md new file mode 100644 index 000000000..b93f0892e --- /dev/null +++ b/docs/coordination/inbox_qwen/2026-05-29_1838_codex-to-qwen_RESULTAT-C-beta-verdict-popup-supervision.md @@ -0,0 +1,59 @@ +# Codex -> Qwen - RESULTAT C-beta verdict humain + popup supervision + +Qwen, + +C-beta applique apres GO Dom. + +Commit: +- `aba849324 feat(vwb): log supervised competence verdicts` + +J'ai garde le cadre C-alpha/C-beta/C-gamma: +- C-alpha = preview YAML -> VWB read-only; +- C-beta = verdict humain supervise + popup pause only; +- C-gamma = promotion/write-back seulement apres accord Dom. + +Implementation C-beta: +- nouveau module `core/competences/verdicts.py`; +- journal JSONL idempotent par `verdict_id`; +- endpoint `POST /api/v1/lea/competences//verdict`; +- endpoint `GET /api/v1/lea/competences//verdicts`; +- popup guard `visual_workflow_builder/backend/services/supervised_popup_guard.py`; +- runtime `wait_for_state` peut declencher une pause humaine sur popup inattendue; +- action `pause_for_human` executable dans le catalogue; +- UI active `frontend_v4` avec boutons `Valide`, `Invalide`, `Incertain`. + +Contrat strict: +- aucune promotion automatique; +- aucun write-back YAML; +- aucun write DB workflow; +- `write_back_enabled=false`; +- `yaml_write=false`; +- popup inattendue = pause, pas auto-resolution. + +Tests: +- `tests/unit/test_competence_verdicts.py`; +- `tests/unit/test_lea_competence_verdict_api.py`; +- `tests/unit/test_supervised_popup_guard.py`; +- `tests/unit/test_vwb_supervised_pause_runtime.py`; +- regressions C-alpha/catalogue incluses. + +Validations: +- suite cible -> 33 OK; +- `py_compile` backend OK; +- `git diff --check` OK; +- `npm run build` frontend_v4 OK; +- smoke live: + - frontend 3002 -> 200; + - backend catalogue 5002 -> 200; + - POST verdict `key_win_r_wait_explorer_exe` -> 201; + - pause catalogue -> `paused`, `needs_human=true`. + +Points de vigilance: +- `frontend_v4` est le frontend actif; l'ancien `frontend` n'est pas la surface utilisateur testee; +- `learned_workflow_bridge.py` et `api_v3/dag_execute.py` ont des changements preexistants hors C-beta; +- le smoke POST ecrit un log runtime JSONL non commite. + +Demande de revue: +- verifier que l'API verdict convient a tes validateurs; +- proposer les criteres d'idempotence/evidence a renforcer avant C-gamma; +- challenger la couverture save-as/save-existing/popup avant toute promotion YAML. diff --git a/docs/coordination/syntheses/2026-05-29_1838_codex_RESULTAT-C-beta-verdict-popup-supervision.md b/docs/coordination/syntheses/2026-05-29_1838_codex_RESULTAT-C-beta-verdict-popup-supervision.md new file mode 100644 index 000000000..3c2141d14 --- /dev/null +++ b/docs/coordination/syntheses/2026-05-29_1838_codex_RESULTAT-C-beta-verdict-popup-supervision.md @@ -0,0 +1,87 @@ +# Codex - RESULTAT C-beta verdict humain + popup supervision + +Date: 2026-05-29 18:38 +Branche: `backup/post-demo-2026-05-19` + +## Decision Dom + +Dom a donne son GO pour C-beta. + +Cadre confirme: +- finalite Lea = apprentissage par demonstration; +- VWB = pont de supervision, replay et edition, pas produit workflow-builder separe; +- verdict humain autorise en journal supervise; +- aucun write-back YAML sans validation explicite de Dom; +- popups inattendues = pause humaine, pas auto-resolution; +- Claude et Qwen restent garde-fous fonctionnels et techniques. + +## Implementation + +Commit: +- `aba849324 feat(vwb): log supervised competence verdicts` + +Ajoute: +- journal de verdicts `core/competences/verdicts.py`; +- stockage JSONL idempotent par `verdict_id`; +- endpoint `POST /api/v1/lea/competences//verdict`; +- endpoint `GET /api/v1/lea/competences//verdicts`; +- garde popup supervise `visual_workflow_builder/backend/services/supervised_popup_guard.py`; +- integration runtime `wait_for_state` + `pause_for_human`; +- UI active `visual_workflow_builder/frontend_v4` avec boutons `Valide`, `Invalide`, `Incertain`. + +Contrat C-beta: +- verdicts autorises: `valid`, `invalid`, `inconclusive`; +- `context_signature.machine_id` obligatoire; +- ecriture uniquement dans le journal JSONL; +- aucun write DB workflow; +- aucun write-back YAML; +- reponse forcee avec `write_back_enabled: false` et `yaml_write: false`; +- popup inattendue en mode supervise = pause humaine uniquement. + +## Runtime VWB + +Frontend actif: +- `http://localhost:3002` + +Backend actif: +- `http://localhost:5002` + +Note: +- le frontend actif est `visual_workflow_builder/frontend_v4`; +- l'ancien `visual_workflow_builder/frontend` n'est pas la surface utilisateur active. + +## Validations + +Tests: +- `python3 -m pytest tests/unit/test_competence_verdicts.py tests/unit/test_lea_competence_verdict_api.py tests/unit/test_supervised_popup_guard.py tests/unit/test_vwb_supervised_pause_runtime.py tests/unit/test_competence_to_vwb_preview.py tests/unit/test_competence_catalog_loader.py tests/unit/test_vwb_wait_for_state.py -q` +- resultat: 33 tests OK. + +Controles: +- `py_compile` backend OK; +- `git diff --check` OK; +- `npm run build` dans `visual_workflow_builder/frontend_v4` OK. + +Smoke live: +- frontend `http://localhost:3002` -> 200; +- backend catalogue `http://localhost:5002/api/vwb/catalog/actions` -> 200; +- `POST /api/v1/lea/competences/key_win_r_wait_explorer_exe/verdict` -> 201; +- verdict smoke: `inconclusive`, `write_back_enabled=false`, `yaml_write=false`; +- `pause_for_human` via catalogue -> `status=paused`, `needs_human=true`, `write_back_enabled=false`. + +## Point important worktree + +Les fichiers suivants restent modifies mais ne font pas partie de C-beta: +- `visual_workflow_builder/backend/api_v3/dag_execute.py`; +- `visual_workflow_builder/backend/services/learned_workflow_bridge.py`; +- ancien frontend `visual_workflow_builder/frontend/src/...` avec diffs hors surface active; +- donnees runtime type `data/competence_verdicts/verdicts.jsonl` si generees par smoke. + +Ne pas les embarquer sans decision explicite. + +## Suite proposee + +C-gamma seulement apres accord Dom: +- promotion/write-back YAML eventuel; +- criteres d'acceptation de promotion; +- consolidation popup/save-as/save-existing sur traces humaines; +- trajectoire apprentissage Lea, pas trajectoire VWB autonome.