Automatisation
L’automatisation décide de ce que l’agent peut faire seul : ouvrir les PR, surveiller les commentaires, et — l’action la plus sensible — fusionner, mais uniquement dans les limites de la politique que vous définissez. Par défaut, aucune fusion automatique n’est autorisée : c’est vous qui fusionnez.
Où se règlent ces valeurs
La politique de merge appartient au dépôt, pas au projet ni au workflow : ciCheckName nomme un check d’un dépôt précis, et un projet qui héberge une API et un site de docs veut deux réponses différentes. Le reste — la boucle de surveillance, la file de travail — appartient au projet.
| Réglage | Où le régler | Ce que ça contrôle |
|---|---|---|
autoMergeMode | Réglages du projet → Repositories → crayon du dépôt | Quand une PR ouverte sur ce dépôt peut fusionner. |
autoCreatePr | Réglages du projet → Repositories → crayon du dépôt | Si l’agent ouvre lui-même la PR quand une task est prête pour la revue. Activé d’office dès que autoMergeMode n’est pas none : un auto-merge qu’aucune PR n’atteint ne se déclenche jamais. |
ciCheckName | Réglages du projet → Repositories → crayon du dépôt | Le check CI de ce dépôt qui doit être vert. Vide = tous les checks de la PR. |
watch.comments | Réglages du projet → Automation | Si l’agent relit les commentaires de tasks et requests et y donne suite. |
watch.pollHint | Réglages du projet → Automation | À quelle fréquence la boucle de surveillance repasse. |
Un agent lit la politique de merge avec list_repositories, et la boucle de surveillance avec get_project. Ce n’est plus get_workflow : un workflow est une machine à états, et rien d’autre.
La porte de merge
L’auto-merge est le levier le plus tranchant ici : il est donc appliqué de façon déterministe, dans les deux sens. Un merge qui viole autoMergeMode est bloqué à la source — l’agent ne peut pas s’en défaire par la parole. Et une PR laissée ouverte alors que le mode demandait de la fusionner bloque la fin de son tour.
Régler autre chose que none, c’est donner une autorisation permanente : dès que la barrière du mode est satisfaite, l’agent fusionne sans redemander. Il n’a jamais à poser la question « dois-je fusionner ? ».
Si la barrière ne tient pas — CI rouge, check absent — il ne fusionne pas et vous dit pourquoi dans le même tour. Rendre la main en silence n’est pas une issue : le hook Stop la refuse.
| Mode | Badge sur la ligne du dépôt | Quand l’agent fusionne |
|---|---|---|
none | You merge | Jamais. L’agent ouvre la PR, la pilote, et s’arrête à la porte. |
ci_green | Auto-merge · CI green | Quand le check CI du dépôt est constaté vert. Le badge nomme le check quand ciCheckName est réglé. |
local_ci_green | Auto-merge · local CI | Quand la CI que l’agent a lancée en local passe — utile quand la CI distante est indisponible. La barrière ne tient que sur la parole de l’agent, qui l’atteste par un artefact ci constaté. |
without_ci | Auto-merge · no CI | Dès que la PR est mergeable, sans aucune barrière CI. |
La liste des dépôts affiche ce badge sur chaque ligne : la politique se lit sans ouvrir le formulaire. Un dépôt sans politique enregistrée affiche You merge — c’est la valeur que l’API sert par défaut.
Avec autoMergeMode: none, l’agent ouvre et pilote la PR mais s’arrête à la porte. Le propriétaire clique sur fusionner. C’est le défaut sûr pour tout ce qui touche à la production.
La boucle de surveillance
Quand watch.comments est actif, l’agent tourne en boucle : il relit les commentaires de ses tasks, agit sur tout ce qui lui est adressé, et revérifie si les PR ouvertes sont éligibles au merge selon la politique de leur dépôt.
Des hooks locaux bloquent la fin du tour tant qu’une branche créée ou une PR ouverte n’est pas encore reflétée dans CodBoard — le board ne dérive jamais de ce qui s’est réellement passé.