Panoramica delle Issue

Scopri come le Issue di CodeCourier ti aiutano a scoprire, tracciare e risolvere i problemi della tua codebase con sessioni di scansione basate su IA, answering session ed esecuzione batch tramite work chain.

7 min letto
issuestriageai-discovery

Le Issue sono il sistema di CodeCourier per scoprire, tracciare e risolvere i problemi nella tua codebase. Che venga identificata da una sessione di scansione basata su IA o creata manualmente, ogni issue rappresenta un’unità di lavoro distinta - un bug da correggere, un miglioramento da apportare o un task da completare. Le issue possono essere eseguite singolarmente tramite workflow run oppure raggruppate in work chain per una risoluzione sequenziale.

Cosa sono le Issue?

Una issue è un record strutturato che cattura un problema o un task insieme a un contesto sufficiente perché un agente IA possa risolverlo. Ogni issue include un titolo, una descrizione, un livello di priorità e un suggestedPrompt opzionale che fornisce istruzioni specifiche per un agente IA. Le issue possono avere due origini:

  • AI Discovery - Una issue session scansiona la tua codebase usando un agente IA in una sandbox cloud ed estrae automaticamente un elenco di issue.
  • Creazione manuale- Crei le issue direttamente tramite l’interfaccia, specificando titolo, descrizione, priorità e istruzioni di correzione opzionali.

Ciclo di vita di una issue

Ogni issue attraversa un ciclo di vita semplice e lineare, tracciato in tempo reale:

StatoDescrizione
newLa issue è stata creata (manualmente o estratta da una session) ed è pronta per essere lavorata.
runningÈ stato avviato un workflow run per risolvere questa issue. La issue è collegata al run attivo.
completedIl run collegato è terminato con successo. La issue è risolta.
failedIl run collegato è fallito o non è stato trovato. La issue potrebbe richiedere attenzione manuale o un nuovo tentativo.

Sincronizzazione automatica dello stato

Gli stati delle issue vengono sincronizzati automaticamente con i run collegati. Un processo in background controlla le issue in esecuzione e aggiorna il loro stato quando il run associato si completa o fallisce.

Come le Issue si relazionano con gli altri concetti

Le issue si trovano all’intersezione di diversi sistemi di CodeCourier:

  • Run- Quando esegui una issue, viene creato un workflow run collegato ad essa. Il run svolge il lavoro effettivo (modifiche al codice, creazione di PR) all’interno di una sandbox E2B.
  • Workflow- Selezioni quale blueprint di workflow usare quando esegui una issue. Il workflow definisce la pipeline di agenti multi-step (ad esempio, Designer → Checker).
  • Persona- Le persona configurate nel workflow determinano il comportamento dell’agente IA e il system prompt durante la risoluzione della issue.
  • Work Chain- Più issue possono essere raggruppate in una work chain per un’esecuzione batch sequenziale, simile a una pipeline CI di correzioni.
  • Issue Session - Sessioni di scansione basate su IA che analizzano la tua codebase e producono automaticamente un elenco di issue.
  • Answering Session- Dopo il completamento di una Issue Session, una Answering Session risolve le domande e le assunzioni generate durante la scansione, raffinandole in un contesto utilizzabile prima che inizi l’implementazione.

Il flusso di scoperta e risoluzione delle Issue

Il ciclo di vita completo, dalla scoperta alla risoluzione, segue questo schema:

  1. Issue Session - Un agente IA Planner scansiona la tua codebase e genera un elenco strutturato di issue, insieme a domande e assunzioni su requisiti, scope e architettura.
  2. Answering Session- Un Answering Agent esamina le domande e le assunzioni generate, le raffina e produce risposte approvate che fungono da contesto per l’implementazione. Esamini ogni assunzione e la approvi, la rifiuti o la correggi.
  3. Risoluzione della issue- Le singole issue vengono eseguite tramite pipeline di workflow, usando le assunzioni approvate come contesto aggiuntivo. Le issue possono anche essere raggruppate in una work chain per un’esecuzione automatizzata sequenziale.

Saltare la Answering Session

La Answering Session è opzionale. Per task di scansione semplici in cui le issue sono autosufficienti, puoi passare direttamente da una Issue Session completata all’esecuzione di singole issue o all’avvio di una work chain.

Quando usare le Issue rispetto ai Workflow

Usa le Issue quando...Usa i Workflow direttamente quando...
Vuoi che l’IA scopra i problemi nella tua codebaseSai già esattamente cosa costruire
Hai più bug o task distinti da risolvereHai un singolo task ben definito
Vuoi eseguire correzioni in batch, in sequenzaVuoi un run singolo con un prompt specifico
Vuoi tracciare lo stato di risoluzione per ogni problemaDevi tracciare solo un singolo run
Vuoi raffinare i requisiti prima dell’implementazioneI requisiti sono già completamente specificati

Funzionalità chiave

  • Scoperta basata su IA- Le issue session usano una sandbox cloud per scansionare l’intera codebase e far emergere bug, vulnerabilità di sicurezza, problemi di performance e opportunità di miglioramento.
  • Answering Session- Un flusso strutturato di domande e risposte guidato dall’IA che risolve domande e convalida assunzioni provenienti dalle issue scanning session prima che inizi qualsiasi implementazione, garantendo che l’IA disponga del contesto giusto per produrre correzioni accurate.
  • Organizzazione basata sulla priorità - Ogni issue ha un livello di priorità (low, medium, high, critical) così puoi concentrarti su ciò che conta di più.
  • Prompt suggeriti - Ogni issue può avere un suggestedPromptgenerato dall’IA con istruzioni di correzione specifiche, passato direttamente al workflow run quando la issue viene eseguita.
  • Esecuzione tramite Work Chain - Raggruppa le issue ed eseguile in sequenza, con ogni issue risolta in ordine prima che inizi la successiva.
  • Creazione automatica di PR - Quando un run di issue si completa, viene creata una pull request sul repository GitHub configurato.
  • Tracciamento in tempo reale - Gli stati delle issue si aggiornano in tempo reale tramite query reattive, così vedi sempre lo stato attuale di ogni issue.
  • Tracciamento del progresso di session - Le issue session tracciano il progresso tramite i contatori currentIteration e maxIterations, dandoti visibilità su quanto l’agente è avanzato nel processo di scansione.

Campi dati di una issue

CampoTipoDescrizione
titlestring (obbligatorio)Breve riepilogo della issue
descriptionstring (obbligatorio)Spiegazione dettagliata del problema o del task
statusenumStato attuale del ciclo di vita: new, running, completed, failed
priorityenumLivello di importanza: low, medium, high, critical
suggestedPromptstring (opzionale)Istruzioni di correzione generate dall’IA o fornite dall’utente, usate come prompt del run quando questa issue viene eseguita
runIdID (opzionale)Riferimento al workflow run collegato
sessionIdID (opzionale)Riferimento alla issue session che ha scoperto questa issue
workChainIdID (opzionale)Riferimento alla work chain a cui appartiene questa issue
workChainOrdernumber (opzionale)Posizione di questa issue all’interno della sua work chain

Prossimi passi