Le fait
Sur la PR #15925, prev_guard a rougi sur prev-abandoned -> [15832] alors que le trailer réel du body pointait #15924 (OPEN) : le numéro fautif venait d'un bloc de code fencé de reproduction, qui citait verbatim le trailer défectueux fondateur (prev: MED/lean #NNNN, PR #15832 CLOSED non-mergée).
Le masque de citations posé par #14780 couvre le backtick inline (\prev: ... #N`), pas le contenu des blocs fencés. find_prev_target_pr_numbersextrait donc les numéros cités dans un bloc de reproduction comme s'ils étaient des ciblesprev:` réelles.
Reproduction
- Rédiger un body PR dont un bloc fencé contient verbatim
prev: MED/lean #<PR-CLOSED-UNMERGED>, avec un trailer Grain réel valide ;
- Laisser tourner prev_guard → FAIL
prev-abandoned -> [<PR>] sur une cible qui n'est pas celle du trailer.
Contre-vérification locale (recette validée sur #15925) :
import sys; sys.path.insert(0, "scripts/ci")
import variation_prev_guard as vpg
vpg.find_prev_target_pr_numbers(body) # ne doit extraire QUE le trailer réel
Correctif demandé
Étendre le masque de citations de find_prev_target_pr_numbers (et/ou de check) au contenu des blocs fencés, symétriquement au backtick inline #14780 — une citation dans un bloc de reproduction n'est pas un claim de parenté.
Acceptance
Contexte
Le fait
Sur la PR #15925, prev_guard a rougi sur
prev-abandoned -> [15832]alors que le trailer réel du body pointait#15924(OPEN) : le numéro fautif venait d'un bloc de code fencé de reproduction, qui citait verbatim le trailer défectueux fondateur (prev: MED/lean #NNNN, PR #15832 CLOSED non-mergée).Le masque de citations posé par #14780 couvre le backtick inline (
\prev: ... #N`), pas le contenu des blocs fencés.find_prev_target_pr_numbersextrait donc les numéros cités dans un bloc de reproduction comme s'ils étaient des ciblesprev:` réelles.Reproduction
prev: MED/lean #<PR-CLOSED-UNMERGED>, avec un trailer Grain réel valide ;prev-abandoned -> [<PR>]sur une cible qui n'est pas celle du trailer.Contre-vérification locale (recette validée sur #15925) :
Correctif demandé
Étendre le masque de citations de
find_prev_target_pr_numbers(et/ou decheck) au contenu des blocs fencés, symétriquement au backtick inline #14780 — une citation dans un bloc de reproduction n'est pas un claim de parenté.Acceptance
#NNNNCLOSED, trailer réel OPEN/MERGED).Contexte
#NNNN+ note honnête dans le body — contournement manuel, pas un fix).