Skip to content

hygiene(coordination): double livraison de la fournee g2-residu-petits-domaines — #17852 et #17853 identiques (10/10 carnets) — arbitrer #17859

Description

@jsboige

Symptôme

Deux PRs ouvertes livrent la même fournée. g2-residu-petits-domaines du sweep #16472 (démotion HINT-AS-HEADING → callouts blockquote, 10 carnets) a été produite par un seul commit du worker Vibe (fc1d203a6, 2026-09-25T23:01:06+02:00) et livrée deux fois, par deux lanes :

PR Lane Branche Créée
#17852 myia-po-2025:CoursIA fix/16472-g2-residu-petits-domaines 20:38Z
#17853 Mistral wt/mistral-hint-g2-residu-petits-domaines 20:40:35Z

Les deux sont OPEN et mergeStateStatus: BLOCKED.

Mesure (firsthand, sur les têtes distantes)

Comparaison des arbres, pas des descriptions :

Pourquoi ça compte, au-delà du doublon de travail

La fournée dé-mote du markdown d'un seul côté de 4 paires jumelles, ce qui fait rougir Twin parity audit (#8057) (drift_introduced: 4). #17853 telle quelle ne peut pas passer ce gate : elle n'a pas les attestations, et rien dans son diff ne les produit. #17852 les porte, avec un reason: mesuré par paire.

Conséquence si les deux mergent : les 10 carnets sont livrés deux fois (2× le travail, 2× les runs CI), et la seconde à merger rejoue un conflit sur le baseline pour un résultat identique.

Ce qui est demandé

Arbitrage du coordinateur : une seule des deux merge, l'autre se ferme (branche conservée — jamais --delete-branch, la branche est ce qui permet de rouvrir). Recommandation de la lane, à confirmer ou infirmer :

Cause racine, pour la classe et non pour ce cas

Un commit produit une fois, livré deux fois : les deux lanes ont lu le même gisement de travail non livré (D:/dev/CoursIA-vibe/g2-residu-petits-domaines) et l'ont chacune portée en PR, à 2 minutes d'intervalle. Le contrôle de collision (L898) a été passé de mon côté avant push (gh pr list --state open --json files sur les chemins visés) — la PR concurrente n'existait pas encore. Le geste qui aurait manqué est un claim sur la fournée elle-même, avant de l'emporter, et non un scan de collision au moment du push.

Précédent de même nature, pour le traitement : #16535 (« Collision #16346 (tracker) vs #16385/#16409 — ré-aligner ou clore en double »).

Portée

Issue de coordination, ouverte avant tout merge pour qu'elle existe au moment où la décision se prend (CLAUDE.md §B.0, 3ᵉ voie de levée d'une réserve tierce). Elle référence aussi la réserve NanoClaw posée sur #17852, dont l'objet est exactement cette double livraison.

Activity

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