You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
hygiene(coordination): double livraison de la fournee g2-residu-petits-domaines — #17852 et #17853 identiques (10/10 carnets) — arbitrer #17859
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 :
10 carnets communs aux deux diffs → 10 identiques, 0 différents (comparaison des blob SHA git rev-parse <ref>:<path>, pas d'une similarité de texte).
scripts/notebook_tools/md_hierarchy_baseline.json : sémantiquement égal entre les deux (mêmes clés, mêmes valeurs) — une seule clé diffère, generated_at, le tampon de génération.
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 :
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.
Symptôme
Deux PRs ouvertes livrent la même fournée.
g2-residu-petits-domainesdu sweep #16472 (démotionHINT-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 :myia-po-2025:CoursIAfix/16472-g2-residu-petits-domaineswt/mistral-hint-g2-residu-petits-domainesLes deux sont OPEN et
mergeStateStatus: BLOCKED.Mesure (firsthand, sur les têtes distantes)
Comparaison des arbres, pas des descriptions :
git rev-parse <ref>:<path>, pas d'une similarité de texte).scripts/notebook_tools/md_hierarchy_baseline.json: sémantiquement égal entre les deux (mêmes clés, mêmes valeurs) — une seule clé diffère,generated_at, le tampon de génération.twin_pairs.d/{planners-6-domains,probas-4-bayesian-networks,search-01-statespace,z3-python-03-tactics}/00NN-2026-09-25-myia-po-2025-CoursIA.yaml) que fix(sweep,#16472): fournee g2-residu — HINT-AS-HEADING a 0 sur 10 notebooks + rebaseline #17853 ne porte pas.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 unreason: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 :Twin parity audit. Elle porte aussi le tagGrain:(MED/docs — lane myia-po-2025:CoursIA).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 filessur 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.