Skip to content

Registre des évolutions ​

Le registre garde tout ce qui mérite d'être retenu sans être traité tout de suite : un défaut croisé en passant, une idée, une amélioration, une découverte. Vous venez ici pour que l'agent note ces choses, les trie, puis décide avec vous de leur sort.

Ce que vous demandez à l'agent ​

💬 Vous demandez à l’agent

« Note une anomalie : l'export plante quand le nom contient une apostrophe. »

→ L’agent appelleeffortless_evolution_add
  • type = Anomalie
  • title = L’export plante quand le nom contient une apostrophe
💬 Vous demandez à l’agent

« Ajoute une idée d'amélioration : un mode sombre pour l'écran Release. »

→ L’agent appelleeffortless_evolution_add
  • type = Amélioration
  • title = Mode sombre pour l’écran Release
💬 Vous demandez à l’agent

« Passe l'évolution EVO-041 en criticité 1 et priorité 2. »

→ L’agent appelleeffortless_evolution_edit
  • evo_id = EVO-041
  • criticality = 1
  • priority = 2
💬 Vous demandez à l’agent

« Par quoi je reprends ? Montre-moi la file. »

→ L’agent appelleeffortless_evolution_queue
💬 Vous demandez à l’agent

« Transforme l'évolution EVO-041 en épic dans la zone Données. »

→ L’agent appelleeffortless_evolution_graduate
  • evo_id = EVO-041
  • zone = Données
💬 Vous demandez à l’agent

« L'évolution EVO-041 est traitée : résous-la, c'est réglé par le correctif de l'export. »

→ L’agent appelleeffortless_evolution_resolve
  • evo_id = EVO-041
  • note = Réglé par le correctif de l’export
💬 Vous demandez à l’agent

« Retire EVO-041, on ne le fera pas : le client a changé d'avis. »

→ L’agent appelleeffortless_evolution_retire
  • evo_id = EVO-041
  • reason = Le client a changé d’avis
💬 Vous demandez à l’agent

« EVO-041 ne peut démarrer qu'après la clôture de l'épic 12. »

→ L’agent appelleeffortless_evolution_depends_on
  • evo_id = EVO-041
  • target = 12

Ce que fait l'agent ​

Noter une évolution ​

effortless_evolution_add consigne l'entrée. Le type est l'un de cinq marqueurs : Découverte, Fonctionnalité, Amélioration, Anomalie ou Test. L'agent passe aussi le title, et si besoin :

  • detail : le texte complet ;
  • reporter : qui rapporte l'entrée ;
  • criticality et priority : des entiers de 1 à 3, 1 étant le plus urgent. Sans eux, l'entrée reste non classée ;
  • status : Planifié par défaut. Pour un type donné (hors Anomalie), si le quota d'entrées actives est atteint, l'entrée est posée En Attente ;
  • born_marker : un fragment de texte stable qui nomme le défaut dans le code suivi par git. Pendant un chantier, le moteur vérifie alors si le défaut existait avant la story. S'il est né de ce travail, l'entrée est refusée : on le corrige dans le chantier.

La réponse porte une implication : des verbes suggérés. L'agent ne les déclenche jamais tout seul.

Lire et trier ​

  1. effortless_evolution_list : lecture seule. Filtres facultatifs : status (Planifié, En cours, En Attente, Résolu, Retiré), query (recherche sans tenir compte de la casse dans l'identifiant, le titre et le détail) et form (full ou compact).
  2. effortless_evolution_queue : lecture seule. La file des entrées actives, déjà triées par le moteur : d'abord celles dont la dépendance n'attend plus, puis criticité, priorité, ancienneté, identifiant. Elle répond à « par quoi reprendre ». limit borne la fenêtre (25 par défaut, 200 au plus) ; le total est rendu à côté.

Qualifier ​

  1. effortless_evolution_edit : corrige criticality, priority et detail. L'ancien texte du détail est conservé, jamais écrasé. Marche aussi sur une entrée déjà résolue ou retirée. Ne touche ni au titre, ni au statut, ni au type.
  2. effortless_evolution_requalify : fait passer une entrée de Anomalie à Amélioration, ou l'inverse, et rien d'autre. L'identifiant ne change pas.
  3. effortless_evolution_set_ready : pose ou lève le drapeau « prête à être promue » (ready).

Ordonner par dépendance ​

effortless_evolution_depends_on déclare qu'une évolution (evo_id) attend la clôture d'une autre évolution ou d'un épic (target). Elle passe derrière dans la file tant que la cible n'est pas close, sans être retirée ni décomptée. Sans target, la dépendance est levée.

Promouvoir en épic ​

effortless_evolution_graduate rattache l'évolution à un épic existant (epic_id) ou en crée un et l'active à partir d'une zone (avec title et description facultatifs). Il ne crée aucune story : c'est l'étape suivante (Piloter le travail).

Clore sans passer par un épic ​

  1. effortless_evolution_resolve : résout l'évolution. La note, qui dit ce qui l'a réglée, est obligatoire.
  2. effortless_evolution_retire : l'écarte explicitement (statut Retiré). Le reason est obligatoire. Marche même sur une évolution déjà promue en épic ; ne pose jamais Résolu.

Mettre à niveau un ancien registre ​

Deux verbes servent une seule fois, sur un registre hérité d'une version antérieure. Ils sont rejouables sans effet de bord.

  1. effortless_evolution_migrate_markers : convertit l'ancien champ type (finding, besoin, amélioration, refonte, chantier) vers l'un des cinq marqueurs. Aucun identifiant ne change.
  2. effortless_evolution_migrate_levels : convertit en entiers les niveaux écrits à la main. Sa réponse nomme chaque valeur qu'il n'a pas su convertir.

Ce que vous obtenez ​

  • Le registre dans l'écran Backlog, racine Registre, onglet Registre des évolutions : identifiant, Type, titre, État, Criticité, Priorité, avec la recherche et les filtres Marqueur et Masquer Résolu/Retiré.
  • Le même registre rendu en Markdown dans blueprints/4-Evolutions.md.
  • Une évolution promue devient un épic visible dans le Backlog, sous Projet.
  • À la clôture d'un épic, les évolutions qu'il laisse En cours sont nommées : elles ne se résolvent pas toutes seules.

Quand l'agent est refusé ​

SituationCe que dit le refusCe qu'il faut faire
Marqueur de type hors des cinqcadrage:markerInvalidPasser Découverte, Fonctionnalité, Amélioration, Anomalie ou Test.
status hors nomenclaturecadrage:statusInvalidPasser Planifié, En cours, En Attente, Résolu ou Retiré.
criticality ou priority hors de 1 à 3cadrage:levelOutOfRangePasser un entier de 1 à 3, ou omettre le champ pour laisser l'entrée non classée.
Anomalie déposée alors qu'elle est née du chantier en courscadrage:evolutionNeeDuChantierLa corriger dans le chantier : task_add ouvre la tâche qui la porte.
Identifiant d'évolution inconnucadrage:evolutionUnknown (ou cadrage:evolutionNotFound pour graduate)Lire le registre avec evolution_list et reprendre le bon identifiant.
form autre que full ou compactcadrage:evolutionSearchFormInvalidePasser full ou compact.
evolution_edit sans aucun champcadrage:evolutionEditEmptyPasser au moins criticality, priority ou detail.
Résoudre, retirer ou marquer prête une évolution déjà Résolu ou Retirécadrage:evolutionAlreadyTerminalRien à lever : un statut terminal ne se modifie plus. Ouvrir une entrée neuve si le sujet revient.
Requalifier autre chose que Anomalie vers Amélioration, ou l'inversecadrage:requalifyNotAllowedRetirer l'entrée, puis en ouvrir une du bon marqueur.
Retirer sans motifcadrage:evolutionRetireReasonRequiredPasser reason.
Résoudre sans raisoncadrage:evolutionResolveNoteRequiredPasser note.
Dépendance qui ferme un cycle, ou d'une évolution envers elle-mêmecadrage:dependencyCycleChoisir une autre cible.
Dépendance vers une évolution inexistantecadrage:dependencyUnknownVérifier l'identifiant avec evolution_list.
Cible de dépendance qui n'est ni une évolution ni un épiccadrage:dependencyUnknownShapePasser l'identifiant d'une évolution ou d'un épic.

Effortless — ArboRithm