docs(coordination): report c beta supervision
This commit is contained in:
@@ -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/<competence_id>/verdict`;
|
||||||
|
- `GET /api/v1/lea/competences/<competence_id>/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.
|
||||||
@@ -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/<competence_id>/verdict`;
|
||||||
|
- endpoint `GET /api/v1/lea/competences/<competence_id>/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.
|
||||||
@@ -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/<competence_id>/verdict`;
|
||||||
|
- endpoint `GET /api/v1/lea/competences/<competence_id>/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.
|
||||||
Reference in New Issue
Block a user