Skip to content

fix(coordination): post_dossier refuse de refuter un dossier BLOCKED pose par une lane a l'arret #19420

Description

@myia-ai-01

Constat

scripts/coordination/post_dossier.py, garde n°6 (anti-double-stamp, l. 278-288), refuse tout dossier d'une lane tierce des que le gate rend 0 ou 3 avec un dossier intact d'une autre lane. Un re-stamp n'est licite que pour la lane qui a pose le dossier en place.

Le garde ne distingue pas deux cas :

  • rc 0 (READY intact) : un second tampon n'apporte rien et peut ouvrir une guerre de dossiers. Le refus est juste.
  • rc 3 (BLOCKED intact) : le motif atteste peut etre perime a la meme tete, par exemple des checks rouges devenus verts. Si la lane qui a pose le dossier BLOCKED est a l'arret, plus personne ne peut le refuter. La PR reste gelee indefiniment.

Mesure (06/10)

La lane adjointe myia-po-2025:CoursIA-2 est a l'arret. Elle a pose des dossiers BLOCKED (motif : checks) sur la pile Komlos #19070, #19078, #19081, #19084 et #19087. Sur #19070, les checks sont verts a la tete 6bcd4f3379. Le secretariat myia-po-2026:CoursIA-3 a tente un re-stamp tiers, avec et sans supersedes ; le poster le refuse : anti-double-stamp: gate rc 3 with an intact dossier by lane 'myia-po-2025:CoursIA-2'.

Le meme cycle, sur #19139 et #19145, le gate a accepte un dossier tiers READY qui portait supersedes: N et un supersedes-why mesure contre un dossier BLOCKED anterieur. Il n'a donc pas besoin d'etre change. Seul le poster bloque.

Correctif propose

Dans post_dossier.py, sur rc 3 seulement : accepter le dossier d'une lane tierce si et seulement si il porte supersedes pointant le dossier BLOCKED en place et un supersedes-why non vide. Le gate juge ensuite la refutation, comme il le fait deja pour la contradiction muette (#18934).

  • rc 0 : refus inchange.
  • rc 3 sans supersedes : refus inchange.
  • Aucun gate de merge n'est desserre : le dossier tiers doit toujours passer le gate a la tete exacte.

Acceptance

  1. Test : rc 3 + dossier tiers avec supersedes et supersedes-why -> POST autorise.
  2. Test : rc 3 + dossier tiers sans supersedes -> refus inchange.
  3. Test : rc 0 + dossier tiers (avec ou sans supersedes) -> refus inchange.
  4. Rejeu reel sur feat(lean,#17845): brique k2.1 -- algebre du pas de pullback (sans convexite) #19070 apres merge : le secretariat poste son dossier, le gate rend READY ou un BLOCKED motive.

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