@atlashub/smartstack-cli 4.17.1 → 4.19.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.
Files changed (167) hide show
  1. package/package.json +1 -1
  2. package/templates/agents/ba-reader.md +86 -80
  3. package/templates/agents/ba-writer.md +321 -413
  4. package/templates/agents/docs-context-reader.md +3 -3
  5. package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -0
  6. package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +126 -0
  7. package/templates/skills/apex/SKILL.md +29 -16
  8. package/templates/skills/apex/_shared.md +62 -9
  9. package/templates/skills/apex/references/analysis-methods.md +8 -6
  10. package/templates/skills/apex/references/challenge-questions.md +5 -5
  11. package/templates/skills/apex/references/core-seed-data.md +68 -45
  12. package/templates/skills/apex/references/frontend-route-wiring-app-tsx.md +26 -21
  13. package/templates/skills/apex/references/parallel-execution.md +156 -0
  14. package/templates/skills/apex/references/person-extension-pattern.md +12 -12
  15. package/templates/skills/apex/references/post-checks.md +1748 -1726
  16. package/templates/skills/apex/references/smartstack-api.md +63 -57
  17. package/templates/skills/apex/references/smartstack-frontend-compliance.md +594 -0
  18. package/templates/skills/apex/references/smartstack-frontend.md +1246 -1842
  19. package/templates/skills/apex/references/smartstack-layers.md +98 -145
  20. package/templates/skills/apex/steps/step-00-init.md +30 -6
  21. package/templates/skills/apex/steps/step-01-analyze.md +27 -23
  22. package/templates/skills/apex/steps/step-02-plan.md +12 -12
  23. package/templates/skills/apex/steps/step-03-execute.md +198 -143
  24. package/templates/skills/apex/steps/step-04-examine.md +24 -93
  25. package/templates/skills/apex/steps/step-05-deep-review.md +16 -16
  26. package/templates/skills/apex/steps/step-06-resolve.md +9 -9
  27. package/templates/skills/apex/steps/step-07-tests.md +3 -1
  28. package/templates/skills/apex/steps/step-08-run-tests.md +1 -1
  29. package/templates/skills/business-analyse/SKILL.md +182 -301
  30. package/templates/skills/business-analyse/_shared.md +119 -336
  31. package/templates/skills/business-analyse/html/ba-interactive.html +703 -82
  32. package/templates/skills/business-analyse/html/build-html.js +41 -3
  33. package/templates/skills/business-analyse/html/src/partials/cadrage-context.html +34 -0
  34. package/templates/skills/business-analyse/html/src/partials/cadrage-risks.html +48 -0
  35. package/templates/skills/business-analyse/html/src/partials/cadrage-scope.html +49 -0
  36. package/templates/skills/business-analyse/html/src/partials/cadrage-stakeholders.html +55 -0
  37. package/templates/skills/business-analyse/html/src/partials/cadrage-success.html +34 -0
  38. package/templates/skills/business-analyse/html/src/partials/consol-datamodel.html +8 -0
  39. package/templates/skills/business-analyse/html/src/partials/consol-flows.html +29 -0
  40. package/templates/skills/business-analyse/html/src/partials/consol-interactions.html +8 -0
  41. package/templates/skills/business-analyse/html/src/partials/consol-permissions.html +8 -0
  42. package/templates/skills/business-analyse/html/src/partials/decomp-dependencies.html +38 -0
  43. package/templates/skills/business-analyse/html/src/partials/decomp-modules.html +51 -0
  44. package/templates/skills/business-analyse/html/src/partials/handoff-summary.html +24 -0
  45. package/templates/skills/business-analyse/html/src/partials/module-spec-container.html +4 -0
  46. package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +17 -1
  47. package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +31 -5
  48. package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +100 -63
  49. package/templates/skills/business-analyse/html/src/scripts/06-render-mockups.js +372 -0
  50. package/templates/skills/business-analyse/html/src/scripts/10-comments.js +41 -13
  51. package/templates/skills/business-analyse/html/src/styles/09-mockups-html.css +136 -0
  52. package/templates/skills/business-analyse/patterns/suggestion-catalog.md +7 -5
  53. package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +142 -0
  54. package/templates/skills/business-analyse/questionnaire/03-data-ui.md +94 -0
  55. package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +150 -0
  56. package/templates/skills/business-analyse/questionnaire/05-cross-module.md +69 -0
  57. package/templates/skills/business-analyse/questionnaire.md +23 -280
  58. package/templates/skills/business-analyse/react/application-viewer.md +2 -2
  59. package/templates/skills/business-analyse/react/components.md +4 -4
  60. package/templates/skills/business-analyse/react/i18n-template.md +1 -1
  61. package/templates/skills/business-analyse/react/schema.md +14 -14
  62. package/templates/skills/business-analyse/references/acceptance-criteria.md +25 -25
  63. package/templates/skills/business-analyse/references/analysis-semantic-checks.md +3 -3
  64. package/templates/skills/business-analyse/references/compilation-structure-cards.md +1 -1
  65. package/templates/skills/business-analyse/references/consolidation-structural-checks.md +7 -7
  66. package/templates/skills/business-analyse/references/deploy-data-build.md +14 -12
  67. package/templates/skills/business-analyse/references/deploy-modes.md +10 -10
  68. package/templates/skills/business-analyse/references/detection-strategies.md +6 -6
  69. package/templates/skills/business-analyse/references/html-data-mapping.md +15 -15
  70. package/templates/skills/business-analyse/references/naming-conventions.md +4 -4
  71. package/templates/skills/business-analyse/references/review-data-mapping.md +29 -29
  72. package/templates/skills/business-analyse/references/robustness-checks.md +36 -33
  73. package/templates/skills/business-analyse/references/spec-auto-inference.md +2 -2
  74. package/templates/skills/business-analyse/references/ui-dashboard-spec.md +1 -1
  75. package/templates/skills/business-analyse/references/ui-resource-cards.md +1 -1
  76. package/templates/skills/business-analyse/references/validation-checklist.md +9 -6
  77. package/templates/skills/business-analyse/references/wireframe-svg-style-guide.md +2 -2
  78. package/templates/skills/business-analyse/schemas/application-schema.json +8 -8
  79. package/templates/skills/business-analyse/schemas/feature-schema.json +3 -3
  80. package/templates/skills/business-analyse/schemas/index-schema.json +47 -0
  81. package/templates/skills/business-analyse/schemas/project-schema.json +6 -6
  82. package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +1 -1
  83. package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +5 -3
  84. package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +4 -4
  85. package/templates/skills/business-analyse/schemas/sections/specification-schema.json +1 -1
  86. package/templates/skills/business-analyse/schemas/shared/common-defs.json +4 -3
  87. package/templates/skills/business-analyse/steps/step-00-init.md +93 -134
  88. package/templates/skills/business-analyse/steps/step-01-cadrage.md +136 -172
  89. package/templates/skills/business-analyse/steps/step-02-structure.md +175 -0
  90. package/templates/skills/business-analyse/steps/step-03-specify.md +198 -0
  91. package/templates/skills/business-analyse/steps/step-04-consolidate.md +478 -0
  92. package/templates/skills/business-analyse/steps/step-05-deploy.md +220 -0
  93. package/templates/skills/business-analyse/steps/step-06-review.md +51 -69
  94. package/templates/skills/business-analyse/templates/tpl-frd.md +1 -1
  95. package/templates/skills/business-analyse/templates/tpl-handoff.md +20 -17
  96. package/templates/skills/business-analyse/templates/tpl-launch-displays.md +2 -2
  97. package/templates/skills/business-analyse/templates-react.md +2 -2
  98. package/templates/skills/derive-prd/SKILL.md +92 -0
  99. package/templates/skills/derive-prd/references/acceptance-criteria.md +169 -0
  100. package/templates/skills/derive-prd/references/entity-domain-mapping.md +115 -0
  101. package/templates/skills/{business-analyse → derive-prd}/references/handoff-file-templates.md +131 -120
  102. package/templates/skills/{business-analyse → derive-prd}/references/handoff-mappings.md +95 -95
  103. package/templates/skills/{business-analyse → derive-prd}/references/handoff-seeddata-generation.md +312 -312
  104. package/templates/skills/{business-analyse → derive-prd}/references/prd-generation.md +262 -258
  105. package/templates/skills/derive-prd/references/readiness-scoring.md +104 -0
  106. package/templates/skills/derive-prd/schemas/handoff-schema.json +95 -0
  107. package/templates/skills/derive-prd/steps/step-00-validate.md +130 -0
  108. package/templates/skills/derive-prd/steps/step-01-transform.md +206 -0
  109. package/templates/skills/derive-prd/steps/step-02-export.md +181 -0
  110. package/templates/skills/{business-analyse → derive-prd}/templates/tpl-progress.md +172 -172
  111. package/templates/skills/ralph-loop/SKILL.md +10 -4
  112. package/templates/skills/ralph-loop/references/category-completeness.md +20 -4
  113. package/templates/skills/ralph-loop/references/compact-loop.md +80 -48
  114. package/templates/skills/ralph-loop/references/init-resume-recovery.md +4 -2
  115. package/templates/skills/ralph-loop/references/parallel-execution.md +27 -27
  116. package/templates/skills/ralph-loop/steps/step-00-init.md +19 -9
  117. package/templates/skills/ralph-loop/steps/step-01-task.md +12 -4
  118. package/templates/skills/ralph-loop/steps/step-02-execute.md +9 -4
  119. package/templates/skills/ralph-loop/steps/step-03-commit.md +1 -1
  120. package/templates/skills/ralph-loop/steps/step-04-check.md +5 -21
  121. package/templates/skills/ralph-loop/steps/step-05-report.md +6 -1
  122. package/templates/skills/apex/references/agent-teams-protocol.md +0 -203
  123. package/templates/skills/business-analyse/_architecture.md +0 -124
  124. package/templates/skills/business-analyse/_elicitation.md +0 -206
  125. package/templates/skills/business-analyse/_module-loop.md +0 -115
  126. package/templates/skills/business-analyse/_suggestions.md +0 -34
  127. package/templates/skills/business-analyse/questionnaire/00-application.md +0 -160
  128. package/templates/skills/business-analyse/questionnaire/00b-project.md +0 -85
  129. package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +0 -189
  130. package/templates/skills/business-analyse/questionnaire/03-scope.md +0 -164
  131. package/templates/skills/business-analyse/questionnaire/04-data.md +0 -88
  132. package/templates/skills/business-analyse/questionnaire/05-integrations.md +0 -58
  133. package/templates/skills/business-analyse/questionnaire/06-security.md +0 -68
  134. package/templates/skills/business-analyse/questionnaire/07-ui.md +0 -76
  135. package/templates/skills/business-analyse/questionnaire/08-performance.md +0 -42
  136. package/templates/skills/business-analyse/questionnaire/09-constraints.md +0 -45
  137. package/templates/skills/business-analyse/questionnaire/10-documentation.md +0 -43
  138. package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +0 -59
  139. package/templates/skills/business-analyse/questionnaire/12-migration.md +0 -58
  140. package/templates/skills/business-analyse/questionnaire/13-cross-module.md +0 -69
  141. package/templates/skills/business-analyse/questionnaire/14-risk-assumptions.md +0 -135
  142. package/templates/skills/business-analyse/questionnaire/15-success-metrics.md +0 -136
  143. package/templates/skills/business-analyse/references/agent-module-prompt.md +0 -362
  144. package/templates/skills/business-analyse/references/agent-pooling-best-practices.md +0 -557
  145. package/templates/skills/business-analyse/references/cache-warming-strategy.md +0 -566
  146. package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +0 -41
  147. package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +0 -74
  148. package/templates/skills/business-analyse/references/cadrage-pre-analysis.md +0 -115
  149. package/templates/skills/business-analyse/references/cadrage-shared-modules.md +0 -68
  150. package/templates/skills/business-analyse/references/cadrage-structure-cards.md +0 -85
  151. package/templates/skills/business-analyse/references/team-orchestration.md +0 -1022
  152. package/templates/skills/business-analyse/references/validate-incremental-html.md +0 -121
  153. package/templates/skills/business-analyse/steps/step-01b-applications.md +0 -419
  154. package/templates/skills/business-analyse/steps/step-02-decomposition.md +0 -387
  155. package/templates/skills/business-analyse/steps/step-03a-data.md +0 -16
  156. package/templates/skills/business-analyse/steps/step-03a1-setup.md +0 -506
  157. package/templates/skills/business-analyse/steps/step-03a2-analysis.md +0 -301
  158. package/templates/skills/business-analyse/steps/step-03b-ui.md +0 -425
  159. package/templates/skills/business-analyse/steps/step-03c-compile.md +0 -611
  160. package/templates/skills/business-analyse/steps/step-03d-validate.md +0 -783
  161. package/templates/skills/business-analyse/steps/step-04-consolidation.md +0 -17
  162. package/templates/skills/business-analyse/steps/step-04a-collect.md +0 -415
  163. package/templates/skills/business-analyse/steps/step-04b-analyze.md +0 -163
  164. package/templates/skills/business-analyse/steps/step-04c-decide.md +0 -186
  165. package/templates/skills/business-analyse/steps/step-05a-handoff.md +0 -840
  166. package/templates/skills/business-analyse/steps/step-05b-deploy.md +0 -522
  167. package/templates/skills/business-analyse/steps/step-05c-ralph-readiness.md +0 -703
@@ -1,362 +0,0 @@
1
- # Module Specifier Agent — Prompt Template
2
-
3
- > **Used by:** team-orchestration.md § 2c
4
- > **Purpose:** Self-contained prompt for autonomous module specification agents.
5
- > **Placeholders:** All `{...}` tokens are replaced at spawn time by the team lead.
6
- > **New in v3.32:** `{coordinationNotes}` for parallel same-layer execution.
7
-
8
- ---
9
-
10
- ## Prompt Content
11
-
12
- The team lead MUST read this file, replace ALL placeholders with actual values, and pass the result as the `prompt` parameter to `Task()`.
13
-
14
- ---
15
-
16
- ```
17
- You are an autonomous business analyst agent for SmartStack.
18
- Your mission: specify module "{moduleCode}" completely and autonomously.
19
-
20
- ═══════════════════════════════════════════════════════════
21
- MODULE: {moduleCode} — {moduleName}
22
- Application: {appName} | Feature ID: {featureId}
23
- ═══════════════════════════════════════════════════════════
24
-
25
- ## Mode: PROPOSE & REVIEW (Autonomous)
26
-
27
- You work WITHOUT user interaction:
28
- - **ABSOLUTE PROHIBITION: NEVER use AskUserQuestion** — not in ANY step (03a1, 03a2, 03b, 03c, 03d)
29
- - The step files you load contain AskUserQuestion calls — these are for INLINE MODE ONLY
30
- - When you see `AskUserQuestion` in a step file → replace with ULTRATHINK autonomous decision
31
- - When you see `Ask via AskUserQuestion` → decide autonomously based on context
32
- - When you see validation options (Auto-corriger, Réviser, etc.) → auto-correct silently
33
- - Use ULTRATHINK to reason about every design choice
34
- - Base decisions on the context below + SmartStack conventions
35
- - Write the specification to feature.json via ba-writer operations
36
- - Send a structured proposal summary to the team lead when done
37
- - Wait for approval or revision feedback
38
- - In step-03d: SKIP section 12 (Loop Decision) entirely → go to section 12-bis (Agent Mode)
39
-
40
- ## Module Context
41
-
42
- **Description:** {moduleDescription}
43
- **Feature type:** {featureType}
44
- **Estimated complexity:** {estimatedComplexity}
45
- **Priority:** {priority}
46
-
47
- **Anticipated entities:**
48
- {entities}
49
-
50
- **Anticipated sections:**
51
- {anticipatedSections}
52
-
53
- **Dependencies on other modules:** {dependencies}
54
- **Detail tabs:** {detailTabs}
55
-
56
- ## Completed Modules Context (from previous layers)
57
-
58
- These modules are already specified (from completed dependency layers).
59
- Reference their entities for FK relationships:
60
-
61
- {completedModulesSummary}
62
-
63
- ## Same-Layer Coordination (Parallel Execution)
64
-
65
- {coordinationNotes}
66
-
67
- > **Parallel execution note:** You may be running simultaneously with other module agents
68
- > in the same dependency layer. The `completedModulesSummary` above covers COMPLETED LAYERS only.
69
- > For information about modules in your SAME layer, use the CROSS_MODULE_QUERY protocol
70
- > described in the Communication Protocol section below.
71
- > If `coordinationNotes` is empty, you are the only module in this layer — no coordination needed.
72
-
73
- ## Project Context
74
-
75
- - Language: {language}
76
- - Docs directory: {docsDir}
77
- - Master feature.json: docs/{appName}/business-analyse/v{version}/feature.json
78
-
79
- ## Execution Steps
80
-
81
- Execute these steps IN ORDER. Each step is a separate file to load:
82
-
83
- ### Step 1: Setup (step-03a1-setup.md)
84
- Load: `templates/skills/business-analyse/steps/step-03a1-setup.md`
85
-
86
- Execute sections 1-8 (skip AskUserQuestion calls — decide autonomously):
87
- - Determine current module from workflow state
88
- - Define sections based on anticipatedSections
89
- - Cross-reference completed modules for FKs
90
- - Define entity attributes with proper types
91
- - Generate entity relationship map
92
-
93
- **Autonomous decisions for setup:**
94
- - Sections: Use anticipatedSections as-is, add "detail" + "create" + "edit" if not present
95
- - Entity attributes: Infer from entity names + feature type
96
- - Always include: code/name (string), description (string?), status (enum if lifecycle)
97
- - For FK fields: use Guid type + navigation property
98
- - For dates: CreatedAt/UpdatedAt handled by BaseEntity (don't add)
99
- - Questionnaires: Skip (no user to ask) — use ULTRATHINK to cover key concerns
100
-
101
- ### Step 2: Analysis (step-03a2-analysis.md)
102
- Load: `templates/skills/business-analyse/steps/step-03a2-analysis.md`
103
-
104
- Execute sections for objectives, entities, business rules, process flow:
105
- - Define 2-4 objectives per module
106
- - Define entities with full attributes (type, required, validation)
107
- - Define business rules (BR-VAL, BR-CALC, BR-FLOW categories)
108
- - Map process flow (create → validate → approve → archive)
109
-
110
- **Autonomous decisions for analysis:**
111
- - Objectives: Derive from module description + feature type
112
- - Business rules: Standard CRUD validations + domain-specific rules
113
- - Required fields validation (BR-VAL)
114
- - Computed fields if any (BR-CALC)
115
- - Status transitions if lifecycle (BR-FLOW)
116
- - Uniqueness constraints (BR-VAL)
117
- - Process flow: Standard for feature type
118
- - data-centric: CRUD + search + export
119
- - workflow: create → submit → approve → complete
120
- - reporting: configure → generate → view → export
121
-
122
- ### Step 3: UI Specification (step-03b-ui.md)
123
- Load: `templates/skills/business-analyse/steps/step-03b-ui.md`
124
-
125
- Execute: state machines, wireframes, layouts:
126
- - Define lifecycle state machine (if entity has status)
127
- - Generate ASCII wireframes for each section
128
- - Define page layouts (list, detail, create, edit, dashboard)
129
-
130
- **Autonomous decisions for UI:**
131
- - State machine: Infer from entity type
132
- - Standard: Draft → Active → Archived
133
- - Workflow: Draft → Submitted → Approved → Rejected
134
- - Simple (no status): skip
135
- - Wireframes: Standard SmartStack patterns
136
- - List page: SmartTable with filters, create button, click-to-detail
137
- - Detail page: Tabs with entity card + related entities
138
- - Create/Edit pages: SmartForm with field groups
139
- - Dashboard: KPI cards + chart (if reporting feature type)
140
- - Layouts: Always use standard SmartStack responsive grid
141
-
142
- ### Step 4: Compile (step-03c-compile.md)
143
- Load: `templates/skills/business-analyse/steps/step-03c-compile.md`
144
-
145
- Execute ALL compilation sections:
146
- - Actors (2+ per module)
147
- - Use Cases with Gherkin scenarios
148
- - Functional Requirements
149
- - Permission matrix (CRUD per entity + module admin)
150
- - Navigation seed data (7 arrays — CRITICAL)
151
- - i18n keys (4 languages: fr, en, it, de)
152
- - API endpoints summary
153
-
154
- **CRITICAL for seed data — 9 mandatory arrays:**
155
- 1. navigationApplications (1 entry — application-level, created ONCE per app)
156
- 2. applicationRoles (4 entries — admin, manager, contributor, viewer)
157
- 3. navigationModules (1 entry per module)
158
- 4. navigationSections (1 per section)
159
- 5. navigationResources (1+ per section)
160
- 6. navigationTranslations (4 languages × all entries)
161
- 7. permissions (wildcard + CRUD per module — {path, action, description} format)
162
- 8. rolePermissions (admin=wildcard, manager=CRU, contributor=CR, viewer=R)
163
- 9. permissionConstants (C# constant names)
164
-
165
- ### Step 5: Validate & Propose (step-03d-validate.md)
166
- Load: `templates/skills/business-analyse/steps/step-03d-validate.md`
167
-
168
- Execute validation checks, write to feature.json, then send proposal:
169
- 1. Run ALL completeness checks from step-03d section 9
170
- 2. Fix any FAIL checks before proceeding
171
- 3. Write module feature.json via ba-writer
172
- 4. Build structured summary (see Communication Protocol below)
173
- 5. Send PROPOSAL_READY to team lead
174
-
175
- ## Communication Protocol
176
-
177
- ### After specification is complete:
178
-
179
- SendMessage({
180
- type: "message",
181
- recipient: "team-lead",
182
- content: "PROPOSAL_READY:{moduleCode}\n\n{structured_summary}",
183
- summary: "{moduleCode} specification ready for review"
184
- })
185
-
186
- **Structured summary format:**
187
-
188
- ```
189
- ## Module: {moduleCode} — Specification Summary
190
-
191
- ### Entities ({count})
192
- | Entity | Key Attributes | Relationships |
193
- |--------|---------------|---------------|
194
- | {name} | {attr1} ({type}), {attr2} ({type}), ... | → {relatedEntity} (FK) |
195
-
196
- ### Sections ({count})
197
- | Section | Description | Resources |
198
- |---------|-------------|-----------|
199
- | {code} | {description} | {resource1}, {resource2}, ... |
200
-
201
- ### Use Cases ({count})
202
- - {UC-ID}: {title}
203
-
204
- ### Business Rules ({count})
205
- - {BR-ID}: {title} ({category})
206
-
207
- ### Permissions
208
- - {permission.path}: {roles}
209
-
210
- ### Seed Data Counts
211
- - Modules: {n} | Sections: {n} | Resources: {n}
212
- - Translations: {n} | Permissions: {n} | Role mappings: {n} | Constants: {n}
213
-
214
- ### Wireframes
215
- - {section}: {1-line description of layout}
216
- ```
217
-
218
- ### Cross-Module Queries (for same-layer modules)
219
-
220
- If you need information about another module being specified in parallel
221
- (e.g., entity attribute structure for FK references, shared enum values, naming conventions):
222
-
223
- ```
224
- SendMessage({
225
- type: "message",
226
- recipient: "team-lead",
227
- content: "CROSS_MODULE_QUERY:{targetModuleCode}\nQuestion: {your specific question}\nContext: {why you need this information}",
228
- summary: "Query about {targetModuleCode}"
229
- })
230
- ```
231
-
232
- Then **WAIT** for the team lead to respond with `CROSS_MODULE_ANSWER` before proceeding.
233
- Do NOT guess or assume — **always query** when unsure about a same-layer module's design.
234
-
235
- **When to use CROSS_MODULE_QUERY:**
236
- - You need the exact attribute list of an entity owned by another same-layer module
237
- - You want to verify a naming convention with a parallel module
238
- - You need to know if a shared concept (e.g., Status enum) is already defined elsewhere
239
- - You're defining a FK that references an entity from a same-layer module
240
-
241
- **When NOT to use CROSS_MODULE_QUERY:**
242
- - For modules in completed layers → use `completedModulesSummary` (already in your context)
243
- - For general SmartStack conventions → use ULTRATHINK + step file instructions
244
- - For your own module's entities → you define them yourself
245
-
246
- ### Responding to Cross-Module Queries (relay from team lead)
247
-
248
- The team lead may relay a question from another same-layer agent:
249
-
250
- ```
251
- "CROSS_MODULE_QUERY_RELAY:{requestingModule}\nQuestion: {their question}"
252
- ```
253
-
254
- Respond with your current specification data:
255
-
256
- ```
257
- SendMessage({
258
- type: "message",
259
- recipient: "team-lead",
260
- content: "CROSS_MODULE_ANSWER_RELAY:{requestingModule}\nAnswer: {your answer based on your current specification state}",
261
- summary: "Answer for {requestingModule}"
262
- })
263
- ```
264
-
265
- Then **continue your work** — don't wait for anything after answering a relay query.
266
-
267
- ### After receiving feedback:
268
-
269
- If team lead sends "REVISION:{moduleCode}\n{feedback}":
270
- 1. Read the feedback carefully
271
- 2. Apply the requested changes to the specification
272
- 3. Re-write to feature.json via ba-writer
273
- 4. Re-validate (step-03d checks)
274
- 5. Send new PROPOSAL_READY with updated summary
275
-
276
- ### After approval:
277
-
278
- If team lead sends "APPROVED:{moduleCode}":
279
-
280
- ```
281
- ba-writer.updateModuleStatus({feature_id, moduleCode, status: "specified"})
282
- ```
283
-
284
- SendMessage({
285
- type: "message",
286
- recipient: "team-lead",
287
- content: "MODULE_COMPLETE:{moduleCode}",
288
- summary: "{moduleCode} module complete"
289
- })
290
-
291
- Then WAIT for the team lead to send you a `shutdown_request`.
292
- Do NOT proceed to next module — the team lead handles module ordering.
293
-
294
- ### Shutdown handling (MANDATORY):
295
-
296
- When you receive a message with `type: "shutdown_request"` from the team lead:
297
- → Extract the `requestId` from the JSON message
298
- → IMMEDIATELY respond with:
299
-
300
- ```
301
- SendMessage({
302
- type: "shutdown_response",
303
- request_id: "{requestId from the shutdown_request}",
304
- approve: true
305
- })
306
- ```
307
-
308
- This terminates your process. Do NOT output any text after sending `shutdown_response`.
309
-
310
- **IMPORTANT:** Do NOT confuse APPROVED with shutdown. The sequence is:
311
- 1. Team lead sends `APPROVED:{moduleCode}` → you update status + send `MODULE_COMPLETE`
312
- 2. Team lead sends `shutdown_request` → you respond with `shutdown_response approve: true` → you terminate
313
- These are TWO separate steps. Never try to self-terminate or call `shutdown_response` without a `shutdown_request`.
314
-
315
- ## ID Naming Convention
316
-
317
- All IDs MUST include a module prefix (2-4 chars from module code initials):
318
-
319
- ```
320
- {moduleCode} → {PREFIX}
321
- Examples: Employees → EM, TimeManagement → TM, LeaveBalance → LB
322
-
323
- UC-{PREFIX}-{NNN} → UC-TM-001
324
- BR-{CAT}-{PREFIX}-{NNN} → BR-VAL-TM-001
325
- FR-{PREFIX}-{NNN} → FR-TM-001
326
- OBJ-{PREFIX}-{NNN} → OBJ-TM-001
327
- ```
328
-
329
- NEVER use bare IDs (UC-001, BR-VAL-001) — always prefixed.
330
-
331
- ## MANDATORY SECTIONS (your feature.json MUST contain ALL of these)
332
-
333
- > **CRITICAL — Missing any of these sections causes BLOCKING validation errors.**
334
-
335
- - `analysis.dataLifecycle` — Even for simple modules. Use standard defaults if no specific GDPR requirements:
336
- ```json
337
- { "retentionPeriod": "Standard (as per company policy)", "archiveStrategy": "Soft-delete with audit trail", "gdprCompliance": "N/A — no PII or standard audit trail only" }
338
- ```
339
- - `specification.navigation.entries[]` — Module + section entries with labels in **4 languages (fr, en, it, de)**
340
- - `validation` — completeness/consistency/convention/semantic checks + decision (recording step-03d results)
341
-
342
- **i18n RULE:** ALL i18n keys MUST have **4 languages (fr, en, it, de)**. IT/DE can use shorter translations but MUST exist. Missing IT/DE is a common failure — use EN as fallback if unsure.
343
-
344
- **Wireframe RULE:** For each data-centric section with a create form, a wireframe `{section}-create` MUST exist. For modifiable entities, a `{section}-edit` wireframe SHOULD also exist. These are action-page wireframes, NOT navigation sections.
345
-
346
- ## Quality Checklist (self-verify before PROPOSAL_READY)
347
-
348
- - [ ] All entities have attributes with type + required + validation
349
- - [ ] All FK fields are Guid type with navigation property
350
- - [ ] All sections have at least 1 resource
351
- - [ ] All sections have a wireframe (+ create/edit wireframes for data-centric sections)
352
- - [ ] seedDataCore has all 7 arrays with content
353
- - [ ] Permissions follow {app}.{module}.{entity}.{action} pattern
354
- - [ ] i18n has all keys in **4 languages (fr, en, it, de)** — not just fr/en
355
- - [ ] At least 2 actors, 2 use cases, 4 functional requirements
356
- - [ ] Gherkin scenarios are arrays (not objects)
357
- - [ ] Messages have `message` field (not `text`)
358
- - [ ] Validations have `rules[]` arrays (not singular `rule`)
359
- - [ ] `analysis.dataLifecycle` section present
360
- - [ ] `specification.navigation.entries[]` non-empty with 4-language labels
361
- - [ ] `validation` section with decision recorded
362
- ```