Vue d'ensemble des Issues
Découvrez comment les Issues de CodeCourier vous aident à repérer, suivre et résoudre les problèmes de votre codebase grâce à des sessions de scan pilotées par l'IA, des answering sessions et une exécution par lot via des work chains.
Les Issues sont le système de CodeCourier pour repérer, suivre et résoudre les problèmes de votre codebase. Qu’elle soit identifiée par une session de scan pilotée par l’IA ou créée manuellement, chaque issue représente une unité de travail distincte - un bug à corriger, une amélioration à apporter ou une tâche à accomplir. Les issues peuvent être exécutées individuellement via des workflow runs ou regroupées en work chains pour une résolution séquentielle.
Que sont les Issues ?
Une issue est un enregistrement structuré qui capture un problème ou une tâche, avec suffisamment de contexte pour qu’un agent IA puisse la résoudre. Chaque issue comprend un titre, une description, un niveau de priorité et un suggestedPrompt optionnel qui fournit des instructions spécifiques à un agent IA. Les issues peuvent provenir de deux sources :
- Découverte par IA- Une issue session scanne votre codebase à l’aide d’un agent IA dans une sandbox cloud et extrait automatiquement une liste d’issues.
- Création manuelle- Vous créez des issues directement via l’interface, en spécifiant le titre, la description, la priorité et des instructions de correction optionnelles.
Cycle de vie d’une issue
Chaque issue traverse un cycle de vie simple et linéaire, suivi en temps réel :
| Statut | Description |
|---|---|
new | L’issue a été créée (manuellement ou extraite d’une session) et est prête à être traitée. |
running | Un workflow run a été lancé pour résoudre cette issue. L’issue est liée au run actif. |
completed | Le run lié s’est terminé avec succès. L’issue est résolue. |
failed | Le run lié a échoué ou n’a pas pu être trouvé. L’issue peut nécessiter une attention manuelle ou une nouvelle tentative. |
Synchronisation automatique du statut
Relation avec les autres concepts
Les issues se situent à l’intersection de plusieurs systèmes de CodeCourier :
- Runs- Lorsque vous exécutez une issue, un workflow run est créé et lié à celle-ci. Le run effectue le travail réel (modifications de code, création de PR) au sein d’une sandbox E2B.
- Workflows- Vous sélectionnez le blueprint de workflow à utiliser lors de l’exécution d’une issue. Le workflow définit le pipeline d’agents multi-étapes (par exemple, Designer → Checker).
- Personas- Les personas configurées dans le workflow déterminent le comportement de l’agent IA et le system prompt lors de la résolution de l’issue.
- Work Chains - Plusieurs issues peuvent être regroupées en une work chain pour une exécution par lot séquentielle, semblable à un pipeline CI de corrections.
- Issue Sessions- Des sessions de scan pilotées par l’IA qui analysent votre codebase et produisent automatiquement une liste d’issues.
- Answering Sessions- Une fois une Issue Session terminée, une Answering Session résout les questions et hypothèses générées pendant le scan, en les affinant en un contexte exploitable avant le début de l’implémentation.
Le flux de découverte et de résolution des Issues
Le cycle de vie complet, de la découverte à la résolution, suit ce schéma :
- Issue Session- Un agent IA Planner scanne votre codebase et génère une liste structurée d’issues, ainsi que des questions et hypothèses sur les exigences, le périmètre et l’architecture.
- Answering Session- Un Answering Agent examine les questions et hypothèses générées, les affine et produit des réponses approuvées qui servent de contexte pour l’implémentation. Vous examinez chaque hypothèse et l’approuvez, la refusez ou la corrigez.
- Résolution de l’issue - Les issues individuelles sont exécutées via des pipelines de workflow, en utilisant les hypothèses approuvées comme contexte supplémentaire. Les issues peuvent aussi être regroupées en une work chain pour une exécution automatisée séquentielle.
Ignorer l'Answering Session
Quand utiliser les Issues plutôt que les Workflows
| Utilisez les Issues quand... | Utilisez les Workflows directement quand... |
|---|---|
| Vous voulez que l’IA découvre les problèmes de votre codebase | Vous savez déjà exactement quoi construire |
| Vous avez plusieurs bugs ou tâches distincts à résoudre | Vous avez une seule tâche bien définie |
| Vous voulez exécuter des corrections en séquence par lot | Vous voulez un run ponctuel avec un prompt spécifique |
| Vous voulez suivre le statut de résolution par problème | Vous n’avez besoin de suivre qu’un seul run |
| Vous voulez affiner les exigences avant l’implémentation | Les exigences sont déjà entièrement spécifiées |
Fonctionnalités clés
- Découverte pilotée par l’IA- Les issue sessions utilisent une sandbox cloud pour scanner l’ensemble de votre codebase et faire apparaître bugs, vulnérabilités de sécurité, problèmes de performance et opportunités d’amélioration.
- Answering Sessions- Un flux de questions- réponses structuré et piloté par l’IA qui résout les questions et valide les hypothèses issues des sessions de scan avant le début de toute implémentation, garantissant que l’IA dispose du bon contexte pour produire des corrections précises.
- Organisation par priorité- Chaque issue possède un niveau de priorité (low, medium, high, critical) afin que vous puissiez vous concentrer sur l’essentiel.
- Prompts suggérés - Chaque issue peut porter un
suggestedPromptgénéré par IA avec des instructions de correction spécifiques, transmis directement au workflow run lors de l’exécution de l’issue. - Exécution par Work Chain- Regroupez des issues et exécutez-les séquentiellement, chaque issue étant résolue dans l’ordre avant que la suivante ne commence.
- Création automatique de PR- Lorsqu’un run d’issue se termine, une pull request est créée sur le repository GitHub configuré.
- Suivi en temps réel- Les statuts des issues sont mis à jour en temps réel via des requêtes réactives, afin que vous voyiez toujours l’état actuel de chaque issue.
- Suivi de la progression de session - Les issue sessions suivent la progression via les compteurs
currentIterationetmaxIterations, vous donnant une visibilité sur l’avancement de l’agent dans le processus de scan.
Champs de données d’une issue
| Champ | Type | Description |
|---|---|---|
title | string (requis) | Résumé court de l’issue |
description | string (requis) | Explication détaillée du problème ou de la tâche |
status | enum | État actuel du cycle de vie : new, running, completed, failed |
priority | enum | Niveau d’importance : low, medium, high, critical |
suggestedPrompt | string (optionnel) | Instructions de correction générées par IA ou fournies par l’utilisateur, utilisées comme prompt de run lors de l’exécution de cette issue |
runId | ID (optionnel) | Référence au workflow run lié |
sessionId | ID (optionnel) | Référence à l’issue session qui a découvert cette issue |
workChainId | ID (optionnel) | Référence à la work chain à laquelle appartient cette issue |
workChainOrder | number (optionnel) | Position de cette issue au sein de sa work chain |
Prochaines étapes
Créer des Issues
Apprenez à créer et gérer des issues manuellement.
Issue Sessions
Découvrez des issues automatiquement grâce aux sessions de scan pilotées par l'IA.
Answering Sessions
Résolvez des questions et validez des hypothèses avant l'implémentation.
Work Chains
Exécutez plusieurs issues en séquence par lot avec les work chains.