54 lines
5.4 KiB
Markdown
54 lines
5.4 KiB
Markdown
Fiche PIPE1-INV-01 — Niveau N2 — Modèle prévu opus | utilisé claude-opus-5-5 — Session Big Boss — Skills lp-lot, sk-orchestrate
|
||
# PIPE1-INV-01 : actions où un script remplace l'agent (2026-10-15)
|
||
|
||
Demande de l'utilisateur : « Si la validation est purement mécanique, un script suffit ; l'agent compare le résultat et
|
||
dit vrai ou faux. Il faut recenser les actions où l'agent peut être substitué. » Source : les actions réellement
|
||
exécutées le 2026-10-15 (UES1, OPT0-A2/A2b/A3/G0, KALM1, CRIM1, VERIF1, TSC1, PIPE1). Coûts mesurés : agent neuf 55 à
|
||
140 k ; VAL PIPE1-VAL-02 ≈ 385 k.
|
||
|
||
Règle proposée : **une action mécanique se fait par script ; un agent ne la refait jamais à la main.** Le script rend
|
||
une ligne `<OUTIL> : <verdict> (<compte>)` et un code 0 conforme / 1 écart / 2 erreur ; le modèle ne lit que cette ligne.
|
||
Un agent reste là où il faut juger un texte, concevoir, ou décider quoi faire d'un écart.
|
||
|
||
## 1. Recensement
|
||
|
||
Colonne « Substitution » : **S** script seul ; **S+J** script, puis jugement court d'un modèle sur la ligne de verdict ;
|
||
**J** jugement, l'agent reste. Colonne « Outil » : existant (✔) ou à écrire (✚).
|
||
|
||
| # | Action (qui la fait aujourd'hui) | Fréquence le 2026-10-15 | Substitution | Outil |
|
||
|---|---|---|---|---|
|
||
| A1 | Contrôles avant BUILD-GO : `UeState`, MD5 des assets de référence, `git status` hors `Docs` (Big Boss, à la main) | 9 | **S** | ✔ `CopieEtat.ps1` (non employé ce jour) |
|
||
| A2 | Contrôles de BUILD-FIN 1 à 4 : processus, MD5, dépôt, dossiers parasites (session, puis rejoués par Big Boss) | 9 × 2 | **S** | ✔ `CopieEtat.ps1` |
|
||
| A3 | PubCheck d'un livrable ou d'un ticket (tous) | ≈ 25 | **S** | ✔ `PubCheck.ps1` |
|
||
| A4 | Fins de ligne, BOM, MD5 contre l'instantané (VAL, Big Boss) | ≈ 20 | **S** | ✔ `FileCheck.ps1`, `NormaliserLF.py` |
|
||
| A5 | Diff contre l'instantané = hunks annoncés ; longueur R9 des skills (VAL) | 6 | **S** | ✚ dans `VerifLivrable.ps1` |
|
||
| A6 | Recompte des comptes d'un livrable (Big Boss, VAL) : 110 Blueprints, 23 éléments, comptes du journal G0 | 6 | **S** si le livrable cite ses commandes (`compte:`) ; **S+J** sinon | ✚ `VerifLivrable.ps1` |
|
||
| A7 | Contrat de retour des lots MCP (n_lu = n_attendu, erreurs vides) | 11 lots | **S** | ✔ `Saved\OPT0-A2b\controle_lots.py` (à verser dans `Tools\`) |
|
||
| A8 | Batterie d'une garde, preuve par l'échec (Big Boss) | 6 versions | **S** pour jouer ; **J** pour écrire les cas | ✔ `Saved\OPT0-A2\test_garde_v2.py` (à verser dans `Tools\hooks\`) |
|
||
| A9 | Gardien : verrou, HEAD, branche, identité, MD5 du ticket, `PubCheck -Index`, index privé, commit par chemins, statut et ligne `REPO-JOURNAL`, pin du doc 21 (agent lp-gardien) | 6 passages, 55 à 82 k chacun | **S**, avec **J** seulement sur un refus | ✚ `Vague.ps1` ; ✔ `Verrou.ps1`, `GitEtat.ps1` |
|
||
| A10 | Contrôle V5 des fichiers partagés : chaque ligne ajoutée appartient à un CHG / ERR listé | (nouveau) | **S** | ✚ dans `Vague.ps1` |
|
||
| A11 | Réservation d'un numéro CHG / ERR (Big Boss) | 2 | **S** | ✔ `Numero.ps1` |
|
||
| A12 | Plage de l'index README, statut `utilisé` dans NUMEROS, colonne Versé du brouillon (lp-writer) | 2 DOC | **S** | ✚ `VerserCHG.ps1` (ou option de `Numero.ps1`) |
|
||
| A13 | Ligne datée au `BOSS-JOURNAL.md` en LF, jetons de BOSS-ETAT (Big Boss) | ≈ 40 | **S** | ✚ `BossJournal.ps1` (heure, LF, contrôle CR) |
|
||
| A14 | Mesure M0 à M4 : lancer, résumer (lp-perf) | — | **S** + **J** sur le verdict | ✔ `LogStats.ps1`, `SummarizeDebugCsv.ps1` ; ✚ enveloppes M1, M4 (U4) |
|
||
| A15 | Vérifier qu'une approbation citée est bien de l'utilisateur (Big Boss) | 3 | **S+J** : recherche dans la transcription, puis lecture | ✔ outils de session de l'application |
|
||
| A16 | Rédiger une SPEC, une grille, un diagnostic, une entrée CHG | — | **J** | — |
|
||
| A17 | Juger qu'un texte de skill n'en contredit pas un autre ; qu'un résumé dit vrai | — | **J** (après A5 et A6 par script) | — |
|
||
| A18 | Décider d'un écart, arbitrer, choisir un palier | — | **J** (Big Boss ou utilisateur) | — |
|
||
|
||
## 2. Ce que la substitution aurait économisé le 2026-10-15 (estimé)
|
||
- A9 : 6 passages du gardien par agent (≈ 400 k) → script, agent seulement sur refus (0 refus ce jour).
|
||
- A1, A2, A6 par Big Boss : environ 30 contrôles à la main → `CopieEtat.ps1` et `VerifLivrable.ps1`.
|
||
- A5, A6 dans les VAL : la VAL PIPE1-VAL-02 (≈ 385 k) aurait été une ligne de script plus un jugement court sur trois
|
||
points de contenu (E-1, E-11, contradiction « alpha »).
|
||
|
||
## 3. Outils à écrire, par ordre de gain
|
||
1. **`Tools\Vague.ps1`** (A9, A10) : exécute la vague de W7 ; s'arrête au premier refus avec la ligne fautive ; l'agent
|
||
lp-gardien n'intervient que pour ce refus. Classe VAL O.
|
||
2. **`Tools\VerifLivrable.ps1`** (A3 à A6) : comptes `compte:` rejoués (liste blanche en lecture seule : `grep`, `wc`,
|
||
`find`, `git show/ls-files/diff --stat`, `md5sum`, `python -I` sur un script du lot), PubCheck, LF, diff contre
|
||
l'instantané, R9. Classe VAL O. C'est l'outil de W4 (option b de VERIF1).
|
||
3. **`Tools\BossJournal.ps1`** (A13) et **`VerserCHG.ps1`** (A12) : écritures datées et contrôlées des fichiers partagés.
|
||
4. Verser dans `Tools\` les deux scripts déjà éprouvés : `controle_lots.py` (A7) et `test_garde_v2.py` (A8).
|
||
5. Enveloppes M1 et M4 (A14, U4 du modèle de mesure).
|
||
Et dès maintenant, sans rien écrire : **employer `CopieEtat.ps1`** pour A1 et A2.
|