@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.
- package/package.json +1 -1
- package/templates/agents/ba-reader.md +86 -80
- package/templates/agents/ba-writer.md +321 -413
- package/templates/agents/docs-context-reader.md +3 -3
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -0
- package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +126 -0
- package/templates/skills/apex/SKILL.md +29 -16
- package/templates/skills/apex/_shared.md +62 -9
- package/templates/skills/apex/references/analysis-methods.md +8 -6
- package/templates/skills/apex/references/challenge-questions.md +5 -5
- package/templates/skills/apex/references/core-seed-data.md +68 -45
- package/templates/skills/apex/references/frontend-route-wiring-app-tsx.md +26 -21
- package/templates/skills/apex/references/parallel-execution.md +156 -0
- package/templates/skills/apex/references/person-extension-pattern.md +12 -12
- package/templates/skills/apex/references/post-checks.md +1748 -1726
- package/templates/skills/apex/references/smartstack-api.md +63 -57
- package/templates/skills/apex/references/smartstack-frontend-compliance.md +594 -0
- package/templates/skills/apex/references/smartstack-frontend.md +1246 -1842
- package/templates/skills/apex/references/smartstack-layers.md +98 -145
- package/templates/skills/apex/steps/step-00-init.md +30 -6
- package/templates/skills/apex/steps/step-01-analyze.md +27 -23
- package/templates/skills/apex/steps/step-02-plan.md +12 -12
- package/templates/skills/apex/steps/step-03-execute.md +198 -143
- package/templates/skills/apex/steps/step-04-examine.md +24 -93
- package/templates/skills/apex/steps/step-05-deep-review.md +16 -16
- package/templates/skills/apex/steps/step-06-resolve.md +9 -9
- package/templates/skills/apex/steps/step-07-tests.md +3 -1
- package/templates/skills/apex/steps/step-08-run-tests.md +1 -1
- package/templates/skills/business-analyse/SKILL.md +182 -301
- package/templates/skills/business-analyse/_shared.md +119 -336
- package/templates/skills/business-analyse/html/ba-interactive.html +703 -82
- package/templates/skills/business-analyse/html/build-html.js +41 -3
- package/templates/skills/business-analyse/html/src/partials/cadrage-context.html +34 -0
- package/templates/skills/business-analyse/html/src/partials/cadrage-risks.html +48 -0
- package/templates/skills/business-analyse/html/src/partials/cadrage-scope.html +49 -0
- package/templates/skills/business-analyse/html/src/partials/cadrage-stakeholders.html +55 -0
- package/templates/skills/business-analyse/html/src/partials/cadrage-success.html +34 -0
- package/templates/skills/business-analyse/html/src/partials/consol-datamodel.html +8 -0
- package/templates/skills/business-analyse/html/src/partials/consol-flows.html +29 -0
- package/templates/skills/business-analyse/html/src/partials/consol-interactions.html +8 -0
- package/templates/skills/business-analyse/html/src/partials/consol-permissions.html +8 -0
- package/templates/skills/business-analyse/html/src/partials/decomp-dependencies.html +38 -0
- package/templates/skills/business-analyse/html/src/partials/decomp-modules.html +51 -0
- package/templates/skills/business-analyse/html/src/partials/handoff-summary.html +24 -0
- package/templates/skills/business-analyse/html/src/partials/module-spec-container.html +4 -0
- package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +17 -1
- package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +31 -5
- package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +100 -63
- package/templates/skills/business-analyse/html/src/scripts/06-render-mockups.js +372 -0
- package/templates/skills/business-analyse/html/src/scripts/10-comments.js +41 -13
- package/templates/skills/business-analyse/html/src/styles/09-mockups-html.css +136 -0
- package/templates/skills/business-analyse/patterns/suggestion-catalog.md +7 -5
- package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +142 -0
- package/templates/skills/business-analyse/questionnaire/03-data-ui.md +94 -0
- package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +150 -0
- package/templates/skills/business-analyse/questionnaire/05-cross-module.md +69 -0
- package/templates/skills/business-analyse/questionnaire.md +23 -280
- package/templates/skills/business-analyse/react/application-viewer.md +2 -2
- package/templates/skills/business-analyse/react/components.md +4 -4
- package/templates/skills/business-analyse/react/i18n-template.md +1 -1
- package/templates/skills/business-analyse/react/schema.md +14 -14
- package/templates/skills/business-analyse/references/acceptance-criteria.md +25 -25
- package/templates/skills/business-analyse/references/analysis-semantic-checks.md +3 -3
- package/templates/skills/business-analyse/references/compilation-structure-cards.md +1 -1
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +7 -7
- package/templates/skills/business-analyse/references/deploy-data-build.md +14 -12
- package/templates/skills/business-analyse/references/deploy-modes.md +10 -10
- package/templates/skills/business-analyse/references/detection-strategies.md +6 -6
- package/templates/skills/business-analyse/references/html-data-mapping.md +15 -15
- package/templates/skills/business-analyse/references/naming-conventions.md +4 -4
- package/templates/skills/business-analyse/references/review-data-mapping.md +29 -29
- package/templates/skills/business-analyse/references/robustness-checks.md +36 -33
- package/templates/skills/business-analyse/references/spec-auto-inference.md +2 -2
- package/templates/skills/business-analyse/references/ui-dashboard-spec.md +1 -1
- package/templates/skills/business-analyse/references/ui-resource-cards.md +1 -1
- package/templates/skills/business-analyse/references/validation-checklist.md +9 -6
- package/templates/skills/business-analyse/references/wireframe-svg-style-guide.md +2 -2
- package/templates/skills/business-analyse/schemas/application-schema.json +8 -8
- package/templates/skills/business-analyse/schemas/feature-schema.json +3 -3
- package/templates/skills/business-analyse/schemas/index-schema.json +47 -0
- package/templates/skills/business-analyse/schemas/project-schema.json +6 -6
- package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +1 -1
- package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +5 -3
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +4 -4
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +1 -1
- package/templates/skills/business-analyse/schemas/shared/common-defs.json +4 -3
- package/templates/skills/business-analyse/steps/step-00-init.md +93 -134
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +136 -172
- package/templates/skills/business-analyse/steps/step-02-structure.md +175 -0
- package/templates/skills/business-analyse/steps/step-03-specify.md +198 -0
- package/templates/skills/business-analyse/steps/step-04-consolidate.md +478 -0
- package/templates/skills/business-analyse/steps/step-05-deploy.md +220 -0
- package/templates/skills/business-analyse/steps/step-06-review.md +51 -69
- package/templates/skills/business-analyse/templates/tpl-frd.md +1 -1
- package/templates/skills/business-analyse/templates/tpl-handoff.md +20 -17
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +2 -2
- package/templates/skills/business-analyse/templates-react.md +2 -2
- package/templates/skills/derive-prd/SKILL.md +92 -0
- package/templates/skills/derive-prd/references/acceptance-criteria.md +169 -0
- package/templates/skills/derive-prd/references/entity-domain-mapping.md +115 -0
- package/templates/skills/{business-analyse → derive-prd}/references/handoff-file-templates.md +131 -120
- package/templates/skills/{business-analyse → derive-prd}/references/handoff-mappings.md +95 -95
- package/templates/skills/{business-analyse → derive-prd}/references/handoff-seeddata-generation.md +312 -312
- package/templates/skills/{business-analyse → derive-prd}/references/prd-generation.md +262 -258
- package/templates/skills/derive-prd/references/readiness-scoring.md +104 -0
- package/templates/skills/derive-prd/schemas/handoff-schema.json +95 -0
- package/templates/skills/derive-prd/steps/step-00-validate.md +130 -0
- package/templates/skills/derive-prd/steps/step-01-transform.md +206 -0
- package/templates/skills/derive-prd/steps/step-02-export.md +181 -0
- package/templates/skills/{business-analyse → derive-prd}/templates/tpl-progress.md +172 -172
- package/templates/skills/ralph-loop/SKILL.md +10 -4
- package/templates/skills/ralph-loop/references/category-completeness.md +20 -4
- package/templates/skills/ralph-loop/references/compact-loop.md +80 -48
- package/templates/skills/ralph-loop/references/init-resume-recovery.md +4 -2
- package/templates/skills/ralph-loop/references/parallel-execution.md +27 -27
- package/templates/skills/ralph-loop/steps/step-00-init.md +19 -9
- package/templates/skills/ralph-loop/steps/step-01-task.md +12 -4
- package/templates/skills/ralph-loop/steps/step-02-execute.md +9 -4
- package/templates/skills/ralph-loop/steps/step-03-commit.md +1 -1
- package/templates/skills/ralph-loop/steps/step-04-check.md +5 -21
- package/templates/skills/ralph-loop/steps/step-05-report.md +6 -1
- package/templates/skills/apex/references/agent-teams-protocol.md +0 -203
- package/templates/skills/business-analyse/_architecture.md +0 -124
- package/templates/skills/business-analyse/_elicitation.md +0 -206
- package/templates/skills/business-analyse/_module-loop.md +0 -115
- package/templates/skills/business-analyse/_suggestions.md +0 -34
- package/templates/skills/business-analyse/questionnaire/00-application.md +0 -160
- package/templates/skills/business-analyse/questionnaire/00b-project.md +0 -85
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +0 -189
- package/templates/skills/business-analyse/questionnaire/03-scope.md +0 -164
- package/templates/skills/business-analyse/questionnaire/04-data.md +0 -88
- package/templates/skills/business-analyse/questionnaire/05-integrations.md +0 -58
- package/templates/skills/business-analyse/questionnaire/06-security.md +0 -68
- package/templates/skills/business-analyse/questionnaire/07-ui.md +0 -76
- package/templates/skills/business-analyse/questionnaire/08-performance.md +0 -42
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +0 -45
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +0 -43
- package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +0 -59
- package/templates/skills/business-analyse/questionnaire/12-migration.md +0 -58
- package/templates/skills/business-analyse/questionnaire/13-cross-module.md +0 -69
- package/templates/skills/business-analyse/questionnaire/14-risk-assumptions.md +0 -135
- package/templates/skills/business-analyse/questionnaire/15-success-metrics.md +0 -136
- package/templates/skills/business-analyse/references/agent-module-prompt.md +0 -362
- package/templates/skills/business-analyse/references/agent-pooling-best-practices.md +0 -557
- package/templates/skills/business-analyse/references/cache-warming-strategy.md +0 -566
- package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +0 -41
- package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +0 -74
- package/templates/skills/business-analyse/references/cadrage-pre-analysis.md +0 -115
- package/templates/skills/business-analyse/references/cadrage-shared-modules.md +0 -68
- package/templates/skills/business-analyse/references/cadrage-structure-cards.md +0 -85
- package/templates/skills/business-analyse/references/team-orchestration.md +0 -1022
- package/templates/skills/business-analyse/references/validate-incremental-html.md +0 -121
- package/templates/skills/business-analyse/steps/step-01b-applications.md +0 -419
- package/templates/skills/business-analyse/steps/step-02-decomposition.md +0 -387
- package/templates/skills/business-analyse/steps/step-03a-data.md +0 -16
- package/templates/skills/business-analyse/steps/step-03a1-setup.md +0 -506
- package/templates/skills/business-analyse/steps/step-03a2-analysis.md +0 -301
- package/templates/skills/business-analyse/steps/step-03b-ui.md +0 -425
- package/templates/skills/business-analyse/steps/step-03c-compile.md +0 -611
- package/templates/skills/business-analyse/steps/step-03d-validate.md +0 -783
- package/templates/skills/business-analyse/steps/step-04-consolidation.md +0 -17
- package/templates/skills/business-analyse/steps/step-04a-collect.md +0 -415
- package/templates/skills/business-analyse/steps/step-04b-analyze.md +0 -163
- package/templates/skills/business-analyse/steps/step-04c-decide.md +0 -186
- package/templates/skills/business-analyse/steps/step-05a-handoff.md +0 -840
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +0 -522
- package/templates/skills/business-analyse/steps/step-05c-ralph-readiness.md +0 -703
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# Robustness Checks for Business Analysis
|
|
2
2
|
|
|
3
|
+
> **Authoritative minimums:** See `_shared.md` § "Minimum Counts" for the single source of truth on all minimum thresholds.
|
|
3
4
|
> **Objective:** Prevent incomplete specifications and broken references from reaching development.
|
|
4
5
|
|
|
5
6
|
## Overview
|
|
@@ -8,10 +9,10 @@ This document consolidates all robustness checks implemented across the business
|
|
|
8
9
|
|
|
9
10
|
---
|
|
10
11
|
|
|
11
|
-
## Phase 1: Module Specification Checklist (Step-
|
|
12
|
+
## Phase 1: Module Specification Checklist (Step-03)
|
|
12
13
|
|
|
13
|
-
> **When:**
|
|
14
|
-
> **Blocking:** YES - Module CANNOT proceed to
|
|
14
|
+
> **When:** At end of step-03, before marking module status = "specified"
|
|
15
|
+
> **Blocking:** YES - Module CANNOT proceed to consolidation with failing checks
|
|
15
16
|
|
|
16
17
|
### Purpose
|
|
17
18
|
|
|
@@ -42,7 +43,7 @@ Ensures each module has ALL required components before being marked as "specifie
|
|
|
42
43
|
| 3.1 | Use cases count | ≥6 | YES | CRUD (5) + 1 business-specific minimum |
|
|
43
44
|
| 3.2 | UC module prefixes | All UCs use module prefix | YES | Prevents ID collisions |
|
|
44
45
|
| 3.3 | Functional requirements count | ≥4 | YES | FRs must cover key functionality |
|
|
45
|
-
| 3.4 | UC-FR linkage | Every UC has ≥1 linked FR |
|
|
46
|
+
| 3.4 | UC-FR linkage | Every UC has ≥1 linked FR | NO (WARNING) | Orphan UCs indicate incomplete requirements |
|
|
46
47
|
| 3.5 | FR-BR linkage | Every FR has ≥1 linked BR | NO (WARNING) | FRs without BRs may lack validation logic |
|
|
47
48
|
|
|
48
49
|
#### SECTION 4: Permissions (3 checks)
|
|
@@ -74,17 +75,19 @@ Ensures each module has ALL required components before being marked as "specifie
|
|
|
74
75
|
|
|
75
76
|
| # | Check | Minimum | Blocking | Rationale |
|
|
76
77
|
|---|-------|---------|----------|-----------|
|
|
77
|
-
| 7.1 | CORE seed data
|
|
78
|
+
| 7.1 | CORE seed data arrays | All 9 arrays present (per `_shared.md` § "Minimum Counts") | YES | Missing CORE data breaks deployment |
|
|
78
79
|
| 7.2 | Business seed data | Template defined | NO (WARNING) | Helps with testing |
|
|
79
80
|
|
|
80
|
-
**CORE
|
|
81
|
-
1. `
|
|
82
|
-
2. `
|
|
83
|
-
3. `
|
|
84
|
-
4. `
|
|
85
|
-
5. `
|
|
86
|
-
6. `
|
|
87
|
-
7. `
|
|
81
|
+
**CORE arrays required (9 total — see `_shared.md` § "seedDataCore arrays"):**
|
|
82
|
+
1. `navigationApplications` — required once per application
|
|
83
|
+
2. `applicationRoles` — required once per application
|
|
84
|
+
3. `navigationModules` — one per module
|
|
85
|
+
4. `navigationSections` — one per section (list, detail, create, etc.)
|
|
86
|
+
5. `navigationResources` — optional per resource
|
|
87
|
+
6. `navigationTranslations` — 4 languages per nav module
|
|
88
|
+
7. `permissions` — CRUD + business actions per module
|
|
89
|
+
8. `rolePermissions` — role to permission mappings
|
|
90
|
+
9. `permissionConstants` — PascalCase constants for code
|
|
88
91
|
|
|
89
92
|
#### SECTION 8: API Endpoints (2 checks)
|
|
90
93
|
|
|
@@ -113,7 +116,7 @@ Ensures each module has ALL required components before being marked as "specifie
|
|
|
113
116
|
2. **DISPLAY** table of failures with details
|
|
114
117
|
3. **ACTIONS:**
|
|
115
118
|
- Fix ALL blocking failures
|
|
116
|
-
- Re-run step-
|
|
119
|
+
- Re-run step-03 module specification
|
|
117
120
|
- Proceed only when ALL blocking checks pass
|
|
118
121
|
|
|
119
122
|
**Example output:**
|
|
@@ -133,7 +136,7 @@ ACTIONS REQUIRED:
|
|
|
133
136
|
1. Add business rules in ≥1 other category (CALC, WF, SEC, or DATA)
|
|
134
137
|
2. Add 2 more use cases (business-specific)
|
|
135
138
|
3. Create wireframe for "Settings" section
|
|
136
|
-
4. Re-run step-
|
|
139
|
+
4. Re-run step-03 validation
|
|
137
140
|
|
|
138
141
|
DO NOT PROCEED TO CONSOLIDATION UNTIL ALL CHECKS PASS
|
|
139
142
|
═══════════════════════════════════════════════════════════════
|
|
@@ -226,7 +229,7 @@ BLOCKING ERRORS:
|
|
|
226
229
|
|
|
227
230
|
ACTIONS REQUIRED:
|
|
228
231
|
1. Fix ALL unresolved references listed above
|
|
229
|
-
2. Return to step-
|
|
232
|
+
2. Return to step-03 for affected modules
|
|
230
233
|
3. Re-run step-04 consolidation
|
|
231
234
|
|
|
232
235
|
DO NOT PROCEED TO HANDOFF UNTIL ALL REFERENCES RESOLVED
|
|
@@ -261,9 +264,9 @@ DEVELOPMENT CANNOT PROCEED WITH CIRCULAR DEPENDENCIES
|
|
|
261
264
|
|
|
262
265
|
---
|
|
263
266
|
|
|
264
|
-
## Phase 3: Ralph Readiness Validation (Step-
|
|
267
|
+
## Phase 3: Ralph Readiness Validation (Step-05)
|
|
265
268
|
|
|
266
|
-
> **When:** After artifacts deployed (step-
|
|
269
|
+
> **When:** After artifacts deployed (step-05), before launching /ralph-loop
|
|
267
270
|
> **Blocking:** YES - Development blocked if critical checks fail
|
|
268
271
|
|
|
269
272
|
### Purpose
|
|
@@ -275,10 +278,10 @@ Final gate to ensure business analysis is 100% ready for implementation. Catches
|
|
|
275
278
|
| # | Category | Checks | Blocking | Purpose |
|
|
276
279
|
|---|----------|--------|----------|---------|
|
|
277
280
|
| 1 | Module Status | All modules status = "handed-off" | YES | Incomplete modules break ralph-loop |
|
|
278
|
-
| 2 | PRD Files | All
|
|
281
|
+
| 2 | PRD Files | All .ralph/prd-{module}.json files exist, valid structure, file counts match index.json | YES | Ralph-loop reads PRDs for tasks |
|
|
279
282
|
| 3 | Dependency Graph | Valid, no cycles, topological order correct | YES | Determines module implementation order |
|
|
280
283
|
| 4 | Cross-Module References | All references resolvable | YES | Prevents FK constraint errors |
|
|
281
|
-
| 5 | Handoff Completeness | All
|
|
284
|
+
| 5 | Handoff Completeness | All 8 file categories, brToCodeMapping, apiEndpointSummary | YES | Missing data breaks code generation |
|
|
282
285
|
| 6 | i18n Keys | All keys have 4 languages | NO (WARNING) | Missing translations won't block dev |
|
|
283
286
|
| 7 | Master Feature | Status = "handed-off", handoff complete | YES | Ralph-loop needs master handoff |
|
|
284
287
|
| 8 | Progress Tracker | File exists, structure valid, task count matches | NO (WARNING) | Used for progress tracking |
|
|
@@ -337,7 +340,7 @@ Status: NOT READY FOR DEVELOPMENT ✗
|
|
|
337
340
|
Critical Issues Found:
|
|
338
341
|
✗ Module status validation: FAIL (1/5 modules incomplete)
|
|
339
342
|
- Reporting module status is "specified", must be "handed-off"
|
|
340
|
-
- Fix: Return to step-
|
|
343
|
+
- Fix: Return to step-05-deploy.md for Reporting module
|
|
341
344
|
|
|
342
345
|
✗ PRD files validation: FAIL (1/5 files invalid)
|
|
343
346
|
- prd-Reporting.json has wrong structure (filesToCreate at root level)
|
|
@@ -345,7 +348,7 @@ Critical Issues Found:
|
|
|
345
348
|
|
|
346
349
|
Required Actions:
|
|
347
350
|
1. Fix all critical issues listed above
|
|
348
|
-
2. Re-run validation: load step-
|
|
351
|
+
2. Re-run validation: load step-05-deploy.md
|
|
349
352
|
3. Only proceed to /ralph-loop when all critical checks pass
|
|
350
353
|
|
|
351
354
|
DO NOT PROCEED TO /RALPH-LOOP UNTIL ALL CRITICAL CHECKS PASS
|
|
@@ -411,7 +414,7 @@ WHY: This will cause FK constraint violation in database
|
|
|
411
414
|
HOW TO FIX:
|
|
412
415
|
Option 1: Create "Task" entity in Projects module
|
|
413
416
|
Option 2: Remove reference from TimeEntry (change taskId to projectId)
|
|
414
|
-
WHERE: Return to step-
|
|
417
|
+
WHERE: Return to step-03-specify.md for TimeTracking module
|
|
415
418
|
```
|
|
416
419
|
|
|
417
420
|
---
|
|
@@ -430,7 +433,7 @@ WHERE: Return to step-03a1-setup.md for TimeTracking module
|
|
|
430
433
|
|
|
431
434
|
**Fix:**
|
|
432
435
|
1. Add missing components until minimums met
|
|
433
|
-
2. Re-run step-
|
|
436
|
+
2. Re-run step-03 validation
|
|
434
437
|
3. Proceed only when ALL blocking checks pass
|
|
435
438
|
|
|
436
439
|
---
|
|
@@ -477,9 +480,9 @@ WHERE: Return to step-03a1-setup.md for TimeTracking module
|
|
|
477
480
|
3. **Option 3: Remove unnecessary dependency**
|
|
478
481
|
- Review if dependency is truly needed
|
|
479
482
|
- Remove if redundant
|
|
480
|
-
4. Return to step-02, fix dependency graph
|
|
481
|
-
5. Re-run step-03 for affected modules
|
|
482
|
-
6. Re-run step-04
|
|
483
|
+
4. Return to step-02-structure, fix dependency graph
|
|
484
|
+
5. Re-run step-03-specify for affected modules
|
|
485
|
+
6. Re-run step-04-consolidate
|
|
483
486
|
|
|
484
487
|
---
|
|
485
488
|
|
|
@@ -494,11 +497,11 @@ WHERE: Return to step-03a1-setup.md for TimeTracking module
|
|
|
494
497
|
2. Identify missing/invalid artifacts
|
|
495
498
|
|
|
496
499
|
**Fix:**
|
|
497
|
-
- **Module status incomplete:** Return to step-
|
|
500
|
+
- **Module status incomplete:** Return to step-05-deploy for affected module
|
|
498
501
|
- **PRD files invalid:** Re-run `ss derive-prd` for affected module
|
|
499
|
-
- **Handoff incomplete:** Return to step-
|
|
500
|
-
- **Cross-module refs broken:** Return to step-04, fix references
|
|
501
|
-
- Re-run step-
|
|
502
|
+
- **Handoff incomplete:** Return to step-05-deploy, complete handoff section
|
|
503
|
+
- **Cross-module refs broken:** Return to step-04-consolidate, fix references
|
|
504
|
+
- Re-run step-05-deploy after fixes
|
|
502
505
|
|
|
503
506
|
---
|
|
504
507
|
|
|
@@ -524,7 +527,7 @@ WHERE: Return to step-03a1-setup.md for TimeTracking module
|
|
|
524
527
|
- Application marked as "consolidated"
|
|
525
528
|
- Ready for handoff
|
|
526
529
|
|
|
527
|
-
### Ralph Readiness
|
|
530
|
+
### Ralph Readiness (Step-05)
|
|
528
531
|
|
|
529
532
|
**Target:**
|
|
530
533
|
- 100% critical checks passed
|
|
@@ -532,7 +535,7 @@ WHERE: Return to step-03a1-setup.md for TimeTracking module
|
|
|
532
535
|
|
|
533
536
|
**Success:**
|
|
534
537
|
- Application ready for /ralph-loop
|
|
535
|
-
-
|
|
538
|
+
- Development can proceed with full confidence
|
|
536
539
|
|
|
537
540
|
---
|
|
538
541
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Specification: Auto-Inference Rules
|
|
2
2
|
|
|
3
|
-
> Reference for step-
|
|
3
|
+
> Reference for step-03-specify.md — convention/override depth auto-generation from entity definitions.
|
|
4
4
|
|
|
5
5
|
## Entity Attribute → SmartTable Column
|
|
6
6
|
|
|
@@ -76,7 +76,7 @@ IF coverageMatrix[module].detailTabs EXISTS:
|
|
|
76
76
|
FOR EACH tabName IN detailTabs:
|
|
77
77
|
IF tabName matches a 1:N relationship entity → SmartTable tab
|
|
78
78
|
ELIF tabName == "Historique"/"History" → Timeline tab
|
|
79
|
-
ELSE → custom DetailCard tab (contents TBD in step-
|
|
79
|
+
ELSE → custom DetailCard tab (contents TBD in step-03)
|
|
80
80
|
|
|
81
81
|
# 3. If no cadrage tabs, auto-infer from relationships
|
|
82
82
|
ELSE:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# UI: Resource Structure Cards
|
|
2
2
|
|
|
3
|
-
> Reference for step-
|
|
3
|
+
> Reference for step-03-specify.md — exact JSON formats for section resources (SmartTable, SmartForm) and wireframes.
|
|
4
4
|
|
|
5
5
|
## specification.sections[] (with resources)
|
|
6
6
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# Module Specification Checklist
|
|
2
2
|
|
|
3
|
+
> **Authoritative minimums:** See `_shared.md` for the single source of truth on all minimum thresholds.
|
|
3
4
|
> **CRITICAL:** This checklist MUST be FULLY COMPLETED before marking module status = "specified".
|
|
4
5
|
> **Rationale:** Prevents incomplete modules from reaching handoff, reduces ralph-loop failures.
|
|
5
6
|
|
|
@@ -12,7 +13,7 @@ const checklist = {
|
|
|
12
13
|
// SECTION 1: DATA MODEL (BLOCKING)
|
|
13
14
|
entities: {
|
|
14
15
|
minimum: 2,
|
|
15
|
-
actual:
|
|
16
|
+
actual: analysis.entities.length,
|
|
16
17
|
status: actual >= minimum ? "PASS" : "FAIL",
|
|
17
18
|
blocking: true,
|
|
18
19
|
details: "At least 2 entities required for a meaningful module"
|
|
@@ -34,7 +35,7 @@ const checklist = {
|
|
|
34
35
|
|
|
35
36
|
entitySchemaCompliance: {
|
|
36
37
|
check: "All entities use canonical format: attributes[] (not fields[]), relationships[] array present",
|
|
37
|
-
status:
|
|
38
|
+
status: analysis.entities.every(e =>
|
|
38
39
|
Array.isArray(e.attributes) && e.attributes.length > 0 &&
|
|
39
40
|
!e.fields && !e.tableName && !e.primaryKey
|
|
40
41
|
) ? "PASS" : "FAIL",
|
|
@@ -189,7 +190,7 @@ const checklist = {
|
|
|
189
190
|
// SECTION 6: I18N & MESSAGES (BLOCKING)
|
|
190
191
|
i18nKeys: {
|
|
191
192
|
minimum: 42, // Realistic minimum for a module
|
|
192
|
-
actual: specification.i18nKeys.length,
|
|
193
|
+
actual: Object.keys(specification.i18nKeys || {}).length,
|
|
193
194
|
status: actual >= minimum ? "PASS" : "FAIL",
|
|
194
195
|
blocking: true,
|
|
195
196
|
details: "Keys needed: entities (×2), fields, messages, validation, navigation"
|
|
@@ -212,8 +213,10 @@ const checklist = {
|
|
|
212
213
|
|
|
213
214
|
// SECTION 7: SEED DATA (BLOCKING)
|
|
214
215
|
seedDataCore: {
|
|
215
|
-
check: "All
|
|
216
|
+
check: "All 9 CORE seed data sections present",
|
|
216
217
|
requiredSections: [
|
|
218
|
+
"navigationApplications",
|
|
219
|
+
"applicationRoles",
|
|
217
220
|
"navigationModules",
|
|
218
221
|
"navigationSections",
|
|
219
222
|
"navigationResources",
|
|
@@ -266,7 +269,7 @@ const checklist = {
|
|
|
266
269
|
status: Array.isArray(specification.gherkinScenarios) ? "PASS" : "FAIL",
|
|
267
270
|
blocking: true,
|
|
268
271
|
details: "gherkinScenarios MUST be an array [{feature, scenarios}], not a single object. " +
|
|
269
|
-
"Auto-fix: wrap in array [gherkinScenarios]. See step-
|
|
272
|
+
"Auto-fix: wrap in array [gherkinScenarios]. See step-03 ABSOLUTE FORMAT CHECKS."
|
|
270
273
|
},
|
|
271
274
|
|
|
272
275
|
gherkinContent: {
|
|
@@ -308,7 +311,7 @@ IF blockingFailures.length > 0:
|
|
|
308
311
|
|
|
309
312
|
ACTIONS REQUIRED:
|
|
310
313
|
1. Fix ALL blocking failures listed above
|
|
311
|
-
2. Re-run step-
|
|
314
|
+
2. Re-run step-03 validation
|
|
312
315
|
3. DO NOT mark module as "specified" until ALL blocking checks pass
|
|
313
316
|
|
|
314
317
|
STOP - DO NOT PROCEED TO UPDATE STATUS
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> **Purpose:** Self-contained specification for generating professional SVG wireframes from ASCII art.
|
|
4
4
|
> This document is sent as the FULL prompt to a Sonnet Task agent alongside the ASCII wireframe.
|
|
5
|
-
> Referenced by: `
|
|
5
|
+
> Referenced by: `step-05-deploy.md` (Section 8: Generate SVG Wireframes)
|
|
6
6
|
|
|
7
7
|
## Agent Prompt Template
|
|
8
8
|
|
|
@@ -280,7 +280,7 @@ This signals the system to use the ASCII wireframe instead.
|
|
|
280
280
|
|
|
281
281
|
## Orchestration Instructions
|
|
282
282
|
|
|
283
|
-
> **FOR the agent executing step-
|
|
283
|
+
> **FOR the agent executing step-03 or step-05**: Follow this process to generate SVGs.
|
|
284
284
|
|
|
285
285
|
### Step-by-step process:
|
|
286
286
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "application-schema.json",
|
|
4
4
|
"title": "SmartStack Business Analysis - Application Level",
|
|
5
|
-
"description": "Master
|
|
5
|
+
"description": "Master index.json for multi-module application analysis. Published to docs/{app}/business-analyse/v{X.Y}/index.json",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"required": ["id", "version", "status", "scope", "metadata"],
|
|
8
8
|
"properties": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"scope": {
|
|
25
25
|
"type": "string",
|
|
26
26
|
"const": "application",
|
|
27
|
-
"description": "Marks this as an application-level
|
|
27
|
+
"description": "Marks this as an application-level index.json"
|
|
28
28
|
},
|
|
29
29
|
|
|
30
30
|
"metadata": {
|
|
@@ -55,16 +55,16 @@
|
|
|
55
55
|
},
|
|
56
56
|
"applicationCode": {
|
|
57
57
|
"type": "string",
|
|
58
|
-
"description": "PascalCase application code for navigation hierarchy (e.g., HumanResources). Confirmed in step-
|
|
58
|
+
"description": "PascalCase application code for navigation hierarchy (e.g., HumanResources). Confirmed in step-02."
|
|
59
59
|
},
|
|
60
60
|
"applicationRoute": {
|
|
61
61
|
"type": "string",
|
|
62
62
|
"pattern": "^/[a-z-/]+$",
|
|
63
|
-
"description": "Kebab-case route path for navigation (e.g., /human-resources). Confirmed in step-
|
|
63
|
+
"description": "Kebab-case route path for navigation (e.g., /human-resources). Confirmed in step-02."
|
|
64
64
|
},
|
|
65
65
|
"applicationIcon": {
|
|
66
66
|
"type": "string",
|
|
67
|
-
"description": "Lucide icon name for application navigation entry (e.g., users, shopping-cart). Confirmed in step-
|
|
67
|
+
"description": "Lucide icon name for application navigation entry (e.g., users, shopping-cart). Confirmed in step-02."
|
|
68
68
|
},
|
|
69
69
|
"workflow": {
|
|
70
70
|
"type": "object",
|
|
@@ -215,7 +215,7 @@
|
|
|
215
215
|
|
|
216
216
|
"modules": {
|
|
217
217
|
"type": "array",
|
|
218
|
-
"description": "Enriched by step-02-
|
|
218
|
+
"description": "Enriched by step-02-structure: module registry with dependencies",
|
|
219
219
|
"items": {
|
|
220
220
|
"type": "object",
|
|
221
221
|
"required": ["code", "description"],
|
|
@@ -244,7 +244,7 @@
|
|
|
244
244
|
},
|
|
245
245
|
"featureJsonPath": {
|
|
246
246
|
"type": ["string", "null"],
|
|
247
|
-
"description": "Path to the module-level
|
|
247
|
+
"description": "Path to the module-level index.json once created"
|
|
248
248
|
},
|
|
249
249
|
"priority": {
|
|
250
250
|
"type": "string",
|
|
@@ -287,7 +287,7 @@
|
|
|
287
287
|
|
|
288
288
|
"dependencyGraph": {
|
|
289
289
|
"type": "object",
|
|
290
|
-
"description": "Enriched by step-02-
|
|
290
|
+
"description": "Enriched by step-02-structure: module dependency graph",
|
|
291
291
|
"properties": {
|
|
292
292
|
"edges": {
|
|
293
293
|
"type": "array",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "feature.json",
|
|
3
|
+
"$id": "feature-schema.json",
|
|
4
4
|
"title": "SmartStack Business Analysis Feature v5.0",
|
|
5
|
-
"description": "Root schema for module-level
|
|
5
|
+
"description": "Root schema for module-level index.json. References sub-schemas in sections/ and shared/. Each BA step loads only the sub-schema(s) it needs.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"required": ["id", "version", "status", "metadata"],
|
|
8
8
|
"properties": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
}
|
|
44
44
|
},
|
|
45
45
|
|
|
46
|
-
"$comment": "Sub-schema loading guide per BA step: step-00-init → metadata-schema.json | step-01-cadrage → discovery-schema.json (module) OR application-schema.json (master) | step-02-
|
|
46
|
+
"$comment": "Sub-schema loading guide per BA step: step-00-init → metadata-schema.json | step-01-cadrage → discovery-schema.json (module) OR application-schema.json (master) | step-02-structure → application-schema.json (modules[], dependencyGraph) | step-03-specify → analysis-schema.json + specification-schema.json | step-04-consolidate → validation-schema.json + application-schema.json (consolidation) | step-05-deploy → handoff-schema.json (filesToCreate, brToCodeMapping, apiEndpointSummary) + (prd, progress, manifest, ba-interactive.html) | step-06-review → applies ba-review.json corrections, creates new version",
|
|
47
47
|
|
|
48
48
|
"$defs": {
|
|
49
49
|
"stepStatus": { "$ref": "shared/common-defs.json#/$defs/stepStatus" },
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "index-schema.json",
|
|
4
|
+
"title": "Business Analysis Index",
|
|
5
|
+
"description": "Index file for granular business analysis JSON files. References individual thematic files (entities, rules, usecases, etc.) with metadata and hashes.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["metadata", "files"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"metadata": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"required": ["featureId", "moduleCode", "version", "status"],
|
|
12
|
+
"properties": {
|
|
13
|
+
"featureId": { "type": "string", "description": "Unique feature identifier (e.g. FEAT-001)" },
|
|
14
|
+
"moduleCode": { "type": "string", "description": "PascalCase module code (e.g. Employees)" },
|
|
15
|
+
"applicationCode": { "type": "string", "description": "PascalCase application code (e.g. HumanResources)" },
|
|
16
|
+
"version": { "type": "string", "description": "Semantic version (e.g. 1.0)" },
|
|
17
|
+
"status": { "type": "string", "enum": ["draft", "identified", "specified", "validated", "reviewed"] },
|
|
18
|
+
"createdAt": { "type": "string", "format": "date-time" },
|
|
19
|
+
"lastModified": { "type": "string", "format": "date-time" }
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"files": {
|
|
23
|
+
"type": "object",
|
|
24
|
+
"description": "References to individual JSON files",
|
|
25
|
+
"additionalProperties": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"required": ["path"],
|
|
28
|
+
"properties": {
|
|
29
|
+
"path": { "type": "string", "description": "Relative path to the JSON file" },
|
|
30
|
+
"hash": { "type": "string", "description": "Content hash for change detection" },
|
|
31
|
+
"lastModified": { "type": "string", "description": "Last modification date" }
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"summary": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"properties": {
|
|
38
|
+
"entityCount": { "type": "integer" },
|
|
39
|
+
"ruleCount": { "type": "integer" },
|
|
40
|
+
"useCaseCount": { "type": "integer" },
|
|
41
|
+
"permissionCount": { "type": "integer" },
|
|
42
|
+
"screenCount": { "type": "integer" },
|
|
43
|
+
"dependencies": { "type": "array", "items": { "type": "string" } }
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "project-schema.json",
|
|
4
4
|
"title": "SmartStack Business Analysis - Project Level",
|
|
5
|
-
"description": "Master
|
|
5
|
+
"description": "Master index.json for multi-application project analysis. Published to docs/business-analyse/v{X.Y}/index.json. Only created when 2+ applications are identified.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"required": ["id", "version", "status", "scope", "metadata"],
|
|
8
8
|
"properties": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"scope": {
|
|
25
25
|
"type": "string",
|
|
26
26
|
"const": "project",
|
|
27
|
-
"description": "Marks this as a project-level
|
|
27
|
+
"description": "Marks this as a project-level index.json (multi-application)"
|
|
28
28
|
},
|
|
29
29
|
|
|
30
30
|
"metadata": {
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"properties": {
|
|
80
80
|
"init": { "$ref": "#/$defs/stepStatus" },
|
|
81
81
|
"cadrage": { "$ref": "#/$defs/stepStatus" },
|
|
82
|
-
"
|
|
82
|
+
"structure": { "$ref": "#/$defs/stepStatus" },
|
|
83
83
|
"specify": { "$ref": "#/$defs/stepStatus" },
|
|
84
84
|
"consolidation": { "$ref": "#/$defs/stepStatus" },
|
|
85
85
|
"handoff": { "$ref": "#/$defs/stepStatus" }
|
|
@@ -219,7 +219,7 @@
|
|
|
219
219
|
|
|
220
220
|
"applications": {
|
|
221
221
|
"type": "array",
|
|
222
|
-
"description": "Enriched by step-
|
|
222
|
+
"description": "Enriched by step-02-structure: application registry",
|
|
223
223
|
"items": {
|
|
224
224
|
"type": "object",
|
|
225
225
|
"required": ["code", "name"],
|
|
@@ -273,7 +273,7 @@
|
|
|
273
273
|
},
|
|
274
274
|
"featureJsonPath": {
|
|
275
275
|
"type": ["string", "null"],
|
|
276
|
-
"description": "Path to the application-level
|
|
276
|
+
"description": "Path to the application-level index.json once created"
|
|
277
277
|
},
|
|
278
278
|
"estimatedComplexity": {
|
|
279
279
|
"type": "string",
|
|
@@ -285,7 +285,7 @@
|
|
|
285
285
|
|
|
286
286
|
"applicationDependencyGraph": {
|
|
287
287
|
"type": "object",
|
|
288
|
-
"description": "Enriched by step-
|
|
288
|
+
"description": "Enriched by step-02-structure: inter-application dependency graph",
|
|
289
289
|
"properties": {
|
|
290
290
|
"edges": {
|
|
291
291
|
"type": "array",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "analysis-schema.json",
|
|
4
4
|
"title": "SmartStack BA - Analysis",
|
|
5
|
-
"description": "Module-level analysis: objectives, business rules, entities, process flows, integrations, data lifecycle. Enriched by step-
|
|
5
|
+
"description": "Module-level analysis: objectives, business rules, entities, process flows, integrations, data lifecycle. Enriched by step-03-specify.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"objectives": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "handoff-schema.json",
|
|
4
4
|
"title": "SmartStack BA - Handoff",
|
|
5
|
-
"description": "Module-level handoff: file mapping (
|
|
5
|
+
"description": "Module-level handoff: file mapping (8 categories), BR-to-code mapping, API endpoint summary. Used by /derive-prd skill.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"complexity": { "type": "string", "enum": ["simple", "medium", "complex"] },
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
"api": { "type": "array", "items": { "$ref": "../shared/common-defs.json#/$defs/fileSpec" } },
|
|
16
16
|
"frontend": { "type": "array", "items": { "$ref": "../shared/common-defs.json#/$defs/fileSpec" } },
|
|
17
17
|
"seedData": { "type": "array", "items": { "$ref": "../shared/common-defs.json#/$defs/fileSpec" } },
|
|
18
|
-
"tests": { "type": "array", "items": { "$ref": "../shared/common-defs.json#/$defs/fileSpec" } }
|
|
19
|
-
|
|
18
|
+
"tests": { "type": "array", "items": { "$ref": "../shared/common-defs.json#/$defs/fileSpec" } },
|
|
19
|
+
"documentation": { "type": "array", "items": { "$ref": "../shared/common-defs.json#/$defs/fileSpec" } }
|
|
20
|
+
},
|
|
21
|
+
"required": ["domain", "application", "infrastructure", "api", "frontend", "seedData", "tests", "documentation"]
|
|
20
22
|
},
|
|
21
23
|
"brToCodeMapping": {
|
|
22
24
|
"type": "array",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "metadata-schema
|
|
3
|
+
"$id": "metadata-schema",
|
|
4
4
|
"title": "SmartStack BA - Metadata & Application Context",
|
|
5
5
|
"description": "Module metadata and inherited application context. Used by step-00-init.",
|
|
6
6
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"updatedAt": { "type": "string", "format": "date-time" },
|
|
14
14
|
"application": { "type": "string", "description": "Application name (PascalCase)" },
|
|
15
15
|
"module": { "type": "string", "description": "Module name (PascalCase)" },
|
|
16
|
-
"projectRef": { "type": ["string", "null"], "description": "Parent project ID (PROJ-XXX) when part of a multi-application project" },
|
|
16
|
+
"projectRef": { "type": ["string", "null"], "description": "Parent project ID (PROJ-XXX) when part of a multi-application project, null for standalone" },
|
|
17
17
|
"language": { "type": "string", "enum": ["fr", "en", "it", "de"] },
|
|
18
18
|
"featureDescription": { "type": "string" },
|
|
19
19
|
"featureType": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"mcpAvailable": { "type": "boolean" },
|
|
30
30
|
"scope": { "type": "string", "enum": ["application", "module"], "default": "module" },
|
|
31
31
|
"applicationRef": { "type": ["string", "null"], "description": "Parent application feature ID (FEAT-XXX)" },
|
|
32
|
-
"applicationPath": { "type": ["string", "null"], "description": "Path to parent application-level
|
|
32
|
+
"applicationPath": { "type": ["string", "null"], "description": "Path to parent application-level index.json" },
|
|
33
33
|
"moduleIndex": { "type": ["integer", "null"], "description": "Position in topological order (0-based)" },
|
|
34
34
|
"totalModules": { "type": ["integer", "null"] },
|
|
35
35
|
"inheritsRoles": { "type": "boolean", "default": false },
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
|
|
49
49
|
"applicationContext": {
|
|
50
50
|
"type": "object",
|
|
51
|
-
"description": "Inherited from parent application
|
|
51
|
+
"description": "Inherited from parent application index.json when part of multi-module analysis",
|
|
52
52
|
"properties": {
|
|
53
53
|
"applicationRoles": {
|
|
54
54
|
"type": "array",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "specification-schema.json",
|
|
4
4
|
"title": "SmartStack BA - Specification",
|
|
5
|
-
"description": "Module-level specification: actors, use cases, FRs, permissions, navigation, wireframes, dashboards, sections, resources. Enriched by step-
|
|
5
|
+
"description": "Module-level specification: actors, use cases, FRs, permissions, navigation, wireframes, dashboards, sections, resources. Enriched by step-03-specify.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"actors": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "common-defs
|
|
3
|
+
"$id": "common-defs",
|
|
4
4
|
"title": "SmartStack BA - Shared Definitions",
|
|
5
5
|
"description": "Reusable $defs shared across all BA sub-schemas",
|
|
6
6
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|
"moduleStatus": {
|
|
18
18
|
"type": "string",
|
|
19
|
-
"
|
|
19
|
+
"description": "Status of a module or application through the BA workflow. Module flow: draft → identified → specified → validated → reviewed → handed-off. Application flow: draft → framed → decomposed → specified → consolidated → handed-off.",
|
|
20
|
+
"enum": ["draft", "framed", "decomposed", "identified", "specified", "validated", "consolidated", "reviewed", "handed-off"]
|
|
20
21
|
},
|
|
21
22
|
|
|
22
23
|
"priority": {
|
|
@@ -47,7 +48,7 @@
|
|
|
47
48
|
"description": "Acceptance criteria describing how the implementation must match the wireframe layout. MANDATORY for Page and DashboardPage types."
|
|
48
49
|
},
|
|
49
50
|
"category": { "type": "string", "enum": ["core", "business"], "description": "SeedData category: core (navigation/permissions) or business (lookup tables)" },
|
|
50
|
-
"source": { "type": "string", "description": "Source path in
|
|
51
|
+
"source": { "type": "string", "description": "Source path in index.json for derivation" },
|
|
51
52
|
"description": { "type": "string" },
|
|
52
53
|
"pattern": { "type": "string", "description": "Reference pattern from existing codebase" },
|
|
53
54
|
"instructions": { "type": "string" },
|