Project

General

Profile

Actions

Feature #26

closed
CD

Implémenter la classification automatique et l'estimation de complexité des tickets par l'assistant AI

Feature #26: Implémenter la classification automatique et l'estimation de complexité des tickets par l'assistant AI

Added by Client Dashboard about 2 months ago. Updated about 2 months ago.

Status:
Shipped
Priority:
Normal
Assignee:
-
Start date:
06/11/2026
Due date:
% Done:

100%

Estimated time:
(Total: 0:00 h)
spec_ref:

split:49,50,51

build_status:
build_number:
ci_run_url:
scan_status:
scan_report_url:
deploy_status:
preprod_url:
deployed_at:
branch:
pr_url:
security_key:
severity:
paused:

Description

### Problème
Actuellement, l’assistant AI de Pipeliner ne propose pas de classification (bug/évolution) ni d’estimation de complexité pour les demandes des clients. Cela entraîne une charge manuelle pour l’équipe OmDev, qui doit revoir chaque ticket pour déterminer son type et son effort associé. De plus, les clients ne disposent pas d’une visibilité immédiate sur la priorisation potentielle de leur demande.

### Contexte
Lorsqu’un client décrit une demande (bug ou évolution) dans le chat, l’assistant doit :
1. **Proposer une classification par défaut** (bug ou évolution) basée sur l’analyse du texte.
2. **Afficher une estimation de complexité** (note sur 10 avec explication courte) pour aider à prioriser le travail.
3. **Permettre au client de modifier ces valeurs**, avec des mécanismes pour signaler un désaccord (tag `bf-disagree`) et argumenter si nécessaire.
4. **Afficher ces informations** dans la prévisualisation du ticket et sur la page du ticket après création.

Cette fonctionnalité s’intègre dans le flux existant de création de tickets (conversation → Redmine) et doit respecter les contraintes suivantes :
- Multi-tenant (chaque client voit ses propres tickets).
- Multi-langue (FR/EN, selon la préférence du client).
- Non-bloquant (le client peut valider le ticket même en cas de désaccord).

### Comportement proposé
1. **Classification automatique** :
- L’assistant analyse le texte de la demande et propose une classification (*Bug* ou *Évolution*) dans la prévisualisation du ticket.
- Le client peut modifier cette classification, ce qui déclenche :
- Un message d’avertissement : *« Changer la classification nécessitera une revue par l’équipe OmDev avant de démarrer ce ticket. »*
- L’ajout automatique du tag `bf-disagree` (couleur orange #FF9800) avec un tooltip : *« L’équipe OmDev examinera cette classification avant de commencer le travail. »*
- Un champ d’argumentation optionnel : *« Pourquoi pensez-vous que c’est un [Bug/Évolution] ? »*

2. **Estimation de complexité** :
- L’assistant propose une note sur 10 (ex. : *« 6/10 – Nouvel écran + API backend »*) dans la prévisualisation et sur la page du ticket.
- Le client peut modifier cette note, mais la valeur par défaut est conservée s’il ne le fait pas.

3. **Affichage** :
- La classification et la note sont visibles dans :
- La prévisualisation du ticket (avant validation).
- La page du ticket (après création).
- Le tag `bf-disagree` est affiché sur le ticket dans la liste et sur sa page détaillée.

4. **Valeurs par défaut** :
- Si le client ne modifie pas la classification ou la note, les propositions de l’assistant sont conservées.

## Acceptance criteria
- [ ] L’assistant AI propose une classification (*Bug* ou *Évolution*) par défaut pour chaque demande dans la prévisualisation du ticket.
- [ ] L’assistant AI propose une estimation de complexité (note sur 10 + explication courte) par défaut pour chaque demande.
- [ ] Le client peut modifier la classification et la note dans la prévisualisation du ticket.
- [ ] Si le client modifie la classification :
- [ ] Un message d’avertissement apparaît : *« Changer la classification nécessitera une revue par l’équipe OmDev avant de démarrer ce ticket. »*
- [ ] Le tag `bf-disagree` (couleur orange #FF9800) est ajouté automatiquement au ticket.
- [ ] Un tooltip est affiché au survol du tag : *« L’équipe OmDev examinera cette classification avant de commencer le travail. »*
- [ ] Un champ d’argumentation optionnel est affiché : *« Pourquoi pensez-vous que c’est un [Bug/Évolution] ? »* (le champ peut être laissé vide).
- [ ] La classification, la note et le tag `bf-disagree` (si applicable) sont visibles :
- [ ] Dans la prévisualisation du ticket avant validation.
- [ ] Sur la page du ticket après création.
- [ ] Les valeurs par défaut (classification et note) sont conservées si le client ne les modifie pas.
- [ ] Le flux fonctionne en français et en anglais (selon la langue du client).
- [ ] Les tests couvrent les cas suivants :
- [ ] Création d’un ticket sans modification des valeurs par défaut.
- [ ] Création d’un ticket avec modification de la classification (tag `bf-disagree` ajouté).
- [ ] Création d’un ticket avec modification de la note.
- [ ] Affichage correct des informations dans la prévisualisation et sur la page du ticket.
- [ ] Comportement multi-tenant (chaque client voit ses propres tickets).


Subtasks 3 (0 open3 closed)

Feature #49: Backend — enrichir le draft de ticket avec classification & estimation de complexitéShipped06/11/2026

Actions
Feature #50: Frontend — classification & complexité éditables dans TicketDraftPanel (prévisualisation)Shipped06/11/2026

Actions
Feature #51: Frontend — affichage classification, complexité & tag bf-disagree sur la page et la listeShipped06/11/2026

Actions
Actions

Also available in: PDF Atom