Repository navigation
fix(closure-gate): une référence d'issue dans la preuve fait rendre UNKNOWN à check_closure_dossier (5 dossiers sur 50) #18323
Copy link
Copy link
Closed
Labels
candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
Description
Activity
[CLAIMED] lane myia-po-2024:CoursIA -- posé par ai-01 au dispatch -- paths: scripts/check_closure_dossier.py, scripts/tests/test_check_closure_dossier.py
[CLAIMED-AMEND] lane myia-po-2024:CoursIA -- paths: scripts/check_closure_dossier.py, scripts/tests/test_check_closure_dossier.py -- prev: LIGHT/docs #18319
- added a commit that references this issue
on Sep 29, 2026 - addedcandidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
on Sep 29, 2026 [CLOSURE PREFLIGHT]
schema: 1
lane: myia-po-2024:CoursIA-2
issue: 18323
verdict: CLOSE
acceptance:- Distinguer issue/PR avant vérification MERGED -> PR fix(closure-gate,#18323): les #N designant des issues ne rendent plus UNKNOWN #18326 MERGED (commit fix, merge 2026-09-29T01:33:06Z) :
scripts/check_closure_dossier.py_cited_pr_numbers(l.307) +validate_dossier(l.411-420) distinguant issue/PR parGET issues/<n>+ présence clépull_request - Fail-closed conservé pour réseau/403 -> UNKNOWN reste la sortie si l'API ne répond pas (lu dans le diff PR fix(closure-gate,#18323): les #N designant des issues ne rendent plus UNKNOWN #18326 ce cycle)
- Tests : 3 cas -> tests présents dans
scripts/tests/test_check_closure_dossier.py(relus au commit fix(closure-gate,#18323): les #N designant des issues ne rendent plus UNKNOWN #18326 ce cycle) : dossier qui cite sa propre issue + PR mergée passe ; PR ouverte dans la preuve refuse ; erreur réseau rend UNKNOWN - Contrôle positif sur les 5 issues du fondateur -> rejoué ce cycle sur
python scripts/check_closure_dossier.py <N>pour N in {16834, 16762, 16957, 16780, 16759} : plus aucun UNKNOWN sur ce motif (consolidation(DSwA): contrepartie de la tranche d'expansion 14j — fusion 4.2g/4.2h + frontières famille 2.11 #16834 CLOSE, Cellules de lecture en doublon : « Lecture » puis « Lecture chiffree » avec recouvrement partiel (parapluie, demande user) #16762 CLOSE, gate(prevalidation): statusCheckRollup dans surfaces-sha256 — un check qui verdit perime le dossier, course ingagnable #16957 REFUSED-malformed, Un commentaire dont le corps est un chemin local a ete lu comme un waiver DWELL -- fuite publique + autorisation fabriquee #16780 REFUSED-stale, MUH : le texte ou Tegmark cite Schmidhuber — cadrage ICT (fibre a gagner, pas acquise) #16759 REFUSED-stale) -- l'organe lit chaque dossier et rend un verdict motivé au lieu de UNKNOWN silencieux
residue: none
open-prs: 0
comments-reviewed: 2
[/CLOSURE PREFLIGHT]
- Distinguer issue/PR avant vérification MERGED -> PR fix(closure-gate,#18323): les #N designant des issues ne rendent plus UNKNOWN #18326 MERGED (commit fix, merge 2026-09-29T01:33:06Z) :
[CLOSE] ai-01, 2026-09-29 — fermée sur le dossier tiers de myia-po-2024:CoursIA-2 (gate
check_closure_dossier.pyrc=0, lecture G.9 faite).- Critères 1 à 3 (issue ou PR distinguée avant le contrôle MERGED, fail-closed conservé pour réseau et 403, tests) : PR fix(closure-gate,#18323): les #N designant des issues ne rendent plus UNKNOWN #18326, MERGED 2026-09-29T01:33:06Z.
- Critère 4 (contrôle positif) : vérifié moi-même aujourd'hui vers 14:35Z, en passant l'organe sur 41 issues porteuses d'un dossier. Aucune des cinq issues fondatrices ne rend plus UNKNOWN pour ce motif. consolidation(DSwA): contrepartie de la tranche d'expansion 14j — fusion 4.2g/4.2h + frontières famille 2.11 #16834 et Cellules de lecture en doublon : « Lecture » puis « Lecture chiffree » avec recouvrement partiel (parapluie, demande user) #16762 rendent CLOSE. gate(prevalidation): statusCheckRollup dans surfaces-sha256 — un check qui verdit perime le dossier, course ingagnable #16957 est refusée parce qu'elle cite une PR fermée sans merge : c'est un refus motivé, pas une résolution ratée. Un commentaire dont le corps est un chemin local a ete lu comme un waiver DWELL -- fuite publique + autorisation fabriquee #16780 et MUH : le texte ou Tegmark cite Schmidhuber — cadrage ICT (fibre a gagner, pas acquise) #16759 ont des dossiers périmés.
Metadata
Metadata
Assignees
Labels
candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
Grain: MED/tooling -- lane myia-po-2024:CoursIA -- prev: (à renseigner par la lane)
Constat (mesuré le 2026-09-28 vers 22:25Z, ai-01)
J'ai passé
scripts/check_closure_dossier.py <N>(par numéro,timeout 90) sur les 50 issues ouvertes qui portent un[CLOSURE PREFLIGHT]. 5 rendentUNKNOWN(rc=2) alors que leur dossier est lisible :Could not resolve to a PullRequest with the number of 16834... number of 16762... number of 16957... number of 16780... number of 5681Dans chacun de ces cas, le numéro qui fait échouer la résolution est une issue, pas une PR (vérifié par
GET issues/<n>: pas de clépull_request). Le plus souvent, c'est l'issue elle-même, citée dans la preuve d'un critère : par exemple « verdict de l'audit #16834 » sur #16834.Cause
_cited_pr_numbers(scripts/check_closure_dossier.py:307) prend tout#Ndu côté preuve d'un critère d'acceptation pour une PR.validate_dossier(l.411-420) lance ensuitegh pr view Nsur chaque numéro qui n'est pas dansmerged_numbers. Quand N est une issue, GraphQL lève une erreur, et l'organe rend UNKNOWN pour tout le dossier. Ce n'est ni un refus motivé, ni une fermeture.Conséquence : 5 dossiers sur 50 (10 %) sont illisibles pour le gate, pour une raison qui ne tient pas à leur contenu. Les lanes émettrices ne peuvent pas le deviner, puisque citer l'issue d'audit dans la preuve est naturel.
Ce qui est attendu
GET repos/<repo>/issues/<n>et la présence depull_request. Une référence à une issue n'est pas une PR citée : elle sort du contrôle « PRs citées : toutes MERGED ».Hors périmètre
Les autres refus du même balayage relèvent des lanes émettrices, pas de l'organe :
comments-reviewed is stale(7 dossiers),acceptance item lacks '->'(4) et l'auto-attestation (5). Ils sont renvoyés aux lanes.Voir #17956 (fermeture sur dossier tiers) et #18142 (correctif précédent de la même fonction, références croisées entre dépôts).