Project

General

Profile

Actions

Feature #1513

open
CD

Implémenter des agents conversationnels spécialisés pour la qualification des demandes sur claude code

Feature #1513: Implémenter des agents conversationnels spécialisés pour la qualification des demandes sur claude code

Added by Client Dashboard 4 days ago. Updated 1 day ago.

Status:
Spec
Priority:
Normal
Assignee:
-
Start date:
08/03/2026
Due date:
% Done:

0%

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

docs/superpowers/specs/2026-08-03-specialized-intake-agents-design.md

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, les utilisateurs créent des demandes (bugs, évolutions, problèmes de sécurité) sans guidage suffisant, ce qui entraîne des erreurs de classification, des reclassements manuels fréquents et des demandes incomplètes. Cela ralentit le traitement et nécessite des interventions supplémentaires de l’équipe.

### Contexte
Pour améliorer la qualité des demandes dès leur création, il est nécessaire de spécialiser les agents conversationnels afin qu’ils posent des questions ciblées en fonction du type de demande (bug technique, évolution fonctionnelle, sécurité). Cette spécialisation doit s’intégrer avec les fonctionnalités existantes, comme le champ d’argumentation (ticket #50), la classification automatique (ticket #49), et les règles de déduplication (ticket #47).

### Comportement proposé
1. **Déclenchement des agents spécialisés** :
- L’utilisateur choisit explicitement le type de demande dès le début via des boutons dédiés (ex : "Signaler un bug", "Demander une évolution", "Problème de sécurité").
- *Alternative* : Détection automatique après 2-3 échanges, avec proposition de basculer vers un mode spécialisé.

2. **Questions ciblées et pré-remplissage** :
- **Bug technique** : Questions sur les étapes de reproduction, le navigateur/système utilisé, et possibilité de joindre une capture d’écran.
- **Évolution fonctionnelle** : Questions sur l’objectif, les bénéficiaires, et la priorité estimée.
- **Sécurité** : Détection automatique des mots-clés (ex : "vulnérabilité"), application du tag `Sécurité` et du statut `Submitted`.
- Pré-remplissage des champs (classification, tags, statut) en fonction du type de demande.

3. **Avertissements et feedback visuel** :
- Messages contextuels (ex : "⚠️ Ce type de demande nécessite une revue par l’équipe OmDev. Voulez-vous ajouter une justification ?").
- Confirmation visuelle du mode activé (ex : "Mode 'Signalement de bug' activé").
- Indication des champs obligatoires.

4. **Intégration avec les fonctionnalités existantes** :
- Cohérence avec les champs de classification, les règles de déduplication, et les statuts (tickets #47, #49).
- Respect des contraintes multi-langues (FR/EN).
- Non-bloquant : l’utilisateur peut créer une demande même si elle est incomplète.

## Acceptance criteria
['- [ ] L’utilisateur peut sélectionner un type de demande (bug, évolution, sécurité) dès le début de la conversation via des boutons dédiés.', '- [ ] Chaque type de demande déclenche un agent spécialisé qui pose des questions ciblées (ex : étapes de reproduction pour un bug, objectif pour une évolution).', '- [ ] Les champs de classification, tags et statut sont pré-remplis en fonction du type de demande sélectionné.', '- [ ] Des avertissements contextuels sont affichés pour guider l’utilisateur (ex : revue par l’équipe OmDev pour certaines demandes).', '- [ ] Le mode spécialisé activé est confirmé visuellement (ex : "Mode \'Signalement de bug\' activé").', '- [ ] Les demandes créées via un agent spécialisé sont mieux qualifiées (moins de reclassements manuels).', '- [ ] L’intégration avec les fonctionnalités existantes (classification, déduplication, multi-langue) est fonctionnelle et testée.', '- [ ] Le comportement est non-bloquant : l’utilisateur peut créer une demande même si elle est incomplète.', '- [ ] Les tests utilisateurs valident la clarté et l’efficacité des agents spécialisés (feedback positif ou métriques améliorées).']

## Classification
- feature

## Complexity
- 8/10 — La complexité est élevée en raison de l’intégration avec plusieurs fonctionnalités existantes (classification, déduplication, multi-langue), de la gestion des agents spécialisés, et des tests utilisateurs nécessaires pour valider l’expérience.


Subtasks 5 (5 open0 closed)

Feature #1549: API: RequestType, per-mode modules and Conversation.request_typeSpec08/03/2026

Actions
Feature #1550: API: mode-aware persona composition, security rules and credential guardSpec08/03/2026

Actions
Feature #1551: API: mode-aware spec writer and the Sécurité marker at filingSpec08/03/2026

Actions
Feature #1552: Frontend: request-type selector, active-mode badge and mid-conversation switchSpec08/03/2026

Actions
Feature #1553: Frontend: per-mode required-field checklist and security warning bannerSpec08/03/2026

Actions

CD Updated by Client Dashboard 1 day ago Actions #1

  • Status changed from Backlog to Submitted

RA Updated by Redmine Admin 1 day ago Actions #2

  • Status changed from Submitted to Spec
  • spec_ref updated (diff)

Specced with the PO — see `docs/superpowers/specs/2026-08-03-specialized-intake-agents-design.md`.

**Scope agreed:** three specialized conversational modes (bug / évolution / sécurité), composed as a per-mode module over the single shared `SYSTEM_PERSONA` so the no-code rule and the `[[REQUEST_READY]]` streaming guard stay single-sourced.

**Two ACs are not implemented as written, deliberately:**

1. *"application du statut `Submitted`"* for security — that rule was copied from #47, which is the **SecOps scanner** path where we file our own Trivy/Semgrep output unbilled. On the client path `Submitted` is the paid credit gate, so auto-setting it would be a free route into the factory queue. A client-reported security concern files at **Backlog** with a `Sécurité` marker in the description metadata block (same shape as `bf-disagree`), and **no** `security_key` — that field is the scanner's dedup key and writing client free-text into it would suppress a real scan finding.

2. *"cohérence avec les règles de déduplication (#47)"* — there is **no dedup on the client-conversation path** today. #47 is scanner-side. Recorded as deferred; building client-backlog dedup is its own feature.

**ACs 6 and 9** (*"moins de reclassements manuels"*, *"les tests utilisateurs valident"*) are post-ship outcome metrics, not build-time gates. Restated in the spec as testable proxies; measuring the real-world improvement is deferred to a follow-up instrumentation ticket.

**Also deferred:** auto-detection after 2–3 exchanges (the ticket's stated *alternative* — explicit buttons ship first), and live slot-completeness tracking (required fields ship as a static per-mode checklist).

Decomposed into 5 children (A–E).

RA Updated by Redmine Admin 1 day ago Actions #3

  • Subtask #1549 added

RA Updated by Redmine Admin 1 day ago Actions #4

  • Subtask #1550 added

RA Updated by Redmine Admin 1 day ago Actions #5

  • Subtask #1551 added

RA Updated by Redmine Admin 1 day ago Actions #6

  • Subtask #1552 added

RA Updated by Redmine Admin 1 day ago Actions #7

  • Subtask #1553 added
Actions

Also available in: PDF Atom