Parsing DIVA Request
Contenu
- Utilisation rapide
- Parametres d'entree
- Sortie : JSON canonique
- Type de demande detecte
- Domaines ERP reconnus
- Cas d'ambiguite (needs_clarification)
- Scripts disponibles
- References
Utilisation rapide
Via stdin (recommande pour coller un texte long) :
echo "En tant que gestionnaire reglement, je veux saisir la famille de reglement sur la fiche client. CA : le zoom est accessible depuis le menu Retail." | \
py .claude/skills/parsing-diva-request/scripts/parse_request.py
Via fichier :
py .claude/skills/parsing-diva-request/scripts/parse_request.py --input demande.txt
Sortie JSON sur stdout, conforme au schema scripts/templates/request.schema.json.
Parametres d'entree
| Parametre |
Format |
Obligatoire |
Defaut |
--input |
Chemin fichier texte (UTF-8) |
Non |
stdin |
--type |
auto / feature / ticket |
Non |
auto (detection) |
Un seul parametre a la fois : si --input est absent, la commande lit stdin jusqu'a EOF.
Sortie : JSON canonique
{
"type": "feature|ticket|unknown",
"titre": "<titre court, <= 80 car>",
"resume": "<1-3 phrases, <= 400 car>",
"acteurs": ["<role metier>"],
"donnees": ["<nom PascalCase ou MAJUSCULE>"],
"domaine_pressenti": "RT_|GT_|CC_|...|null",
"keywords_techniques": ["<PascalCase, fichier.dhsp, fonction>"],
"keywords_metier": ["<mot substantif 5+ car>"],
"ca_detectes": ["<texte CA>"],
"message_erreur": "<si ticket, citation>",
"needs_clarification": false
}
Reference du schema : scripts/templates/request.schema.json.
Type de demande detecte
Heuristique multi-signaux :
| Type |
Patterns declencheurs |
feature |
En tant que / Je veux / Afin de / Etant donne / Quand...Alors / section Criteres d'acceptation ou CA avec bullets |
ticket |
anomalie / bug / erreur / plante / cassé / ne fonctionne pas / stack trace / message entre quotes |
unknown |
Aucun signal -- declenche needs_clarification: true |
Detail dans reference/patterns-features.md et reference/patterns-tickets.md.
Domaines ERP reconnus
Liste canonique :
| Prefixe |
Module |
Mots-cles declencheurs |
GT_ |
Achat-Vente / Dav |
gestion commerciale, facture, client, article, commande, vente |
RT_ |
Retail |
retail, caisse, ticket, point de vente, magasin |
GG_ |
Prod / Atelier |
production, atelier, fabrication, OF, nomenclature |
CC_ |
Comptabilite |
compta, ecriture, journal, bilan, TVA |
RC_ |
Reglements |
reglement, banque, paiement, relance |
PP_ |
Paie |
paie, salaire, bulletin, cotisation |
GA_ |
Affaires |
affaire, chantier, analytique |
QU_ |
Qualite |
qualite, controle qualite, non-conformite |
GR_ |
Relation-Tiers |
CRM, contact, prospect, tiers |
A5 |
Framework A5 |
framework, menu, dossier, utilisateur, securite |
La detection est informative (hint pour le CP2 de l'orchestrateur). Si aucun domaine ne matche, domaine_pressenti: null.
Cas d'ambiguite (needs_clarification)
Le flag needs_clarification: true est leve quand :
- Le type est
unknown (aucun signal feature ni ticket)
- Type =
feature mais aucun acteur extrait (pas de En tant que)
- Type =
ticket mais aucun message d'erreur ni stack trace identifie
Dans ces cas, l'orchestrateur LLM doit demander au developpeur de clarifier au CP1 avant de poursuivre. Le parseur n'invente pas -- c'est la responsabilite du LLM.
Scripts disponibles
scripts/parse_request.py # Parseur principal
scripts/templates/
request.schema.json # Schema JSON canonique de la sortie
References
reference/patterns-features.md -- detail des patterns de detection feature (BDD, CA, gerondif)
reference/patterns-tickets.md -- detail des patterns ticket (messages d'erreur, stack traces, anomalies)
1---2name: parsing-diva-request3description: Structure une demande DIVA en texte libre (user story + criteres d'acceptation, ou ticket myService d'anomalie) en JSON canonique : type de demande, titre, resume, acteurs, donnees manipulees, domaine ERP pressenti, keywords techniques et metier, CA detectes, message d'erreur. Le parseur est deterministe (regex + heuristiques), le LLM raffine la sortie au checkpoint CP1 de l'orchestrateur. A utiliser quand une demande est livree en texte libre et qu'il faut produire un JSON structure exploitable par les phases suivantes d'analyse.4---5
6# Parsing DIVA Request
7
8## Contenu
9
10- Utilisation rapide
11- Parametres d'entree
12- Sortie : JSON canonique
13- Type de demande detecte
14- Domaines ERP reconnus
15- Cas d'ambiguite (needs_clarification)
16- Scripts disponibles
17- References
18
19---
20
21## Utilisation rapide
22
23Via stdin (recommande pour coller un texte long) :
24
25```
26echo "En tant que gestionnaire reglement, je veux saisir la famille de reglement sur la fiche client. CA : le zoom est accessible depuis le menu Retail." | \
27 py .claude/skills/parsing-diva-request/scripts/parse_request.py
28```
29
30Via fichier :
31
32```
33py .claude/skills/parsing-diva-request/scripts/parse_request.py --input demande.txt
34```
35
36Sortie JSON sur stdout, conforme au schema `scripts/templates/request.schema.json`.
37
38---
39
40## Parametres d'entree
41
42| Parametre | Format | Obligatoire | Defaut |
43|-----------|--------|-------------|--------|
44| `--input` | Chemin fichier texte (UTF-8) | Non | stdin |
45| `--type` | `auto` / `feature` / `ticket` | Non | `auto` (detection) |
46
47Un seul parametre a la fois : si `--input` est absent, la commande lit `stdin` jusqu'a EOF.
48
49---
50
51## Sortie : JSON canonique
52
53```json
54{
55 "type": "feature|ticket|unknown",
56 "titre": "<titre court, <= 80 car>",
57 "resume": "<1-3 phrases, <= 400 car>",
58 "acteurs": ["<role metier>"],
59 "donnees": ["<nom PascalCase ou MAJUSCULE>"],
60 "domaine_pressenti": "RT_|GT_|CC_|...|null",
61 "keywords_techniques": ["<PascalCase, fichier.dhsp, fonction>"],
62 "keywords_metier": ["<mot substantif 5+ car>"],
63 "ca_detectes": ["<texte CA>"],
64 "message_erreur": "<si ticket, citation>",
65 "needs_clarification": false
66}
67```
68
69Reference du schema : `scripts/templates/request.schema.json`.
70
71---
72
73## Type de demande detecte
74
75Heuristique multi-signaux :
76
77| Type | Patterns declencheurs |
78|------|----------------------|
79| `feature` | `En tant que` / `Je veux` / `Afin de` / `Etant donne` / `Quand...Alors` / section `Criteres d'acceptation` ou `CA` avec bullets |
80| `ticket` | `anomalie` / `bug` / `erreur` / `plante` / `cassé` / `ne fonctionne pas` / stack trace / message entre quotes |
81| `unknown` | Aucun signal -- declenche `needs_clarification: true` |
82
83Detail dans `reference/patterns-features.md` et `reference/patterns-tickets.md`.
84
85---
86
87## Domaines ERP reconnus
88
89Liste canonique :
90
91| Prefixe | Module | Mots-cles declencheurs |
92|---------|--------|------------------------|
93| `GT_` | Achat-Vente / Dav | gestion commerciale, facture, client, article, commande, vente |
94| `RT_` | Retail | retail, caisse, ticket, point de vente, magasin |
95| `GG_` | Prod / Atelier | production, atelier, fabrication, OF, nomenclature |
96| `CC_` | Comptabilite | compta, ecriture, journal, bilan, TVA |
97| `RC_` | Reglements | reglement, banque, paiement, relance |
98| `PP_` | Paie | paie, salaire, bulletin, cotisation |
99| `GA_` | Affaires | affaire, chantier, analytique |
100| `QU_` | Qualite | qualite, controle qualite, non-conformite |
101| `GR_` | Relation-Tiers | CRM, contact, prospect, tiers |
102| `A5` | Framework A5 | framework, menu, dossier, utilisateur, securite |
103
104La detection est informative (hint pour le CP2 de l'orchestrateur). Si aucun domaine ne matche, `domaine_pressenti: null`.
105
106---
107
108## Cas d'ambiguite (needs_clarification)
109
110Le flag `needs_clarification: true` est leve quand :
111
112- Le type est `unknown` (aucun signal feature ni ticket)
113- Type = `feature` mais aucun acteur extrait (pas de `En tant que`)
114- Type = `ticket` mais aucun message d'erreur ni stack trace identifie
115
116Dans ces cas, l'orchestrateur LLM doit demander au developpeur de clarifier au CP1 avant de poursuivre. Le parseur n'invente pas -- c'est la responsabilite du LLM.
117
118---
119
120## Scripts disponibles
121
122```
123scripts/parse_request.py # Parseur principal
124scripts/templates/
125 request.schema.json # Schema JSON canonique de la sortie
126```
127
128---
129
130## References
131
132- `reference/patterns-features.md` -- detail des patterns de detection feature (BDD, CA, gerondif)
133- `reference/patterns-tickets.md` -- detail des patterns ticket (messages d'erreur, stack traces, anomalies)