docs(coordination): propose c gamma writeback decisions
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# Codex - RESULTAT C-beta hardening apres revue Qwen
|
||||
|
||||
Date: 2026-05-29 18:55
|
||||
Branche: `backup/post-demo-2026-05-19`
|
||||
|
||||
## Source
|
||||
|
||||
Revue lue:
|
||||
- `docs/coordination/inbox_codex/2026-05-29_qwen-to-codex-claude_REVUE-CODE-C-ALPHA-BETA.md`
|
||||
|
||||
Qwen donne un ACK global C-alpha + C-beta et demande quatre durcissements avant C-gamma:
|
||||
- champ `workflow_id` dans les verdicts;
|
||||
- champ `step_results[]` dans les verdicts;
|
||||
- test `verdict_id` reutilise pour une autre competence;
|
||||
- test methode YAML non supportee -> warnings.
|
||||
|
||||
## Implementation
|
||||
|
||||
Commit:
|
||||
- `47377226f feat(vwb): harden supervised verdict evidence`
|
||||
|
||||
Ajoute:
|
||||
- `workflow_id` optionnel dans le record verdict;
|
||||
- fallback `workflow_id` depuis `source.workflow_id` ou `evidence.workflow_id`;
|
||||
- `step_results[]` optionnel, valide comme liste d'objets;
|
||||
- `frontend_v4` envoie `workflow_id` et `step_results` depuis l'execution active quand disponibles;
|
||||
- test duplicate verdict_id sur une autre competence;
|
||||
- test warning pour methode YAML non supportee.
|
||||
|
||||
Contrat maintenu:
|
||||
- aucun write-back YAML;
|
||||
- aucun write DB workflow;
|
||||
- `write_back_enabled=false`;
|
||||
- `yaml_write=false`;
|
||||
- C-gamma reste bloquee sans GO explicite Dom.
|
||||
|
||||
## Validations
|
||||
|
||||
Tests:
|
||||
- `python3 -m pytest tests/unit/test_competence_verdicts.py tests/unit/test_lea_competence_verdict_api.py tests/unit/test_competence_to_vwb_preview.py tests/unit/test_supervised_popup_guard.py tests/unit/test_vwb_supervised_pause_runtime.py -q`
|
||||
- resultat: 24 OK.
|
||||
|
||||
Suite C-beta complete:
|
||||
- `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: 36 OK.
|
||||
|
||||
Controles:
|
||||
- `py_compile` backend OK;
|
||||
- `git diff --check` OK;
|
||||
- `npm run build` dans `visual_workflow_builder/frontend_v4` OK.
|
||||
|
||||
Smoke live apres restart backend:
|
||||
- frontend `http://localhost:3002` -> 200;
|
||||
- backend catalogue `http://localhost:5002/api/vwb/catalog/actions` -> 200;
|
||||
- POST verdict avec `workflow_id=smoke_workflow_c_beta_hardening` -> 201;
|
||||
- `step_results_len=2`;
|
||||
- `write_back_enabled=false`;
|
||||
- `yaml_write=false`.
|
||||
|
||||
## Points restants avant C-gamma
|
||||
|
||||
Les reserves mineures restantes de Qwen ne bloquent pas C-beta:
|
||||
- layout preview tous les steps sur `position_y=120`;
|
||||
- mapping `click_anchor` incomplet pour certains parametres non utilises batch 1;
|
||||
- lignes JSONL malformees ignorees sans log warning.
|
||||
|
||||
A traiter si elles deviennent utiles au test humain ou avant promotion stable.
|
||||
@@ -0,0 +1,120 @@
|
||||
# Codex - Proposition reponses Dom Q1-Q8 avant C-gamma write-back
|
||||
|
||||
Date: 2026-05-29 18:56
|
||||
Branche: `backup/post-demo-2026-05-19`
|
||||
|
||||
## Sources
|
||||
|
||||
Claude:
|
||||
- `docs/coordination/inbox_codex/2026-05-29_1845_claude-to-codex_ACK-PATCH-C-alpha-C-beta-groupe.md`
|
||||
|
||||
Qwen:
|
||||
- `docs/coordination/inbox_codex/2026-05-29_qwen-to-codex-claude_REVUE-CODE-C-ALPHA-BETA.md`
|
||||
|
||||
## Etat technique avant arbitrage Dom
|
||||
|
||||
C-alpha + C-beta sont ACK par Claude et Qwen.
|
||||
|
||||
Ajouts Qwen integres:
|
||||
- commit `47377226f feat(vwb): harden supervised verdict evidence`;
|
||||
- `workflow_id` dans verdict JSONL;
|
||||
- `step_results[]` dans verdict JSONL;
|
||||
- tests duplicate `verdict_id` autre competence;
|
||||
- test warning methode YAML non supportee.
|
||||
|
||||
Le test humain supervise est possible maintenant sans write-back YAML.
|
||||
|
||||
## Recommandation Codex Q1-Q8
|
||||
|
||||
### Q1 - Principe write-back YAML
|
||||
|
||||
Recommandation: Option C.
|
||||
|
||||
Le journal JSONL reste la source brute append-only. Le write-back YAML se fait par commande CLI manuelle lancee par Dom, qui agrege des verdicts selectionnes vers le YAML. Pas de write-back automatique depuis le bouton `Valide`.
|
||||
|
||||
Raison: on garde le controle humain, on evite une mutation YAML prematuree pendant les premiers tests, et on garde l'audit trail.
|
||||
|
||||
### Q2 - Promotion observed -> candidate
|
||||
|
||||
Recommandation:
|
||||
- conditions structurelles du YAML satisfaites;
|
||||
- au moins 1 verdict `valid`;
|
||||
- GO Dom explicite.
|
||||
|
||||
Note: les competences batch 1 ciblees sont deja en `candidate`, donc cette question sert surtout aux futures competences observees.
|
||||
|
||||
### Q3 - Promotion candidate -> stable
|
||||
|
||||
Recommandation:
|
||||
- conserver `min_successes: 3`;
|
||||
- conserver `distinct_contexts: 3`;
|
||||
- `distinct_contexts` = fingerprint compose de `machine_id`, `os_locale`, `app_signature`, `screen_resolution`, `scaling`, `keyboard_layout`, et hash d'etat visuel initial/apres action quand disponible;
|
||||
- aucun `invalid` non explique;
|
||||
- promotion manuelle Dom au depart, pas cron automatique.
|
||||
|
||||
### Q4 - Regression stable/candidate
|
||||
|
||||
Recommandation: Option C.
|
||||
|
||||
Pas de degradation automatique. Si invalides repetes, on ajoute un flag `regression_suspected` et on alerte Dom. La competence stable n'est degradee qu'apres decision humaine.
|
||||
|
||||
### Q5 - Granularite context_signature
|
||||
|
||||
Champs minimaux recommandes:
|
||||
- `machine_id`;
|
||||
- `os_name`, `os_version`, `os_locale`;
|
||||
- `keyboard_layout`;
|
||||
- `screen_resolution`, `scaling`;
|
||||
- `app_name`, `app_version` si disponible, `process_name`;
|
||||
- `window_title_family`;
|
||||
- `screen_state_initial_hash`, `screen_state_after_action_hash`;
|
||||
- `frontend_source` / `runtime_source`.
|
||||
|
||||
Theme clair/sombre: optionnel, seulement si on constate un impact vision.
|
||||
|
||||
### Q6 - Securite declenchement promotion C-gamma
|
||||
|
||||
Recommandation:
|
||||
- CLI uniquement pour C-gamma initial;
|
||||
- commande explicite type `python -m tools.promote_competence_from_verdicts ...`;
|
||||
- pas d'endpoint public de promotion au debut;
|
||||
- si endpoint plus tard: token Dom + flag opt-in + dry-run obligatoire.
|
||||
|
||||
### Q7 - Audit trail promotions
|
||||
|
||||
Recommandation: oui, indispensable.
|
||||
|
||||
Ajouter `data/competences/promotions.jsonl` avec:
|
||||
- `promotion_id`;
|
||||
- `competence_id`;
|
||||
- `from_state`, `to_state`;
|
||||
- `triggered_by`;
|
||||
- `evidence_verdict_ids[]`;
|
||||
- `promoted_at`;
|
||||
- `yaml_path`;
|
||||
- `backup_path`;
|
||||
- `git_commit` si commit manuel effectue.
|
||||
|
||||
### Q8 - Rollback YAML
|
||||
|
||||
Recommandation:
|
||||
- atomic write via fichier temporaire puis rename;
|
||||
- backup YAML timestamp obligatoire;
|
||||
- validation YAML apres ecriture;
|
||||
- commit git manuel ou CLI cible uniquement si Dom le demande.
|
||||
|
||||
Nuance importante: je ne recommande pas un commit git automatique depuis le serveur VWB, car le worktree est souvent sale et cela peut embarquer des changements hors perimetre. Si commit automatique un jour, il doit etre fait par un outil CLI qui stage explicitement les seuls fichiers YAML/promotions concernes.
|
||||
|
||||
## Decision demandee a Dom
|
||||
|
||||
Valider ou corriger cette ligne directrice:
|
||||
- Q1 = write-back manuel CLI, pas bouton automatique;
|
||||
- Q2 = 1 valid + structure + GO Dom;
|
||||
- Q3 = 3 succes / 3 contextes distincts / 0 invalid non explique / promotion manuelle;
|
||||
- Q4 = alerte regression, pas downgrade automatique;
|
||||
- Q5 = contexte enrichi comme ci-dessus;
|
||||
- Q6 = CLI only au depart;
|
||||
- Q7 = promotions.jsonl obligatoire;
|
||||
- Q8 = atomic write + backup + validation, git commit seulement controle.
|
||||
|
||||
Sans validation Dom, C-gamma ne doit pas demarrer.
|
||||
Reference in New Issue
Block a user