6.5 KiB
Fiche RECY1-T2 — Niveau N1 — Modèle prévu sonnet | utilisé sonnet (claude-sonnet-5-5) — Agent lp-validator — Skills sk-protocol, lp-validate, sk-recount, debug-verification
RECY1-VAL : validation de la révision D-P7.2 (recyclage des agents en attente) (2026-10-13)
Verdict global : PASS (C1 à C6 PASS ; une remarque de rendu Markdown non bloquante, § Constats).
1. Fiches amont relues
RECY1-TACHES.md(registre, lu) : RECY1-T1 (IMPL faite par la session RECY1, sans fichierRECY1-T1-IMPL.md: aucun livrable IMPL séparé n'existe dansetat/AG/RECY1/, vérifié parls), RECY1-T2 (cette VAL).- Instantanés :
D:\Game\LifePlay_Backup_5.5\RECY1-addon58\...\sk-orchestrate\SKILL.mdetD:\Game\LifePlay_Backup_5.5\RECY1\...\P7-DECISIONS.md.
2. Points à confirmer des IMPL
sans objet : aucune IMPL rédigée (pas de RECY1-T1-IMPL.md), donc aucun point à confirmer à reprendre ; l'absence du gabarit IMPL pour T1 est un écart de forme du lot amont (signalé, non jugé).
3. Critères rejoués (commande → résultat)
| Critère | Verdict | Preuve |
|---|---|---|
| C1 MD5 des instantanés | PASS | A 9e12c4af49be905fb1da66dfcf390bba (annoncé 9E12C4AF...BBA) ; B 6d7fb5fb2b35e817ccd419d670fbb693 (annoncé 6D7FB5FB...693) |
| C2 diff A limité au bloc | PASS | diff : un seul hunk 82,86c82,97, rc=1 |
| C3 contenu du bloc A | PASS | relu l. 82-97, voir ci-dessous |
| C4 diff B | PASS | un seul hunk 10c10 ; git diff --stat : 1 insertion, 1 suppression |
| C5 fins de ligne | PASS | CR=0 pour A et B ; i/lf w/lf pour B |
| C6 rien d'autre touché | PASS | voir sorties ; home MD5 5e930a7b... |
Commande C1 : md5sum <instantané A> <instantané B> <A> <B> (le préfixe \ des lignes vient de l'échappement des chemins Windows par md5sum) :
\9e12c4af49be905fb1da66dfcf390bba *...RECY1-addon58...sk-orchestrate...SKILL.md
\6d7fb5fb2b35e817ccd419d670fbb693 *...RECY1...AG...P7...P7-DECISIONS.md
\d8c38eccb8d1a4e5ae0d0fa9aad3e7fd *...LifePlay-Sandbox-5.8...sk-orchestrate...SKILL.md (A actuel)
\ef92edac2f5553132a4ddb64a82b206f *...LifePlay-master 5.8...P7-DECISIONS.md (B actuel)
Tailles : A 15473 -> 16653 octets ; B 5952 -> 6242 octets.
C2 : diff <instantané A> <A> : 82,86c82,97 (5 lignes retirées : l'ancien bloc « Contexte des sous-agents » ; 16 lignes ajoutées), rc=1. Aucun autre hunk. Les 5 lignes retirées sont exactement les l. 82-86 annoncées.
C3, relu dans SKILL.md l. 82-97 de A :
- tableau à 3 cas : l. 85 en-tête
| Situation | Action |, l. 86 séparateur|---|---|, l. 87 recycler, l. 88 agent neuf + résumé de passation, l. 89 agent neuf sans résumé ; 2 colonnes partout, 3 lignes de données : bien formé. - seuils : « dernière activité < 50 min », « contexte ≤ 60 % du pic du niveau (90 k en N0-N2, 150 k en N3-N5) » (l. 87) ; « cache expiré (> 50 min) » (l. 88).
- citation : « cette règle est coûteuse. Il faut recycler les agents en attente » (l. 82-83).
- fiche recyclée (l. 90-91) : « envoyée complète, ouverte par « les consignes précédentes sont closes », budget compté depuis la reprise, registre
TACHES« recyclé de » ». - phrase de décision après échec conservée (l. 95-96) : « Après un échec, décider explicitement : reprendre (prolongation, contexte gardé) ou abandonner (nouvel appel) ; ne pas décider revient à abandonner. »
C4 : diff <instantané B> <B> : unique hunk 10c10. git -C "D:\Game\LifePlay-master 5.8" diff --stat -- Docs/Migration/etat/AG/P7/P7-DECISIONS.md : 1 file changed, 1 insertion(+), 1 deletion(-). La ligne D-P7.2 garde (a) — utilisateur, 2026-10-12, « tout en a » puis ajoute ; **révisée le 2026-10-13 (lot RECY1, CHG-334)** : « cette règle est coûteuse. Il faut recycler les agents en attente » → recycler ... sinon agent neuf + résumé de passation (sk-orchestrate § 4). Renvoi « § 4 » : grep -n '^## ' A donne 64:## 4. Déroulement d'un lot (suivi de 109:## 5. Indicateurs), le bloc l. 82-97 est dans le § 4 : correct.
C5 : tr -cd '\r' < f | wc -c : A CR=0 ; B CR=0. git ls-files --eol -- Docs/Migration/etat/AG/P7/P7-DECISIONS.md : i/lf w/lf attr/-text. A est non suivi (addon 5.8 : dossier sk-orchestrate/ en ??), donc sans entrée --eol.
C6 :
git -C "D:\Game\LifePlay-Sandbox-5.8" status --short:Tools/claude/skills/sk-orchestrate/figure en??avec d'autres skills etTools/claude/agents/(dossiers non suivis préexistants, comme les 13M/??dePlugins/LPSandbox/...,Docs/BAR/,Docs/CG/) ; non jugé, préexistant.git -C "D:\Game\LifePlay-Sandbox" status --short(addon 5.5) : sortie vide, donc aucunsk-orchestrate.git -C "D:\Game\LifePlay-master 5.8" status --short -- Docs/Migration/etat/AG/:M MCPA/MCPA-TACHES.md,M ORGA1/ORGA1-TACHES.md,M P7/P7-DECISIONS.md,M VERR1/VERR1-TACHES.md,?? LANC1/,?? MCPA/MCPA-INT.md,?? RECY1/. Concernent ce lot :P7-DECISIONS.md(M) etRECY1/(??). Les autres (MCPA, ORGA1, VERR1, LANC1) sont préexistants, déjà présents dans legit statusinitial de la session.md5sum %USERPROFILE%\.claude\skills\sk-orchestrate\SKILL.md:5e930a7b65c0fc6eed522baf271a458f: copie home inchangée.
4. Diff lu en entier
2 fichiers modifiés : A (hunk 82,86c82,97), B (hunk 10c10) ; chaque hunk lu en entier ci-dessus. Aucun ajout hors bloc visé. Non rejoué : pas de diff git de A (non suivi, comparaison à l'instantané seulement) ; pas de rendu Markdown effectif.
5. Verdict
PASS (preuve fraîche, rejouée pendant cette fiche).
6. Points à confirmer par l'utilisateur
- Rendu du tableau : voir Constats (blanc ligne avant le tableau).
- Seuils 50 min et 60 % : le texte les déclare « estimés, à mesurer par
FicheStats.py» ; non vérifiables ici.
Tours : 4 / 30
Constats
- Le tableau (l. 85-89) suit directement la ligne de texte l. 84 (« ...agent en attente de la session : ») sans ligne vide, à l'intérieur d'un élément de liste indenté de 2 espaces. Selon l'interpréteur Markdown (GFM exige en général une ligne vide avant un tableau qui suit un paragraphe), il peut s'afficher en texte brut. Incertain : non rendu ici ; l'essai qui trancherait est un rendu GFM. Non bloquant pour C3 (le critère porte sur la forme du tableau).
- Absence de
RECY1-T1-IMPL.md(gabarit IMPL non suivi par le lot amont) ; signalé, non jugé.
À verser : lp-validate § 1 — aucun nouveau piège ; rappel utile : md5sum sous Git Bash préfixe \ à la somme quand le chemin contient des antislashs (ce n'est pas une différence de somme).