Brancher les skills de revue sur REVIEW.md et les niveaux de risque #457
Labels
No labels
autopilot:pending-human
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
status:needs-clarification
status:needs-fix
status:ready
status:review
status:triage
type:bug
type:feature
type:infra
type:refactor
type:schema
type:security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/Simpl-Resultat#457
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Deuxième travail du pilote « évolution de
/pr-review». Contexte :docs/evolution-pr-review.md, PR maximus/agent-defenseurs#190, section 4.2 A.Bloquée par #456 : les skills lisent les motifs de
REVIEW.md.Les skills vivent dans
~/.claude/skills/, hors git : cette issue suit le travail, aucune PR dans ce dépôt. Chaque skill modifié reçoit une entrée dans sonCHANGELOG.md.Travail
pr-review: nouveau Step entre 0 et 1. LireREVIEW.mdà la base de la PR (GET /repos/maximus/<repo>/raw/REVIEW.md?ref=<base>, le fork ne fait pas de checkout) et la liste des fichiers (GET /pulls/<n>/files), calculer le niveau, l'annoncer en tête du verdict (Niveau : haut — <fichier déclencheur>). SansREVIEW.md: niveaunormal, comportement actuel.pr-review: profondeur par niveau. Bas : lecture du diff, sans mutation ni rejeu. Haut : mutation obligatoire, passesecurity-scanbloquante, « Max doit lire » dans le verdict.pr-review: retirer le savoir propre à simpl-resultat (commandes decheck.yml, section « CI coverage gap » périmée depuis #232), déplacé dansREVIEW.mdpar #456.sprint: remplacer la checklist recopiée du Step 4b par un renvoi à celle depr-review+REVIEW.md(rétablit la section Tests perdue).autopilot: niveau de chaque PR dans leDAILY-REPORT, PR de niveau haut listées en premier sous « Max doit lire ».fix-issue: Step 6.5 prend ses commandes de vérification dansREVIEW.mdquand il existe.Critères d'acceptation
/pr-reviewsur une PR ouverte de simpl-resultat affiche le niveau et le fichier déclencheur./pr-reviewsur un dépôt sansREVIEW.mdse comporte comme avant.sprintne contient plus de copie de la checklist.Contrat de lecture de
REVIEW.md, mergé le 2026-10-18 (PR #460,24da72b) : sa ligne 5 demande que/pr-reviewle lise surmain, y compris pour une PR empilée, et non à?ref=<base>comme le dit le point A1 de cette issue. Sinon, un maillon de pile serait jugé par une version deREVIEW.mdque son parent modifie et que personne n'a encore relue. A1 lit doncGET /repos/maximus/<repo>/raw/REVIEW.md?ref=main.Deux autres points pour l'implémentation :
scripts/review-levels.pysert à la calibration seulement. Il n'approche qu'une partie des conditions du tableau Haut (#462) : le niveau d'une PR ouverte se lit dansREVIEW.md, jamais dans la sortie du script.REVIEW.md. Leur source fait foi : les workflows.Travail fait le 2026-10-18 dans
~/.claude/skills/, hors git. Sauvegarde des fichiers d'avant dans le dossier de travail de la session ; une entrée datée dans leCHANGELOG.mdde chaque skill.pr-review:REVIEW.mdlu sur la branche par défaut (default_branch, doncmasterpour agent-defenseurs), ouABSENT;Niveau : haut — <fichier> (<zone>);REVIEW.md,Niveau : normal (pas de REVIEW.md), puis la revue d'avant ;scripts/review-levels.py.pr-review, section « Profondeur par niveau » :Max doit lire avant le merge.security-scann'est défini qu'au niveau du monorepo (~/claude-code/.claude/agents/). Elle applique les sections de cet agent et les règles des zones deREVIEW.mdque touche le diff ; tout constat bloque.pr-review: retrait des commandes de simpl-resultat, de la « CI coverage gap » (fausse ici depuis #232) et de la durée du job Rust. Une puce « Couverture CI d'une pile » générique les remplace : elle lit les déclencheurs du dépôt ou sonREVIEW.md.sprint: le Step 4b renvoie à/pr-review(Step 0bis, checklist entière, Tests compris, profondeur par niveau) et àREVIEW.md; plus aucune copie de la checklist (grepdes anciennes lignes : 0).autopilot:DAILY-REPORTavec une section « Max doit lire (PR de niveau haut) » en tête, une ligneNiveau : …par PR, etprs_high_leveldans le JSON final.fix-issue: le Step 6.5 prend les commandes de « Commandes de vérification » duREVIEW.mdquand il existe (les workflows font foi), sinon la suite du projet.Vérifications :
REVIEW.mdlu sur simpl-resultat (main),ABSENTsur agent-defenseurs (master) et sur roadtrip (main) ;src-tauri/Cargo.toml,src-tauri/Cargo.lock,.forgejo/workflows/check-rust.ymlet.claude/skills/release/SKILL.md.Critères d'acceptation :
/pr-reviewsur une PR ouverte de simpl-resultat affiche le niveau et le fichier déclencheur :/pr-review 459lancée maintenant, première PR mesurée du pilote #458 ;REVIEW.md, la revue se déroule comme avant : la ligne injectée répondABSENT, le niveau vautnormal, et seule la ligneNiveau : normal (pas de REVIEW.md)s'ajoute en tête du verdict ;sprintne contient plus de copie de la checklist.#457 se ferme à la main quand le verdict de #459 montre la ligne de niveau. Restent hors de cette issue : un
/merge-stackqui attendrait la lecture de Max pour une PR de niveau haut (à juger pendant le pilote), et les suites #461 et #462.Critères remplis, issue fermée à la main.
/pr-reviewsur une PR ouverte de simpl-resultat affiche le niveau et le fichier déclencheur : la revue de la PR #459 (commentaire 24757, faite avec les skills modifiés) ouvre surNiveau : haut — src-tauri/Cargo.toml et src-tauri/Cargo.lock (Dépendances), .forgejo/workflows/check-rust.yml (CI et gardes : étape de verdict modifiée), .claude/skills/release/SKILL.md (Release et mise à jour). Elle applique la profondeur du niveau haut : quatre mutations du canari, une section « Passe sécurité » et un verdict REQUEST_CHANGES sur un constat que la revue normale n'avait pas cherché.REVIEW.md, comportement d'avant : la ligne injectée répondABSENTsur agent-defenseurs (master) et roadtrip (main) ; niveaunormal, revue inchangée hormis la ligne de niveau en tête.sprintsans copie de la checklist : aucune des anciennes lignes ne reste (grep).Rouvrir si une
/pr-reviewsur simpl-resultat rend un verdict sans ligne de niveau, ou sisprintrecopie de nouveau une checklist. Le pilote #458 commence avec #459 comme première PR mesurée.