REVIEW.md : principes à la place des listes, conditions du script de calibration (suivis de la seconde revue de #460) #462
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#462
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?
Suivis non bloquants de la seconde revue de la PR #460 (commentaire 24635), mergée le 2026-10-18 (
24da72b). La revue recommandait de merger plutôt qu'un troisième tour, et de confier ces points au pilote #458 : chaque passe trouvait un membre de plus des mêmes listes. Lignes citées :REVIEW.mdsur24da72b.1. Locks : liste blanche de la forme canonique (
REVIEW.md:36)Vérifier l'hôte laisse normale une montée de version dont le
resolveddésigne l'archive d'un autre paquet sur le même hôte (registry.npmjs.org/evil-foo/-/evil-foo-1.2.4.tgzsous la clénode_modules/foo). Les 252resolveddu lock npm ont la formehttps://registry.npmjs.org/<nom de la clé>/-/<nom court>-<version>.tgz, et les 665sourcedeCargo.lockdésignent l'index crates.io. Proposé : « unesourceautre que l'index crates.io, unresolvedhors de la forme canonique de sa clé et de sa version, ou unchecksumou unintegritychangés sans nouvelle version ». Aucune des 51 PR de la calibration ne change de niveau.2. Consentements : l'app en a deux (
REVIEW.md:29et:85)openFeedbackdesrc/components/settings/LogViewerCard.tsx:20-33(localStorage,FeedbackConsentDialog.tsx), seul chemin versFeedbackDialog.prices.fetchPrice: un nouvel appelant hors dePriceFetchControlcontourne le consentement sans toucher aux fichiers nommés.PriceFetchConsentToggle.tsxaccorde et retire le consentement ; seulPriceFetchControl.tsxle vérifie.3. Deux énumérations à remplacer par leur principe
REVIEW.md:126) : tout ce qui s'exécute dans le jobbuild-and-releaseatteint la clé, dont Node.js, installé par le script NodeSource sans archive épinglée (release.yml:19-25), etactions/checkout@v4, une étiquette mobile.identifier(REVIEW.md:101) : changer l'identifierorpheline tout ce que l'app range sousapp_config_dir()etapp_data_dir(), dontprofiles.json(liste des profils etpin_hash,profile_commands.rs:13-35) et tout le dossierauth/..claude/settings.jsonou.mcp.jsonfait exécuter (script d'un hook, commande d'un serveur MCP) porte leur risque, mais reste normal sous.claude/**.4. Le script de calibration approche les conditions : le dire
Six sondes de la revue s'écartent du texte, sans déplacer aucune des 51 PR :
env:ajouté au niveau du workflow, ou au niveau du job avantruns-on:, sort normal ;run:ajoutée qui supprime ou édite un fichier du dépôt (rm,sed -i) sort normale ;lib.rsousrc-tauri/Cargo.tomlsort normale, alors que le texte ne les exempte pas.À faire :
scripts/review-levels.pydit que le script n'approche les conditions qu'en partie, et que le niveau d'une PR se lit dansREVIEW.md, jamais dans sa sortie (ni #457 ni #458 ne l'utilisent sur une PR ouverte) ;--checkne compare que les motifs, pas les conditions : l'écrire dansREVIEW.md, les conditions restant à la revue de niveau haut.Critères d'acceptation
REVIEW.mdetscripts/review-levels.py, ou écartés avec une raison écrite ici.python3 scripts/review-levels.py --checkpasse, et la calibration rejouée garde 3/28/8 sur les 39 PR, 6/33/12 sur les 51, ou l'écart est justifié.Ajout au périmètre, jugement de Max du 2026-10-18 dans le pilote #458 (tableau, commentaire 24819) : la PR #450 est sortie haute par le seul motif
.claude/skills/release/**, alors qu'elle n'ajoute qu'une instruction à l'étape 0 du skill. Max juge ce niveau trop haut.À faire dans la même modification de « Niveaux » : restreindre la ligne Release du tableau Haut à
.claude/skills/release/scripts/**(verify-release.sh, le code qui contrôle la release publiée).SKILL.mdreste au niveau normal, et ne descend jamais au niveau bas (.claude/**). Mettrescripts/review-levels.pyà jour dans le même diff, puis rejouer la calibration : #414, #416 et #418 restent hautes parrelease.yml, aucune PR des 51 ne change de niveau.