
D'un mail à une demande de fusion : l'étiquette go
Les idées arrivent n'importe où : en marchant, dans une salle d'attente. Vous vous envoyez un mail. Le lendemain matin, c'est une issue sur votre forge, bien rédigée, étiquetée, qui attend. Vous la lisez, vous posez l'étiquette go depuis votre téléphone, et un agent fait le travail. Vous lisez la demande de fusion et vous fusionnez.
Ce que vous y gagnez. Une file de travail alimentée par votre boîte mail et vidée par des agents locaux, avec un seul geste humain au milieu. Chaque issue se suit elle-même jusqu'au bout : demande de fusion liée, issue fermée à la fusion, un signal « besoin d'un humain » quand quelque chose échoue.
1. Le mail devient une issue, et attend
- Vous écrivez à un alias d'adresse réservé à ça (
vous+forge@…), objet[dépôt] ce que vous voulez. - Une automatisation lit la boîte, et un modèle local rédige l'issue : un titre clair, un corps, un type (bug, fonctionnalité, doc, tâche).
- L'issue reçoit l'étiquette triage : elle veut dire en attente de vous. Aucun agent n'y touche.
2. Une étiquette lance le travail
Seule une issue étiquetée go est du travail. Un petit ouvrier passe toutes les cinq minutes, prend une issue, et seulement si un modèle est réellement chargé sur une carte :
- il l'étiquette en cours et retire go ;
- il confie le titre et le corps à l'agent de code, qui ouvre une demande de fusion ;
- il commente l'identifiant du run sur l'issue.
Chaque passage suivant suit le run : demande de fusion liée, issue fermée quand elle fusionne, étiquette needs-human et un commentaire quand le run ou la demande de fusion échoue. Une tâche trop large pour l'agent reçoit needs-split.
La règle qui rend le tout sûr : aucun code ne pose jamais l'étiquette go. Seul votre compte, depuis votre téléphone ou la forge, le peut. Un test vérifie qu'aucun script du dépôt ne la pose.
3. Écrire la tâche pour un petit modèle
- Donnez à l'agent le texte, pas le numéro de l'issue : à qui l'on disait « #4 », un modèle de 9B a lancé 208 fois la même recherche dans l'historique.
- Quatre livrables au plus, une liste fermée de fichiers, et un test qui exécute ce qui a été écrit.
- Lisez la demande de fusion avant de fusionner : les changements courts reviennent propres, les longs cassent.
Pièges
La recherche d'issues de notre forge ignorait un filtre d'étiquette quand aucun dépôt ne portait encore cette étiquette, et renvoyait tout. Revérifiez vous-même l'étiquette de chaque résultat avant d'agir.
Ne lancez pas l'ouvrier quand aucun modèle n'est chargé : un run sur une carte vide échoue au bout de plusieurs minutes et encombre l'issue. Interrogez la grille GPU d'abord.
Utile ? Dites-nous ce qu'il faut mesurer ensuite.