@atlashub/smartstack-cli 3.13.0 → 3.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/templates/skills/business-analyse/SKILL.md +3 -2
- package/templates/skills/business-analyse/_module-loop.md +5 -5
- package/templates/skills/business-analyse/questionnaire.md +1 -1
- package/templates/skills/business-analyse/references/cache-warming-strategy.md +11 -23
- package/templates/skills/business-analyse/references/cadrage-pre-analysis.md +112 -0
- package/templates/skills/business-analyse/references/cadrage-structure-cards.md +6 -1
- package/templates/skills/business-analyse/references/deploy-data-build.md +1 -1
- package/templates/skills/business-analyse/references/html-data-mapping.md +1 -1
- package/templates/skills/business-analyse/references/robustness-checks.md +1 -1
- package/templates/skills/business-analyse/references/spec-auto-inference.md +1 -1
- package/templates/skills/business-analyse/schemas/application-schema.json +33 -1
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +1 -1
- package/templates/skills/business-analyse/steps/step-00-init.md +18 -22
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +300 -135
- package/templates/skills/business-analyse/steps/step-02-decomposition.md +38 -16
- package/templates/skills/business-analyse/steps/step-03a-data.md +5 -31
- package/templates/skills/business-analyse/steps/step-03a1-setup.md +2 -2
- package/templates/skills/business-analyse/steps/step-03b-ui.md +20 -11
- package/templates/skills/business-analyse/steps/step-03d-validate.md +6 -6
- package/templates/skills/business-analyse/steps/step-04-consolidation.md +5 -31
- package/templates/skills/business-analyse/steps/step-04c-decide.md +1 -1
- package/templates/skills/business-analyse/steps/step-05a-handoff.md +1 -1
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +3 -3
- package/templates/skills/business-analyse/steps/step-05c-ralph-readiness.md +1 -1
- package/templates/skills/business-analyse/templates/tpl-frd.md +1 -1
- package/templates/skills/business-analyse/references/cadrage-vibe-coding.md +0 -87
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: step-02-decomposition
|
|
3
3
|
description: Module decomposition - identify modules, dependency graph, topological sort, client checkpoint
|
|
4
4
|
model: opus
|
|
5
|
-
next_step: steps/step-
|
|
5
|
+
next_step: steps/step-03a1-setup.md
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
> **Context files:** `_shared.md`
|
|
@@ -38,7 +38,7 @@ ba-reader.findFeature({feature_id})
|
|
|
38
38
|
|
|
39
39
|
IF status already "decomposed":
|
|
40
40
|
Display: "Decomposition already completed. Loading next step."
|
|
41
|
-
Load: steps/step-
|
|
41
|
+
Load: steps/step-03a1-setup.md
|
|
42
42
|
STOP
|
|
43
43
|
|
|
44
44
|
### 2. Module Identification
|
|
@@ -70,13 +70,20 @@ For each mustHave/shouldHave scope item:
|
|
|
70
70
|
> "priority": "must|should|could",
|
|
71
71
|
> "sortOrder": 0,
|
|
72
72
|
> "entities": ["Anticipated entity names"],
|
|
73
|
-
> "estimatedComplexity": "simple|medium|complex"
|
|
73
|
+
> "estimatedComplexity": "simple|medium|complex",
|
|
74
|
+
> "anticipatedSections": [
|
|
75
|
+
> { "code": "list", "description": "Main entity list with filters", "resources": ["entity-grid", "entity-filter"] },
|
|
76
|
+
> { "code": "detail", "description": "Entity detail view", "resources": ["entity-card"] },
|
|
77
|
+
> { "code": "create", "description": "Create new entity", "resources": ["entity-form"] }
|
|
78
|
+
> ]
|
|
74
79
|
> }
|
|
75
80
|
> ```
|
|
76
81
|
> **MANDATORY fields:** `code`, `description`, `featureType`, `dependencies`, `dependents`, `status`, `priority`, `sortOrder`, `entities`, `estimatedComplexity`
|
|
82
|
+
> **OPTIONAL fields:** `anticipatedSections` (from cadrage coverageMatrix, enriched here with resources)
|
|
77
83
|
> **status:** Always `"pending"` at creation (updated to `"in-progress"` → `"specified"` → `"validated"` by step-03/04)
|
|
78
84
|
> **sortOrder:** Integer from topological sort (0 = foundation layer)
|
|
79
85
|
> **featureJsonPath:** Set to null at creation; updated to actual path when module feature.json is created in step-03
|
|
86
|
+
> **anticipatedSections:** Array of `{ code, description, resources[] }` objects. Derived from `cadrage.coverageMatrix[].anticipatedSections` aggregated per module, then refined during decomposition. These serve as starting point for step-03a1 section walkthrough.
|
|
80
87
|
|
|
81
88
|
**Complexity estimation rules:**
|
|
82
89
|
| Criteria | Simple | Medium | Complex |
|
|
@@ -93,14 +100,17 @@ Display the identified modules as markdown:
|
|
|
93
100
|
```
|
|
94
101
|
## Modules identifiés pour {application_name}
|
|
95
102
|
|
|
96
|
-
| # | Module | Type | Priorité | Complexité |
|
|
97
|
-
|
|
98
|
-
| 1 | Customers | data-centric | must | medium | Customer, Address, Contact |
|
|
99
|
-
| 2 | Products | data-centric | must | simple | Product, Category |
|
|
100
|
-
| 3 | Orders | workflow | must | complex | Order, OrderLine |
|
|
101
|
-
| 4 | Invoices | workflow | should | medium | Invoice, InvoiceLine, Payment |
|
|
103
|
+
| # | Module | Type | Priorité | Complexité | Sections pressenties | Entités |
|
|
104
|
+
|---|--------|------|----------|------------|---------------------|---------|
|
|
105
|
+
| 1 | Customers | data-centric | must | medium | list, detail, create, edit | Customer, Address, Contact |
|
|
106
|
+
| 2 | Products | data-centric | must | simple | list, detail, create | Product, Category |
|
|
107
|
+
| 3 | Orders | workflow | must | complex | list, detail, create, approve, history | Order, OrderLine |
|
|
108
|
+
| 4 | Invoices | workflow | should | medium | list, detail, create, export | Invoice, InvoiceLine, Payment |
|
|
102
109
|
```
|
|
103
110
|
|
|
111
|
+
> **Sections are derived from:** cadrage.coverageMatrix[].anticipatedSections aggregated per module.
|
|
112
|
+
> If cadrage did not provide sections, infer from module featureType using the standard section table.
|
|
113
|
+
|
|
104
114
|
Ask via AskUserQuestion:
|
|
105
115
|
```
|
|
106
116
|
question: "Ces modules correspondent-ils à votre vision de l'application ?"
|
|
@@ -191,12 +201,24 @@ Products ───┘
|
|
|
191
201
|
|
|
192
202
|
### Ordre de traitement
|
|
193
203
|
|
|
194
|
-
| Ordre | Module | Dépend de | Complexité |
|
|
195
|
-
|
|
196
|
-
| 1 | Customers | (aucune) | medium |
|
|
197
|
-
| 2 | Products | (aucune) | simple |
|
|
198
|
-
| 3 | Orders | Customers, Products | complex |
|
|
199
|
-
| 4 | Invoices | Orders, Customers | medium |
|
|
204
|
+
| Ordre | Module | Dépend de | Complexité | Sections pressenties |
|
|
205
|
+
|-------|--------|-----------|------------|---------------------|
|
|
206
|
+
| 1 | Customers | (aucune) | medium | list, detail, create, edit |
|
|
207
|
+
| 2 | Products | (aucune) | simple | list, detail, create |
|
|
208
|
+
| 3 | Orders | Customers, Products | complex | list, detail, create, approve, history |
|
|
209
|
+
| 4 | Invoices | Orders, Customers | medium | list, detail, create, export |
|
|
210
|
+
|
|
211
|
+
### Détail des sections et resources par module
|
|
212
|
+
|
|
213
|
+
**Module : {module_name}**
|
|
214
|
+
| Section | Description | Resources pressenties |
|
|
215
|
+
|---------|-------------|----------------------|
|
|
216
|
+
| list | {description} | {entity}-grid, {entity}-filter |
|
|
217
|
+
| detail | {description} | {entity}-card, {entity}-tabs |
|
|
218
|
+
| create | {description} | {entity}-form |
|
|
219
|
+
| ... | ... | ... |
|
|
220
|
+
|
|
221
|
+
(Repeat for each module)
|
|
200
222
|
|
|
201
223
|
> Les modules seront spécifiés dans cet ordre. Chaque module sera
|
|
202
224
|
> détaillé avec ses sections, entités, permissions et maquettes,
|
|
@@ -292,4 +314,4 @@ When `workflow.mode = "module"` or only 1 scope item identified:
|
|
|
292
314
|
|
|
293
315
|
## NEXT STEP
|
|
294
316
|
|
|
295
|
-
Load: `./step-
|
|
317
|
+
Load: `./step-03a1-setup.md`
|
|
@@ -1,42 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: step-03a-data
|
|
3
|
-
description:
|
|
3
|
+
description: "DEPRECATED REDIRECT - All references now point directly to step-03a1-setup.md"
|
|
4
4
|
model: opus
|
|
5
5
|
next_step: steps/step-03a1-setup.md
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
> **
|
|
8
|
+
> **DEPRECATED:** This file is no longer loaded in normal workflow. All step references now point directly to `step-03a1-setup.md`. This file is kept for historical reference only.
|
|
9
9
|
|
|
10
|
-
# Step 3a: Specification - Data & Logic (
|
|
11
|
-
|
|
12
|
-
This step has been divided into 2 focused sub-steps:
|
|
10
|
+
# Step 3a: Specification - Data & Logic (Refactored)
|
|
13
11
|
|
|
12
|
+
Refactored into 2 sub-steps:
|
|
14
13
|
1. **step-03a1-setup.md** - Module setup, sections walkthrough, questionnaires, cross-refs
|
|
15
14
|
2. **step-03a2-analysis.md** - Analysis section: objectives, entities, business rules, process flow
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
## Automatic Redirect
|
|
20
|
-
|
|
21
|
-
**Loading:** `./step-03a1-setup.md`
|
|
22
|
-
|
|
23
|
-
The data specification process will execute in sequence:
|
|
24
|
-
- step-03a1-setup → step-03a2-analysis → step-03b-ui
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Why Refactored?
|
|
29
|
-
|
|
30
|
-
**Before:** 468 lines in single file (exceeded 400-line recommendation)
|
|
31
|
-
|
|
32
|
-
**After:** 2 focused files (~320 + ~150 lines)
|
|
33
|
-
|
|
34
|
-
**Benefits:**
|
|
35
|
-
- Better context management
|
|
36
|
-
- Clearer separation: setup vs analysis
|
|
37
|
-
- Module preparation separated from entity/logic definition
|
|
38
|
-
- Reduced cognitive load per step
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
**Proceeding to step-03a1-setup.md...**
|
|
16
|
+
Flow: step-03a1-setup → step-03a2-analysis → step-03b-ui
|
|
@@ -60,7 +60,7 @@ ba-reader.readApplicationContext({feature_id})
|
|
|
60
60
|
|
|
61
61
|
IF module already specified (status = "specified" in master):
|
|
62
62
|
Increment currentModuleIndex, re-check
|
|
63
|
-
IF all modules specified → Load step-
|
|
63
|
+
IF all modules specified → Load step-04a-collect.md, STOP
|
|
64
64
|
|
|
65
65
|
### 1b. Cache Warming for Module Loop (FIRST MODULE ONLY)
|
|
66
66
|
|
|
@@ -74,7 +74,7 @@ IF currentModuleIndex === 0:
|
|
|
74
74
|
"~/.claude/skills/business-analyse/references/spec-auto-inference.md",
|
|
75
75
|
"~/.claude/skills/business-analyse/references/ui-resource-cards.md",
|
|
76
76
|
"~/.claude/skills/business-analyse/references/ui-dashboard-spec.md",
|
|
77
|
-
"~/.claude/skills/business-analyse/references/cadrage-
|
|
77
|
+
"~/.claude/skills/business-analyse/references/cadrage-pre-analysis.md"
|
|
78
78
|
];
|
|
79
79
|
|
|
80
80
|
for (const file of moduleRefs) {
|
|
@@ -12,7 +12,7 @@ next_step: steps/step-03c-compile.md
|
|
|
12
12
|
## MANDATORY EXECUTION RULES
|
|
13
13
|
|
|
14
14
|
- ALWAYS use ULTRATHINK mode
|
|
15
|
-
- This step is EXECUTED ONCE PER MODULE, after step-
|
|
15
|
+
- This step is EXECUTED ONCE PER MODULE, after step-03a1-setup.md and step-03a2-analysis.md
|
|
16
16
|
- **WIREFRAME RULE:** Every section MUST have a wireframe in `specification.uiWireframes[]`. No section without a validated mockup.
|
|
17
17
|
- **ID NAMING RULE (MANDATORY, NO EXCEPTION):**
|
|
18
18
|
All IDs MUST include a module prefix to guarantee application-wide uniqueness.
|
|
@@ -136,7 +136,17 @@ See [references/ui-resource-cards.md](../references/ui-resource-cards.md) for ex
|
|
|
136
136
|
> **BLOCKING RULE:** Every section MUST have a wireframe. No section proceeds to entity definition (step 6) without a validated mockup stored in `specification.uiWireframes[]`.
|
|
137
137
|
> **HTML INTEGRATION:** These wireframes are also rendered in the interactive HTML document (`ba-interactive.html`) deployed at handoff. The client can review and annotate mockups directly in their browser.
|
|
138
138
|
|
|
139
|
-
|
|
139
|
+
**Procedural sequence (MANDATORY — follow in exact order):**
|
|
140
|
+
|
|
141
|
+
1. **Generate** an ASCII mockup for each confirmed section
|
|
142
|
+
2. **Display** each mockup in the conversation output with a markdown header:
|
|
143
|
+
```
|
|
144
|
+
### {SectionName} — Wireframe
|
|
145
|
+
```
|
|
146
|
+
followed by the ASCII art in a code block. **ALL mockups MUST be visible text in the conversation.**
|
|
147
|
+
3. **Only THEN** call `AskUserQuestion` to ask the client to validate the displayed mockups (batch 2-3 at once if possible)
|
|
148
|
+
|
|
149
|
+
> **BLOCKING RULE:** You MUST NOT call AskUserQuestion for wireframe validation until ALL mockups are displayed as visible text in the conversation. The client cannot validate what they cannot see.
|
|
140
150
|
|
|
141
151
|
Example for a list section:
|
|
142
152
|
|
|
@@ -160,8 +170,6 @@ See [references/ui-resource-cards.md](../references/ui-resource-cards.md) for ex
|
|
|
160
170
|
**REQUIRED fields:** `screen`, `mockup`, `elements`, `section`, `componentMapping`, `layout` are ALL mandatory.
|
|
161
171
|
A wireframe without `componentMapping` or `layout` will FAIL validation in step 9.
|
|
162
172
|
|
|
163
|
-
Ask client to validate each mockup via AskUserQuestion (batch 2-3 mockups at once if possible).
|
|
164
|
-
|
|
165
173
|
> **IF client rejects a mockup:** Revise and re-propose until validated. Do NOT proceed without client approval on the layout.
|
|
166
174
|
|
|
167
175
|
### 3b-bis. Wireframe-to-Component Mapping
|
|
@@ -234,13 +242,14 @@ See [references/ui-dashboard-spec.md](../references/ui-dashboard-spec.md) for th
|
|
|
234
242
|
|
|
235
243
|
Before proceeding to step-03c-compile.md, VERIFY:
|
|
236
244
|
|
|
237
|
-
1. **Wireframes
|
|
238
|
-
2. **
|
|
239
|
-
3. **All wireframes have
|
|
240
|
-
4. **All
|
|
241
|
-
5. **
|
|
242
|
-
6. **
|
|
243
|
-
7. **
|
|
245
|
+
1. **Wireframes displayed and validated** — ALL wireframes were output as visible ASCII art in the conversation AND validated by the client via AskUserQuestion
|
|
246
|
+
2. **Wireframes exist for all sections** in `specification.uiWireframes[]`
|
|
247
|
+
3. **All wireframes have componentMapping** with smarter mapping rules
|
|
248
|
+
4. **All wireframes have layout** with regions and resourceRef references
|
|
249
|
+
5. **All resource references** in layout.regions[].components[].resourceRef exist in sections[].resources[]
|
|
250
|
+
6. **State machines defined** (if module has status fields) in `specification.lifeCycles[]`
|
|
251
|
+
7. **Form field completeness** — SmartForm fields[] covers ALL entity attributes except system/audit fields
|
|
252
|
+
8. **Navigation entries for all sections** — Every section (including dashboard) has a corresponding entry in `specification.navigation.entries[]`
|
|
244
253
|
|
|
245
254
|
**IF any check fails → FIX before proceeding.** Do NOT load step-03c-compile with incomplete data.
|
|
246
255
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: step-03d-validate
|
|
3
3
|
description: Per-module validation, write feature.json, incremental HTML deploy, loop decision
|
|
4
4
|
model: sonnet
|
|
5
|
-
next_step: steps/step-
|
|
5
|
+
next_step: steps/step-03a1-setup.md OR steps/step-04a-collect.md (conditional)
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
> **Context files:** `_shared.md` | `_module-loop.md`
|
|
@@ -279,12 +279,12 @@ ba-writer.advanceModuleLoop({feature_id})
|
|
|
279
279
|
|
|
280
280
|
IF currentModuleIndex < moduleOrder.length:
|
|
281
281
|
Display: "→ Module suivant: {nextModule} ({currentModuleIndex + 1}/{total})"
|
|
282
|
-
Load: steps/step-
|
|
282
|
+
Load: steps/step-03a1-setup.md
|
|
283
283
|
|
|
284
284
|
IF currentModuleIndex >= moduleOrder.length:
|
|
285
285
|
Display: "═══ Tous les modules spécifiés! Passage à la consolidation... ═══"
|
|
286
286
|
ba-writer.updateStatus({feature_id}, "specified")
|
|
287
|
-
Load: steps/step-
|
|
287
|
+
Load: steps/step-04a-collect.md
|
|
288
288
|
```
|
|
289
289
|
|
|
290
290
|
---
|
|
@@ -308,7 +308,7 @@ When only 1 module in moduleOrder:
|
|
|
308
308
|
|
|
309
309
|
- Same full validation flow
|
|
310
310
|
- Skip cross-module references (section 5)
|
|
311
|
-
- After validation → direct to step-
|
|
311
|
+
- After validation → direct to step-04a-collect.md (auto-consolidation)
|
|
312
312
|
|
|
313
313
|
---
|
|
314
314
|
|
|
@@ -372,5 +372,5 @@ Read metadata.workflow.currentModule
|
|
|
372
372
|
|
|
373
373
|
Conditional:
|
|
374
374
|
|
|
375
|
-
- IF modules remaining → Load `steps/step-
|
|
376
|
-
- IF all modules done → Load `steps/step-
|
|
375
|
+
- IF modules remaining → Load `steps/step-03a1-setup.md`
|
|
376
|
+
- IF all modules done → Load `steps/step-04a-collect.md`
|
|
@@ -1,43 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: step-04-consolidation
|
|
3
|
-
description:
|
|
3
|
+
description: "DEPRECATED REDIRECT - All references now point directly to step-04a-collect.md"
|
|
4
4
|
model: opus
|
|
5
5
|
next_step: steps/step-04a-collect.md
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
> **
|
|
8
|
+
> **DEPRECATED:** This file is no longer loaded in normal workflow. All step references now point directly to `step-04a-collect.md`. This file is kept for historical reference only.
|
|
9
9
|
|
|
10
|
-
# Step 4: Consolidation (
|
|
11
|
-
|
|
12
|
-
This step has been divided into 3 focused sub-steps:
|
|
10
|
+
# Step 4: Consolidation (Refactored)
|
|
13
11
|
|
|
12
|
+
Refactored into 3 sub-steps:
|
|
14
13
|
1. **step-04a-collect.md** - Collect module summaries and cross-module interactions
|
|
15
14
|
2. **step-04b-analyze.md** - Analyze permissions, validation, E2E flows, and risks
|
|
16
15
|
3. **step-04c-decide.md** - Obtain final approval and write consolidation
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
## Automatic Redirect
|
|
21
|
-
|
|
22
|
-
**Loading:** `./step-04a-collect.md`
|
|
23
|
-
|
|
24
|
-
The consolidation process will execute in sequence:
|
|
25
|
-
- step-04a-collect → step-04b-analyze → step-04c-decide → step-05a-handoff
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Why Refactored?
|
|
30
|
-
|
|
31
|
-
**Before:** 628 lines in single file (exceeded 400-line recommendation)
|
|
32
|
-
|
|
33
|
-
**After:** 3 focused files (~200-280 lines each)
|
|
34
|
-
|
|
35
|
-
**Benefits:**
|
|
36
|
-
- Better context management
|
|
37
|
-
- Clearer separation of concerns (collect → analyze → decide)
|
|
38
|
-
- Easier to resume from specific consolidation phase
|
|
39
|
-
- Reduced cognitive load per step
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
**Proceeding to step-04a-collect.md...**
|
|
17
|
+
Flow: step-04a-collect → step-04b-analyze → step-04c-decide → step-05a-handoff
|
|
@@ -37,7 +37,7 @@ options:
|
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
IF "Réviser un module":
|
|
40
|
-
Ask which module → set currentModuleIndex to that module → load step-
|
|
40
|
+
Ask which module → set currentModuleIndex to that module → load step-03a1-setup.md
|
|
41
41
|
|
|
42
42
|
IF "Modifier les interactions":
|
|
43
43
|
Re-enter step-04a-collect.md (sections 2-4)
|
|
@@ -36,7 +36,7 @@ ba-reader.findFeature({feature_id})
|
|
|
36
36
|
→ Check status = "consolidated"
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
**IF** status ≠ "consolidated" → **STOP**. Return to step-
|
|
39
|
+
**IF** status ≠ "consolidated" → **STOP**. Return to step-04a-collect.md.
|
|
40
40
|
|
|
41
41
|
Display validation summary:
|
|
42
42
|
|
|
@@ -19,7 +19,7 @@ next_step: steps/step-05c-ralph-readiness.md
|
|
|
19
19
|
- **ALWAYS** follow references/html-data-mapping.md EXACTLY for FEATURE_DATA and EMBEDDED_ARTIFACTS mapping
|
|
20
20
|
- **FEATURE_DATA.moduleSpecs MUST be populated for EACH module** — empty moduleSpecs = BROKEN specification tabs
|
|
21
21
|
- **FEATURE_DATA.cadrage.scope must use HTML keys** (vital/important/optional/excluded) NOT feature.json keys (mustHave/shouldHave/couldHave/outOfScope)
|
|
22
|
-
- **FEATURE_DATA.metadata.
|
|
22
|
+
- **FEATURE_DATA.metadata.analysisMode must be set** from master.metadata.analysisMode (always "interactive")
|
|
23
23
|
- **NEVER leave FEATURE_DATA or EMBEDDED_ARTIFACTS empty or partial**
|
|
24
24
|
|
|
25
25
|
## YOUR TASK
|
|
@@ -214,7 +214,7 @@ IF ANY category shows FAIL → **STOP AND RE-RUN `ss derive-prd`**. DO NOT proce
|
|
|
214
214
|
- FEATURE_DATA must be pre-populated with ALL analysis data (empty data = BUG)
|
|
215
215
|
- FEATURE_DATA.**moduleSpecs** MUST be populated for EACH module (use cases, business rules, entities, permissions) — empty moduleSpecs = BROKEN specification tabs
|
|
216
216
|
- FEATURE_DATA.**cadrage.scope** must use HTML keys (vital/important/optional/excluded) NOT feature.json keys (mustHave/shouldHave/couldHave/outOfScope)
|
|
217
|
-
- FEATURE_DATA.**metadata.
|
|
217
|
+
- FEATURE_DATA.**metadata.analysisMode** must be set from `master.metadata.analysisMode` (always "interactive")
|
|
218
218
|
- EMBEDDED_ARTIFACTS contains wireframes, E2E diagrams, dependency graph
|
|
219
219
|
- Both objects are serialized as JSON with 2-space indentation
|
|
220
220
|
- All data mapped from master and module feature.json files — follow `html-data-mapping.md` EXACTLY
|
|
@@ -233,7 +233,7 @@ See [references/deploy-data-build.md](../references/deploy-data-build.md) for:
|
|
|
233
233
|
**Critical reminders:**
|
|
234
234
|
- FEATURE_DATA.**moduleSpecs** MUST have ONE entry per module (empty = BUG)
|
|
235
235
|
- FEATURE_DATA.**cadrage.scope** converts `mustHave→vital`, `shouldHave→important`, `couldHave→optional`, `outOfScope→excluded`
|
|
236
|
-
- FEATURE_DATA.**metadata.
|
|
236
|
+
- FEATURE_DATA.**metadata.analysisMode** from `master.metadata.analysisMode`
|
|
237
237
|
- Also reference `references/html-data-mapping.md` for the full mapping spec
|
|
238
238
|
|
|
239
239
|
---
|
|
@@ -203,7 +203,7 @@ Total: 4 cross-module references, all resolvable
|
|
|
203
203
|
|
|
204
204
|
**IF ANY reference is unresolvable:**
|
|
205
205
|
- **BLOCKING ERROR:** List broken references with module and field names
|
|
206
|
-
- **FIX:** Return to step-
|
|
206
|
+
- **FIX:** Return to step-03a1-setup.md for affected modules to fix entity references
|
|
207
207
|
- **STOP** - do not proceed to next check
|
|
208
208
|
|
|
209
209
|
---
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
# Cadrage: Vibe Coding Flow
|
|
2
|
-
|
|
3
|
-
> Reference for step-01-cadrage.md — accelerated 2-lot questionnaire (always active).
|
|
4
|
-
|
|
5
|
-
## Lot 1: Problem & Scope
|
|
6
|
-
|
|
7
|
-
Ask 2 questions:
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
question: "Quel est le besoin principal de cette application ?"
|
|
11
|
-
header: "Besoin"
|
|
12
|
-
options:
|
|
13
|
-
- label: "Automatiser un processus manuel"
|
|
14
|
-
description: "Remplacer des taches repetitives par une application"
|
|
15
|
-
- label: "Creer un outil manquant"
|
|
16
|
-
description: "Construire quelque chose qui n'existe pas encore"
|
|
17
|
-
- label: "Remplacer un outil existant"
|
|
18
|
-
description: "Remplacer un logiciel ou tableur qui ne convient plus"
|
|
19
|
-
- label: "Centraliser des donnees"
|
|
20
|
-
description: "Rassembler des informations dispersees en un seul endroit"
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
question: "Quelles fonctionnalites sont indispensables pour la V1 ?"
|
|
25
|
-
header: "Indispensable"
|
|
26
|
-
multiSelect: true
|
|
27
|
-
options:
|
|
28
|
-
→ Generate 4 options dynamically from {feature_description}
|
|
29
|
-
→ Each option = one functional area detected in the description
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**Store:** `problem_type` (from Q1), `must_have_features[]` (from Q2)
|
|
33
|
-
|
|
34
|
-
## Users & Permissions (auto-set — no question)
|
|
35
|
-
|
|
36
|
-
> **Always optimize for high traffic.** No question needed — assume production-grade deployment.
|
|
37
|
-
|
|
38
|
-
**Auto-set (always):**
|
|
39
|
-
- Standard 4-tier roles: Admin, Manager, Contributor, Viewer
|
|
40
|
-
- 3 stakeholders: Admin + Manager + User
|
|
41
|
-
- 500+ concurrent users assumed (this is a non-negotiable baseline, not an optimization target)
|
|
42
|
-
|
|
43
|
-
## Lot 2: Technical Challenges
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
question: "Quels defis techniques anticipez-vous ?"
|
|
47
|
-
header: "Defis"
|
|
48
|
-
multiSelect: true
|
|
49
|
-
options:
|
|
50
|
-
- label: "Regles metier complexes"
|
|
51
|
-
description: "Calculs, validations ou workflows difficiles a specifier"
|
|
52
|
-
- label: "Volume de donnees"
|
|
53
|
-
description: "Grandes quantites de donnees a gerer ou migrer"
|
|
54
|
-
- label: "Integrations externes"
|
|
55
|
-
description: "APIs, services tiers ou synchronisation avec d'autres systemes"
|
|
56
|
-
- label: "Interface riche"
|
|
57
|
-
description: "Ecrans avec beaucoup d'interactions, graphiques ou visualisations"
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## Auto-Inferred Cadrage Data
|
|
61
|
-
|
|
62
|
-
DO NOT ask these — derive from answers:
|
|
63
|
-
|
|
64
|
-
```yaml
|
|
65
|
-
cadrage.problem: "{feature_description} — {problem_type}"
|
|
66
|
-
cadrage.asIs: "Aucun systeme en place" | "Processus manuel existant" | "Outil existant a remplacer"
|
|
67
|
-
→ Derived from Lot 1 problem_type
|
|
68
|
-
cadrage.toBe: "Application {application_name} couvrant: {must_have_features joined}"
|
|
69
|
-
cadrage.trigger: "Projet vibe coding initie par le developpeur"
|
|
70
|
-
cadrage.risks:
|
|
71
|
-
→ Map each selected technical challenge to a RISK entry:
|
|
72
|
-
- "Regles metier complexes" → RISK-001, type: "technical", probability: "medium", impact: "high"
|
|
73
|
-
- "Volume de donnees" → RISK-002, type: "technical", probability: "low", impact: "medium"
|
|
74
|
-
- "Integrations externes" → RISK-003, type: "technical", probability: "medium", impact: "medium"
|
|
75
|
-
- "Interface riche" → RISK-004, type: "technical", probability: "low", impact: "low"
|
|
76
|
-
→ Add mitigation for each: "Specification detaillee dans step-03 + generation iterative"
|
|
77
|
-
cadrage.acceptanceCriteria:
|
|
78
|
-
- { id: "AC-001", criterion: "Toutes les fonctionnalites must-have implementees et fonctionnelles", validated: false }
|
|
79
|
-
- { id: "AC-002", criterion: "Application deployable et utilisable", validated: false }
|
|
80
|
-
cadrage.globalScope:
|
|
81
|
-
mustHave: {must_have_features}
|
|
82
|
-
shouldHave: [] → Determined later in coverage matrix
|
|
83
|
-
couldHave: [] → Determined later in coverage matrix
|
|
84
|
-
outOfScope: []
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
After Lot 2: Go directly to **section 9 (Coverage Matrix)**.
|