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