Skip to content

Fix(ci): merge_ready saute les PRs approuvées UNSTABLE dont tous les checks sont verts (latest-wins) -- 13/15 bloquées #25059

Open

Description

@myia-ai-01

Constat (mesuré le 2026-11-07 13:20Z)

Depuis #24854, scripts/coordination/merge_ready.py merge sans dossier toute PR hors harnais approuvée par myia-ai-01 à la tête exacte. Mais son étape 6 n'accepte que mergeable_state == "clean".

Au tir de 12:40-12:58Z, 13 des 15 PRs approuvées à la tête sont sautées avec mergeable-state:unstable : #24116, #24150, #24593, #24759, #24826, #24831, #24844, #24935, #24952, #24957, #24962, plus #24566 et #24774 (blocked). Toutes ont déjà passé les contrôles précédents, y compris les tests d'intégrité sur l'arbre fusionné (étape 5quinquies).

Cas lu à la source sur #24116 (tête 520ff1796c) :

  • python scripts/check_run_state.py --pr 24116 : 115 jambes, 98 noms, latest-wins vert partout ;
  • les jambes non vertes sont des jobs cancelled de runs remplacés (run 42252575352 annulé, puis run 42252736187 vert pour les mêmes noms) et des skipped (Build Quarto site, Deploy to GitHub Pages, Gitleaks secret scanner (fork)) ;
  • le prédicat de la chaîne v9 .tmp/coord-tools/unstable_ok.py (local à ai-01) rend ok, rc=0.

C'est la régression décrite le 24/10 : « 24/76 approuvées dormaient UNSTABLE sans un seul vrai rouge ». La chaîne v9 avait corrigé ce point, mais l'organe qui l'a remplacée ne l'a pas repris.

Attendu

À l'étape 6, unstable est accepté si et seulement si, à la tête exacte :

  1. la dernière jambe du PR gate est terminée et success ;
  2. chaque nom de check non advisory a au moins une jambe terminée ;
  3. la dernière jambe terminée de chaque nom non advisory est success, neutral ou skipped. Le pli se fait par nom, sur le dernier started_at, avec le fold canonique pr_gate.py::dedupe_latest : pas de seconde implémentation (règle organ-first). Un nom est advisory si advisory|non-blocking figure dans son titre.

Tout le reste ne change pas : Q131, B.0, arbre fusionné, --match-head-commit, aucun --admin. blocked et dirty restent des sauts. Le verdict journalisé distingue unstable-accepted:<n advisory/cancelled-superseded> de mergeable-state:unstable:<nom rouge>.

Acceptance

  • Tests unitaires : (a) UNSTABLE + latest-wins vert : accepté ; (b) UNSTABLE + une jambe non advisory failure en dernier : sauté, avec son nom ; (c) UNSTABLE + seul un advisory rouge : accepté ; (d) une jambe in_progress non advisory sans jambe terminée verte : sauté.
  • Dry-run python scripts/coordination/merge_ready.py --json posté sur cette issue : les PRs listées ci-dessus passent would-merge (ou un saut nommé par check).
  • Lane : myia-ai-01:CoursIA-2, au dispatch du coordinateur.

Activity

  1. myia-ai-01 commented on Nov 7, 2026

    @myia-ai-01
    CollaboratorAuthor

    [CLAIMED] lane myia-ai-01:CoursIA-2 -- merge_ready accepte UNSTABLE quand latest-wins vert (pose au dispatch par le coordinateur) -- paths: scripts/coordination/merge_ready.py, tests/**/test_merge_ready*.py

  2. jsboige commented on Nov 7, 2026

    @jsboige
    Owner

    [DELIVERED] lane myia-ai-01:CoursIA-2 -- PR #25069 -- paths: scripts/coordination/merge_ready.py, scripts/tests/test_merge_ready.py -- 2026-11-07T14:36Z

  3. added a commit that references this issue on Nov 7, 2026
  4. jsboige commented on Nov 7, 2026

    @jsboige
    Owner

    [ACTION] Etat mesure de l'organe de merge (scripts/coordination/merge_ready.py --json) — simulation (apply = false), poste comme preuve sur l'issue.

    • apply = False · exit_code = 0 · stopped_reason = None
    • PRs ouvertes scannees : 166 · plafond de merges de l'organe : --max 15
    • merges effectues : 0
    verdict / raison PRs
    skipped / no-coordinator-approval 125
    skipped / mergeable-state:unknown 6
    skipped / grain-tier-unparsable 4
    skipped / mergeable-state:blocked 4
    would-merge / unstable-accepted:28 advisory/cancelled-superseded 4
    skipped / coordinator-approval-stale 4
    would-merge / unstable-accepted:29 advisory/cancelled-superseded 2
    skipped / draft 1
    would-merge / unstable-accepted:40 advisory/cancelled-superseded 1
    would-merge / unstable-accepted:2 advisory/cancelled-superseded 1
    would-merge / unstable-accepted:5 advisory/cancelled-superseded 1
    skipped / scope:CLAUDE.md:CLAUDE.md 1
    skipped / twin-collision-unreadable:open-claims 1
    skipped / scope:.github:.github/workflows/svg-empty-display-gate.yml 1
    would-merge / unstable-accepted:4 advisory/cancelled-superseded 1
    skipped / b0-organ-blocked 1
    skipped / scope:.github:.github/workflows/corroboration-python-nu.yml 1
    would-merge / unstable-accepted:24 advisory/cancelled-superseded 1
    skipped / scope:.github:.github/workflows/always-on-guards-body.yml 1
    skipped / scope:.github:.github/workflows/arxiv-attributions-guard.yml 1
    skipped / scope:.github:.github/workflows/quarto-pages-deploy.yml 1
    skipped / scope:.github:.github/workflows/main-red-legibility.yml 1
    skipped / scope:.claude:.claude/rules/student-pr-reviews.md 1
    skipped / scope:.github:.github/workflows/lean-derived-pages-gate.yml 1

    Detail par PR

    PR head verdict raison review stack merged
    #21413 804abbbe7287 skipped no-coordinator-approval review-ready - False
    #21703 3f643ed247f7 skipped draft no-approval - False
    #22969 fa81c4fcda96 skipped grain-tier-unparsable no-approval - False
    #22991 2e3cca519e10 skipped grain-tier-unparsable no-approval - False
    #23506 344b205acdd6 skipped no-coordinator-approval review-ready - False
    #24116 520ff1796c0f would-merge unstable-accepted:40 advisory/cancelled-superseded approved-exact-head measured False
    #24150 1310a6c820f9 would-merge unstable-accepted:2 advisory/cancelled-superseded approved-exact-head measured False
    #24174 d2f257d771e5 skipped mergeable-state:unknown approved-exact-head measured False
    #24237 7871fe84e83b skipped mergeable-state:blocked approved-exact-head measured False
    #24261 7c10cd9fff82 skipped no-coordinator-approval review-ready - False
    #24335 646dc11b4d1b skipped no-coordinator-approval review-ready - False
    #24364 e3ba37378cb2 skipped no-coordinator-approval review-ready - False
    #24372 07b6a8312414 would-merge unstable-accepted:28 advisory/cancelled-superseded approved-exact-head measured False
    #24376 0d73f979f7ba skipped no-coordinator-approval review-ready - False
    #24377 46ab1f74fcfc skipped no-coordinator-approval review-ready - False
    #24445 90a437311877 skipped no-coordinator-approval review-ready - False
    #24454 e3c85eb46530 skipped no-coordinator-approval review-ready - False
    #24465 5460ec8892ce skipped no-coordinator-approval review-ready - False
    #24481 88dad47cf392 skipped coordinator-approval-stale review-ready - False
    #24482 fb5e170f1380 skipped no-coordinator-approval review-ready - False
    #24485 c7236b6a1a98 skipped no-coordinator-approval review-ready - False
    #24511 9fef17032c15 skipped no-coordinator-approval review-ready - False
    #24544 692303081bfb skipped no-coordinator-approval review-ready - False
    #24563 592b34669173 skipped no-coordinator-approval review-ready - False
    #24566 6881379e2867 skipped mergeable-state:blocked approved-exact-head measured False
    #24571 953eb5293763 skipped no-coordinator-approval review-ready - False
    #24577 9555a49b3984 skipped no-coordinator-approval review-ready - False
    #24578 d3f344e4ab59 skipped mergeable-state:unknown approved-exact-head measured False
    #24586 0f59cd8b3334 skipped no-coordinator-approval review-ready - False
    #24593 1c42526e756d would-merge unstable-accepted:5 advisory/cancelled-superseded approved-exact-head measured False
    #24608 a9130f349732 skipped scope:CLAUDE.md:CLAUDE.md no-approval - False
    #24626 a46b89719891 skipped coordinator-approval-stale review-ready - False
    #24627 5fdd1b7add53 skipped no-coordinator-approval review-ready - False
    #24630 604e6616c791 skipped no-coordinator-approval review-ready - False
    #24631 5145514df614 skipped no-coordinator-approval review-ready - False
    #24645 1cfd709022b4 skipped no-coordinator-approval review-ready - False
    #24646 a3ca8e42e5e9 skipped no-coordinator-approval review-ready - False
    #24649 ec19d15e6889 skipped no-coordinator-approval review-ready - False
    #24650 5627fb5b95ed skipped no-coordinator-approval review-ready - False
    #24651 20883c4ff3c3 skipped no-coordinator-approval review-ready - False
    #24653 f46b3321c644 skipped no-coordinator-approval review-ready - False
    #24665 746af91f9d98 skipped no-coordinator-approval review-ready - False
    #24701 ce7c3d760a4a skipped no-coordinator-approval review-ready - False
    #24705 1572308cc2c2 skipped mergeable-state:unknown approved-exact-head measured False
    #24709 bc0def1595d4 skipped mergeable-state:unknown approved-exact-head measured False
    #24734 6d45ff45ee40 skipped no-coordinator-approval review-ready - False
    #24738 9000f0c651c1 skipped no-coordinator-approval review-ready - False
    #24743 8e2ddae1dd00 skipped no-coordinator-approval review-ready - False
    #24745 b4ce9f0af096 skipped no-coordinator-approval review-ready - False
    #24748 26457a7917bd skipped no-coordinator-approval review-ready - False
    #24751 20997ae281d1 skipped no-coordinator-approval review-ready - False
    #24759 576d754cb935 skipped twin-collision-unreadable:open-claims approved-exact-head measured False
    #24773 0f6a2164c65c skipped no-coordinator-approval review-ready - False
    #24774 9386d5748174 skipped mergeable-state:blocked approved-exact-head measured False
    #24778 afd07fd48529 skipped scope:.github:.github/workflows/svg-empty-display-gate.yml approval-not-on-head - False
    #24781 649e42e5e12f skipped no-coordinator-approval review-ready - False
    #24808 e54ef9c81a08 skipped no-coordinator-approval review-ready - False
    #24810 e7cc24949c0f skipped no-coordinator-approval review-ready - False
    #24812 5f00cc3dbea4 skipped no-coordinator-approval review-ready - False
    #24814 07b7ac90702c skipped no-coordinator-approval review-ready - False
    #24822 8dd52be5408f skipped no-coordinator-approval review-ready - False
    #24826 1309f58d1388 would-merge unstable-accepted:4 advisory/cancelled-superseded approved-exact-head measured False
    #24829 78c805674bc2 skipped no-coordinator-approval review-ready - False
    #24831 a710fa78883f would-merge unstable-accepted:28 advisory/cancelled-superseded approved-exact-head measured False
    #24843 a2b8659c0161 skipped no-coordinator-approval review-ready - False
    #24844 2d11e826d359 would-merge unstable-accepted:28 advisory/cancelled-superseded approved-exact-head measured False
    #24869 11eeded3ca93 skipped no-coordinator-approval review-ready - False
    #24870 ffe87781eac7 skipped no-coordinator-approval review-ready - False
    #24871 92ba5f1f21d8 skipped coordinator-approval-stale review-ready - False
    #24880 0f9c947df0ac skipped no-coordinator-approval review-ready - False
    #24882 2aa140d1ab93 skipped mergeable-state:unknown approved-exact-head measured False
    #24894 12af74177002 skipped no-coordinator-approval review-ready - False
    #24896 27fe060eab7b skipped no-coordinator-approval review-ready - False
    #24899 36f21e244589 skipped no-coordinator-approval review-ready - False
    #24902 8aa6da1a4a39 skipped b0-organ-blocked approved-exact-head measured False
    #24918 b3c10120201e skipped no-coordinator-approval review-ready - False
    #24922 bf35cbe8eb63 skipped no-coordinator-approval review-ready - False
    #24924 f57973539d4d skipped no-coordinator-approval review-ready - False
    #24925 c21f526554b4 skipped no-coordinator-approval review-ready - False
    #24928 4a6b4b7998c6 skipped no-coordinator-approval review-ready - False
    #24930 c576f2b46b87 skipped no-coordinator-approval review-ready - False
    #24933 188fcf402ff5 skipped no-coordinator-approval review-ready - False
    #24935 594498e4af90 would-merge unstable-accepted:29 advisory/cancelled-superseded approved-exact-head measured False
    #24938 02ce37e7e120 skipped no-coordinator-approval review-ready - False
    #24939 b9b75f1fe30c skipped no-coordinator-approval review-ready - False
    #24950 87cdd726bb56 skipped scope:.github:.github/workflows/corroboration-python-nu.yml no-approval - False
    #24952 bfee6e9dc14c would-merge unstable-accepted:29 advisory/cancelled-superseded approved-exact-head measured False
    #24957 89faea68e5c2 would-merge unstable-accepted:28 advisory/cancelled-superseded approved-exact-head measured False
    #24958 4080607c4159 skipped coordinator-approval-stale review-ready - False
    #24962 02198cb0b952 would-merge unstable-accepted:24 advisory/cancelled-superseded approved-exact-head measured False
    #24964 8ae027bb6c7f skipped no-coordinator-approval review-ready - False
    #24976 2914856e2715 skipped no-coordinator-approval review-ready - False
    #24980 1c2efe47d5b0 skipped mergeable-state:blocked approved-exact-head measured False
    #24982 d8576c70caa4 skipped no-coordinator-approval review-ready - False
    #24983 27c879c1c483 skipped no-coordinator-approval review-ready - False
    #24985 fbbb346b135f skipped no-coordinator-approval review-ready - False
    #24987 677c30e0cba5 skipped grain-tier-unparsable no-approval - False
    #24990 03044669b785 skipped scope:.github:.github/workflows/always-on-guards-body.yml approved-exact-head - False
    #24991 83c3353c1d73 skipped no-coordinator-approval review-ready - False
    #24992 d42d334332da skipped no-coordinator-approval review-ready - False
    #25002 533d06a28ae6 skipped no-coordinator-approval review-ready - False
    #25003 b2a454a49ec8 skipped no-coordinator-approval review-ready - False
    #25008 04db44d81e8b skipped scope:.github:.github/workflows/arxiv-attributions-guard.yml approved-exact-head - False
    #25010 7850ad0aa4bf skipped no-coordinator-approval review-ready - False
    #25012 69f04ee52613 skipped no-coordinator-approval review-ready - False
    #25014 f53b28b2c80d skipped no-coordinator-approval review-ready - False
    #25015 e094f0db36c1 skipped no-coordinator-approval review-ready - False
    #25017 e0e244bfb009 skipped no-coordinator-approval review-ready - False
    #25019 fc61420598fb skipped no-coordinator-approval review-ready - False
    #25020 abce44b2474c skipped no-coordinator-approval review-ready - False
    #25021 8bb3eb20ac1d skipped scope:.github:.github/workflows/quarto-pages-deploy.yml no-approval - False
    #25022 c5ea1bb411e9 skipped no-coordinator-approval review-ready - False
    #25023 cff8265fb136 skipped no-coordinator-approval review-ready - False
    #25024 695df4a9fd81 skipped no-coordinator-approval review-ready - False
    #25025 8432d6580d1a skipped no-coordinator-approval review-ready - False
    #25026 54baaa83b617 skipped no-coordinator-approval review-ready - False
    #25027 85d16b38a205 skipped no-coordinator-approval review-ready - False
    #25028 839861fd1bee skipped no-coordinator-approval review-ready - False
    #25029 d21e229e0a6a skipped no-coordinator-approval review-ready - False
    #25030 a0056dfcd6aa skipped scope:.github:.github/workflows/main-red-legibility.yml no-approval - False
    #25031 b20cb4a08371 skipped no-coordinator-approval review-ready - False
    #25032 93191f0546ed skipped no-coordinator-approval review-ready - False
    #25033 3186001ffac9 skipped no-coordinator-approval review-ready - False
    #25034 047f072ab893 skipped no-coordinator-approval review-ready - False
    #25036 4774c5368ea0 skipped no-coordinator-approval review-ready - False
    #25037 1c8b5a48780b skipped no-coordinator-approval review-ready - False
    #25038 7564f80e174f skipped no-coordinator-approval review-ready - False
    #25039 f258512d6dfe skipped no-coordinator-approval review-ready - False
    #25040 917c52b1ca1c skipped no-coordinator-approval review-ready - False
    #25041 b24589567518 skipped no-coordinator-approval review-ready - False
    #25042 c85ba9069485 skipped no-coordinator-approval review-ready - False
    #25043 464a8c3a66b7 skipped no-coordinator-approval review-ready - False
    #25044 91b139e512c1 skipped no-coordinator-approval review-ready - False
    #25045 9834c781cd8f skipped no-coordinator-approval review-ready - False
    #25046 2dd253ef2de0 skipped no-coordinator-approval review-ready - False
    #25048 45b9cc114540 skipped no-coordinator-approval review-ready - False
    #25049 1251b936efbe skipped no-coordinator-approval review-ready - False
    #25050 103cb79982b1 skipped no-coordinator-approval review-ready - False
    #25051 b0a66b4c4d08 skipped no-coordinator-approval review-ready - False
    #25052 228664d4aacf skipped no-coordinator-approval review-ready - False
    #25053 3a1eb390ae21 skipped scope:.claude:.claude/rules/student-pr-reviews.md no-approval - False
    #25054 8e146d3326eb skipped no-coordinator-approval review-ready - False
    #25056 1fc563cde08d skipped no-coordinator-approval review-ready - False
    #25057 10eba42a7ea1 skipped no-coordinator-approval review-ready - False
    #25058 7a483fa3abb0 skipped no-coordinator-approval review-ready - False
    #25060 462365604f8c skipped no-coordinator-approval review-ready - False
    #25062 2bb0f17314e6 skipped no-coordinator-approval review-ready - False
    #25063 85513197e6e7 skipped no-coordinator-approval review-ready - False
    #25064 c187455a3c04 skipped no-coordinator-approval review-ready - False
    #25065 c3e3d6ab39da skipped no-coordinator-approval review-ready - False
    #25068 efce21bed625 skipped no-coordinator-approval review-ready - False
    #25069 60b68b95ca98 skipped mergeable-state:unknown approved-exact-head measured False
    #25070 f83e2d740b80 skipped no-coordinator-approval review-ready - False
    #25071 9befaeda4477 skipped no-coordinator-approval review-ready - False
    #25073 9c50ac69747f skipped no-coordinator-approval review-ready - False
    #25075 d1ad2d40ba5e skipped scope:.github:.github/workflows/lean-derived-pages-gate.yml approved-exact-head - False
    #25076 f6b5c7606e03 skipped no-coordinator-approval review-ready - False
    #25077 dfea7d729d7f skipped no-coordinator-approval review-ready - False
    #25079 44ce3e0bf75d skipped no-coordinator-approval review-ready - False
    #25080 09aa048d348e skipped no-coordinator-approval review-ready - False
    #25081 3945ce4d854c skipped no-coordinator-approval review-ready - False
    #25083 6f39c9430458 skipped grain-tier-unparsable no-approval - False
    #25084 9c2cf8123009 skipped no-coordinator-approval review-ready - False
    #25087 0f562efbc036 skipped no-coordinator-approval review-ready - False
    #25088 0bd709287bab skipped no-coordinator-approval review-ready - False
    #25089 261b24467d41 skipped no-coordinator-approval review-ready - False

    Source : sortie JSON de l'organe, generee le 2026-11-07T18:04:44Z.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions