États du cycle de vie
Missions, tâches et revues ont chacune leur machine à états. Comprendre ça prend ~2 minutes et économise beaucoup de « euh, c'est bloqué ou ça réfléchit ? » plus tard.
Toutes les missions suivent le même cycle de vie ; ce qui varie, c'est l'origine de leur plan. Aujourd'hui, la plupart des missions sont décomposées en tâches par le planificateur, et vous approuvez le plan avant que quoi que ce soit ne tourne — c'est le chemin que décrit cette page. De plus en plus, une mission porte un workflow comme plan : chaque exécution est un run sur sa propre branche ; vous acceptez le résultat d'un run — ou le laissez tel quel — et les runs acceptés s'empilent en changements réversibles qui composent le changement de la mission. Le chemin workflow-run devient le modèle d'exécution principal ; la décomposition par le planificateur reste disponible le temps de cette transition. Les issues d'un run sont dans la cheatsheet des états.
États de mission
Le chemin nominal se lit de gauche à droite : une mission est créée (Pending), se fait planifier (Planning — la décomposition en tâches, avec un arrêt en Decomposed pendant qu'ARDS attend votre approbation du plan proposé), s'exécute (InProgress), passe en PendingReview pendant que ses résultats vous attendent, et finit Completed — ou Failed si elle ne peut plus continuer. Cancelled est la sortie anticipée, et elle se propage aux tâches en cours. Une mission proposée depuis une conversation démarre un cran plus tôt encore, en AwaitingApproval : la proposition elle-même attend votre feu vert avant même que la mission n'entre en Pending.
Deux états se tiennent à côté de cette ligne plutôt que dessus :
- Paused est une mise en attente réversible. Le bouton Pause sur la page mission arrête le nouveau travail ; Reprendre remet la mission en InProgress. Rien n'est perdu pendant la pause.
- Completed, Failed et Cancelled sont terminaux — avec exactement une exception sanctionnée : démarrer un nouveau run sur une mission Completed la rouvre en InProgress. C'est la seule sortie de Completed.
Un changement d'état que la mission n'autorise pas est refusé, pas ignoré en silence : l'erreur vous donne l'état actuel de la mission et les transitions qu'elle accepte. Si une action rebondit en « invalid transition », lisez cette liste avant de réessayer — le même clic rebondira encore.
Le tableau complet des états (tous les états, terminal vs. réversible) vit dans la cheatsheet des états.
Vous pouvez agir sur une mission à tout moment :
- Annuler la mission apparaît tant que la mission n'est pas déjà Completed ou Cancelled.
- Pause / Reprendre suspendent et relâchent le travail.
- La re-planification passe par la décision de plan elle-même : au lieu d'approuver, choisissez Demander des modifications et la mission retourne en Planning pour une nouvelle décomposition. Rejeter annule entièrement la mission.
États de tâche
Une tâche est Pending pendant qu'elle attend un coder, InProgress pendant que le coder travaille, puis Completed (le résultat atterrit sur le miroir de revue), Failed (la page tâche affiche les logs et le dernier message du modèle), ou Cancelled. Quelques tâches marquent plutôt une pause dans des états spéciaux — le coder peut épuiser son budget de tours, ou attendre la fin d'une fenêtre de quota fournisseur. C'est couvert dans Dépannage, et le tableau complet est dans la cheatsheet des états.
Avoir besoin de vous n'est pas un état de tâche. Quand une tâche veut un humain — une approbation, une réponse, un choix de direction — ce besoin apparaît comme un élément en attente sur la page Decisions. Une décision en attente n'est pas un échec ; c'est un « à vous » poli, et le travail attend votre réponse.
États de revue
Les revues existent par tâche. Chaque revue représente un lot de changements poussé sur le miroir.
| État | Sens |
|---|---|
| Pending | Commit miroir prêt ; personne n'a regardé. |
| In review | La revue est ouverte ; le diff est en lecture. |
| Approved | Vous avez approuvé. ARDS poussera (ou a déjà poussé) vers votre dépôt d'origine. |
| Rejected | Vous avez décliné le travail. La branche reste sur le miroir mais n'atteint jamais l'origine. |
| Cancelled | La revue a été retirée sans verdict ; rien n'atterrit. |
Une revue encore Pending ou In review offre exactement deux boutons — Approuver et Rejeter. Rejeter demande une confirmation et accepte un commentaire optionnel.
Si un constat vient du Review Engine (le revueur automatique — voir Review Engine), chaque constat individuel porte son propre statut : Open, Investigating, Resolved, Dismissed, Deferred.
Le chemin d'un run
Quand une mission exécute un workflow, chaque exécution est un run avec sa propre petite machine à états :
| État | Sens |
|---|---|
| Proposed | Le run est en cours ou terminé ; le résultat n'est pas encore jugé. Rien n'atterrit tant que vous n'avez pas décidé. |
| Accepted | Vous avez accepté le run. Ses changements atterrissent sur la branche de la mission sous forme d'un changement réversible. |
| Rejected | Le run a été décliné — y compris les propositions rejetées automatiquement quand vous acceptez un run concurrent. Rien n'a atterri ; il n'y a rien à annuler. |
Quand un run attend à une gate, la gate met en pause les tâches du run, et la mission affiche PendingOperatorDecision jusqu'à votre décision. Les issues d'un run sont dans la cheatsheet des états ; la boucle complète d'acceptation est dans Runs, acceptation et changements.
Quand un état vous surprend
- Bloqué en Decomposing depuis plus de ~2 minutes → rafraîchissez la page ; le planificateur a parfois besoin que la page soit ouverte pour les mises à jour SignalR. Si toujours bloqué, voir Dépannage.
- Une tâche semble vous attendre → ouvrez la page Decisions ; la carte de l'élément en attente dit ce qui manque.
- Mission marquée Failed sans cause évidente → le résumé d'échec en haut de la page mission remonte l'erreur de la première tâche défaillante. Cliquez sur cette tâche pour le log complet.