@documentation-robotics/cli 0.1.8 → 0.1.10

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 (120) hide show
  1. package/README.md +18 -17
  2. package/dist/audit/nodes/ai/prompts.js +1 -0
  3. package/dist/audit/nodes/ai/prompts.js.map +2 -2
  4. package/dist/audit/relationships/ai/prompts.js +20 -29
  5. package/dist/audit/relationships/ai/prompts.js.map +2 -2
  6. package/dist/audit/relationships/analysis/gap-analyzer.js.map +1 -1
  7. package/dist/audit/relationships/analysis/layer-templates.js +36 -0
  8. package/dist/audit/relationships/analysis/layer-templates.js.map +2 -2
  9. package/dist/cli.js +8 -8
  10. package/dist/cli.js.map +2 -2
  11. package/dist/commands/reports.js +3 -3
  12. package/dist/commands/reports.js.map +1 -1
  13. package/dist/commands/show.js.map +1 -1
  14. package/dist/commands/upgrade.js +1 -1
  15. package/dist/commands/upgrade.js.map +1 -1
  16. package/dist/commands/validate.js.map +1 -1
  17. package/dist/commands/version.js +1 -1
  18. package/dist/core/layers.js +1 -0
  19. package/dist/core/layers.js.map +2 -2
  20. package/dist/core/migration-registry.js +59 -2
  21. package/dist/core/migration-registry.js.map +2 -2
  22. package/dist/core/model.js +3 -16
  23. package/dist/core/model.js.map +2 -2
  24. package/dist/core/spec-loader.js.map +1 -1
  25. package/dist/core/stats-collector.js +2 -0
  26. package/dist/core/stats-collector.js.map +2 -2
  27. package/dist/export/archimate-exporter.js.map +2 -2
  28. package/dist/export/json-schema-exporter.js.map +1 -1
  29. package/dist/export/markdown-exporter.js.map +1 -1
  30. package/dist/export/markdown-utils.js +1 -0
  31. package/dist/export/markdown-utils.js.map +2 -2
  32. package/dist/export/mermaid-markdown-exporter.js.map +1 -1
  33. package/dist/export/openapi-exporter.js.map +1 -1
  34. package/dist/export/plantuml-exporter.js.map +1 -1
  35. package/dist/export/report-formatters.js +2 -2
  36. package/dist/export/report-formatters.js.map +1 -1
  37. package/dist/export/types.js +1 -0
  38. package/dist/export/types.js.map +2 -2
  39. package/dist/generated/layer-registry.js +44 -31
  40. package/dist/generated/layer-registry.js.map +2 -2
  41. package/dist/generated/layer-types.js +1 -1
  42. package/dist/generated/layer-types.js.map +2 -2
  43. package/dist/generated/node-types.js +45 -0
  44. package/dist/generated/node-types.js.map +2 -2
  45. package/dist/generated/relationship-index.js +201 -19
  46. package/dist/generated/relationship-index.js.map +2 -2
  47. package/dist/import/archimate-importer.js.map +1 -1
  48. package/dist/import/openapi-importer.js.map +1 -1
  49. package/dist/integrations/claude_code/agents/dr-advisor.md +14 -13
  50. package/dist/integrations/claude_code/agents/dr-extractor.md +2 -2
  51. package/dist/integrations/claude_code/commands/dr-info.md +1 -1
  52. package/dist/integrations/claude_code/commands/dr-init.md +3 -3
  53. package/dist/integrations/claude_code/commands/dr-map.md +2 -2
  54. package/dist/integrations/claude_code/commands/dr-model.md +1 -1
  55. package/dist/integrations/claude_code/commands/dr-relate.md +14 -4
  56. package/dist/integrations/claude_code/docs/END_TO_END_WALKTHROUGH.md +3 -3
  57. package/dist/integrations/claude_code/docs/QUICK_START.md +1 -1
  58. package/dist/integrations/claude_code/docs/README.md +2 -2
  59. package/dist/integrations/claude_code/skills/dr_01_motivation_layer/SKILL.md +2 -2
  60. package/dist/integrations/claude_code/skills/dr_03_product_layer/SKILL.md +679 -0
  61. package/dist/integrations/claude_code/skills/{dr_08_dataset_layer → dr_09_dataset_layer}/SKILL.md +1 -1
  62. package/dist/integrations/claude_code/skills/dr_engineering_guide/SKILL.md +2 -2
  63. package/dist/integrations/github_copilot/agents/dr-advisor.md +14 -13
  64. package/dist/integrations/github_copilot/agents/dr-architect.md +15 -14
  65. package/dist/integrations/github_copilot/skills/dr_01_motivation_layer/SKILL.md +2 -2
  66. package/dist/integrations/github_copilot/skills/dr_03_product_layer/SKILL.md +253 -0
  67. package/dist/reports/model-report-orchestrator.js +3 -3
  68. package/dist/reports/model-report-orchestrator.js.map +1 -1
  69. package/dist/schemas/bundled/analyzers/cbm.json +2 -2
  70. package/dist/schemas/bundled/analyzers/manifest.json +2 -2
  71. package/dist/schemas/bundled/api.json +3 -3
  72. package/dist/schemas/bundled/apm.json +3 -3
  73. package/dist/schemas/bundled/application.json +3 -3
  74. package/dist/schemas/bundled/base.json +29 -1
  75. package/dist/schemas/bundled/business.json +1 -1
  76. package/dist/schemas/bundled/data-model.json +3 -3
  77. package/dist/schemas/bundled/data-store.json +3 -3
  78. package/dist/schemas/bundled/manifest.json +20 -13
  79. package/dist/schemas/bundled/motivation.json +1 -1
  80. package/dist/schemas/bundled/navigation.json +3 -3
  81. package/dist/schemas/bundled/product.json +469 -0
  82. package/dist/schemas/bundled/security.json +3 -3
  83. package/dist/schemas/bundled/technology.json +3 -3
  84. package/dist/schemas/bundled/testing.json +3 -3
  85. package/dist/schemas/bundled/ux.json +3 -3
  86. package/dist/server/server.js +4 -15
  87. package/dist/server/server.js.map +2 -2
  88. package/dist/telemetry/index.js +1 -1
  89. package/dist/utils/spec-installer.js +2 -2
  90. package/dist/utils/spec-installer.js.map +1 -1
  91. package/dist/utils/spec-version.js +1 -1
  92. package/dist/utils/spec-version.js.map +2 -2
  93. package/dist/viewer/README.md +6 -6
  94. package/dist/viewer/assets/main-BRPZyc36.css +1 -0
  95. package/dist/viewer/assets/main-BrpLargo.js +81 -0
  96. package/dist/viewer/index.html +2 -2
  97. package/dist/viewer/manifest.json +10 -10
  98. package/dist/viewer/version.json +1 -1
  99. package/package.json +1 -1
  100. package/dist/viewer/assets/main-CY0Xufuj.css +0 -1
  101. package/dist/viewer/assets/main-DtgErnwF.js +0 -81
  102. /package/dist/integrations/claude_code/skills/{dr_03_security_layer → dr_04_security_layer}/SKILL.md +0 -0
  103. /package/dist/integrations/claude_code/skills/{dr_04_application_layer → dr_05_application_layer}/SKILL.md +0 -0
  104. /package/dist/integrations/claude_code/skills/{dr_05_technology_layer → dr_06_technology_layer}/SKILL.md +0 -0
  105. /package/dist/integrations/claude_code/skills/{dr_06_api_layer → dr_07_api_layer}/SKILL.md +0 -0
  106. /package/dist/integrations/claude_code/skills/{dr_07_data_model_layer → dr_08_data_model_layer}/SKILL.md +0 -0
  107. /package/dist/integrations/claude_code/skills/{dr_09_ux_layer → dr_10_ux_layer}/SKILL.md +0 -0
  108. /package/dist/integrations/claude_code/skills/{dr_10_navigation_layer → dr_11_navigation_layer}/SKILL.md +0 -0
  109. /package/dist/integrations/claude_code/skills/{dr_11_apm_layer → dr_12_apm_layer}/SKILL.md +0 -0
  110. /package/dist/integrations/claude_code/skills/{dr_12_testing_layer → dr_13_testing_layer}/SKILL.md +0 -0
  111. /package/dist/integrations/github_copilot/skills/{dr_03_security_layer → dr_04_security_layer}/SKILL.md +0 -0
  112. /package/dist/integrations/github_copilot/skills/{dr_04_application_layer → dr_05_application_layer}/SKILL.md +0 -0
  113. /package/dist/integrations/github_copilot/skills/{dr_05_technology_layer → dr_06_technology_layer}/SKILL.md +0 -0
  114. /package/dist/integrations/github_copilot/skills/{dr_06_api_layer → dr_07_api_layer}/SKILL.md +0 -0
  115. /package/dist/integrations/github_copilot/skills/{dr_07_data_model_layer → dr_08_data_model_layer}/SKILL.md +0 -0
  116. /package/dist/integrations/github_copilot/skills/{dr_08_dataset_layer → dr_09_dataset_layer}/SKILL.md +0 -0
  117. /package/dist/integrations/github_copilot/skills/{dr_09_ux_layer → dr_10_ux_layer}/SKILL.md +0 -0
  118. /package/dist/integrations/github_copilot/skills/{dr_10_navigation_layer → dr_11_navigation_layer}/SKILL.md +0 -0
  119. /package/dist/integrations/github_copilot/skills/{dr_11_apm_layer → dr_12_apm_layer}/SKILL.md +0 -0
  120. /package/dist/integrations/github_copilot/skills/{dr_12_testing_layer → dr_13_testing_layer}/SKILL.md +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
- "specVersion": "0.8.4",
2
+ "specVersion": "0.9.0",
3
3
  "layers": [
4
4
  {
5
5
  "id": "motivation",
@@ -16,78 +16,85 @@
16
16
  "relationshipCount": 73
17
17
  },
18
18
  {
19
- "id": "security",
19
+ "id": "product",
20
20
  "number": 3,
21
+ "name": "Product Layer",
22
+ "nodeTypeCount": 5,
23
+ "relationshipCount": 19
24
+ },
25
+ {
26
+ "id": "security",
27
+ "number": 4,
21
28
  "name": "Security Layer",
22
29
  "nodeTypeCount": 29,
23
30
  "relationshipCount": 183
24
31
  },
25
32
  {
26
33
  "id": "application",
27
- "number": 4,
34
+ "number": 5,
28
35
  "name": "Application Layer",
29
36
  "nodeTypeCount": 9,
30
37
  "relationshipCount": 79
31
38
  },
32
39
  {
33
40
  "id": "technology",
34
- "number": 5,
41
+ "number": 6,
35
42
  "name": "Technology Layer",
36
43
  "nodeTypeCount": 13,
37
44
  "relationshipCount": 128
38
45
  },
39
46
  {
40
47
  "id": "api",
41
- "number": 6,
48
+ "number": 7,
42
49
  "name": "API Layer",
43
50
  "nodeTypeCount": 27,
44
51
  "relationshipCount": 196
45
52
  },
46
53
  {
47
54
  "id": "data-model",
48
- "number": 7,
55
+ "number": 8,
49
56
  "name": "Data Model Layer",
50
57
  "nodeTypeCount": 9,
51
58
  "relationshipCount": 71
52
59
  },
53
60
  {
54
61
  "id": "data-store",
55
- "number": 8,
62
+ "number": 9,
56
63
  "name": "Data Store Layer",
57
64
  "nodeTypeCount": 11,
58
65
  "relationshipCount": 106
59
66
  },
60
67
  {
61
68
  "id": "ux",
62
- "number": 9,
69
+ "number": 10,
63
70
  "name": "UX Layer",
64
71
  "nodeTypeCount": 22,
65
72
  "relationshipCount": 188
66
73
  },
67
74
  {
68
75
  "id": "navigation",
69
- "number": 10,
76
+ "number": 11,
70
77
  "name": "Navigation Layer",
71
78
  "nodeTypeCount": 11,
72
79
  "relationshipCount": 122
73
80
  },
74
81
  {
75
82
  "id": "apm",
76
- "number": 11,
83
+ "number": 12,
77
84
  "name": "APM Observability Layer",
78
85
  "nodeTypeCount": 15,
79
86
  "relationshipCount": 138
80
87
  },
81
88
  {
82
89
  "id": "testing",
83
- "number": 12,
90
+ "number": 13,
84
91
  "name": "Testing Layer",
85
92
  "nodeTypeCount": 17,
86
93
  "relationshipCount": 202
87
94
  }
88
95
  ],
89
96
  "totals": {
90
- "nodeTypes": 186,
91
- "relationships": 1566
97
+ "nodeTypes": 191,
98
+ "relationships": 1585
92
99
  }
93
100
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "specVersion": "0.8.4",
2
+ "specVersion": "0.9.0",
3
3
  "layer": {
4
4
  "id": "motivation",
5
5
  "number": 1,
@@ -1,10 +1,10 @@
1
1
  {
2
- "specVersion": "0.8.4",
2
+ "specVersion": "0.9.0",
3
3
  "layer": {
4
4
  "id": "navigation",
5
- "number": 10,
5
+ "number": 11,
6
6
  "name": "Navigation Layer",
7
- "description": "Layer 10: Navigation Layer",
7
+ "description": "Layer 11: Navigation Layer",
8
8
  "inspired_by": {
9
9
  "standard": "SPA Navigation Patterns",
10
10
  "version": "1.0",
@@ -0,0 +1,469 @@
1
+ {
2
+ "specVersion": "0.9.0",
3
+ "layer": {
4
+ "id": "product",
5
+ "number": 3,
6
+ "name": "Product Layer",
7
+ "description": "Layer 3: Product Layer",
8
+ "inspired_by": {
9
+ "standard": "ArchiMate 3.2 Strategy Extension + Product Management Practice",
10
+ "version": "3.2",
11
+ "url": "https://pubs.opengroup.org/architecture/archimate32-doc/"
12
+ },
13
+ "node_types": [
14
+ "product.capability",
15
+ "product.feature",
16
+ "product.milestone",
17
+ "product.persona",
18
+ "product.userworkflow"
19
+ ]
20
+ },
21
+ "nodeSchemas": {
22
+ "capability": {
23
+ "$schema": "http://json-schema.org/draft-07/schema#",
24
+ "title": "Capability",
25
+ "description": "An ability the product possesses, independent of how it's implemented",
26
+ "allOf": [
27
+ {
28
+ "$ref": "urn:dr:spec:base:spec-node"
29
+ }
30
+ ],
31
+ "properties": {
32
+ "spec_node_id": {
33
+ "const": "product.capability"
34
+ },
35
+ "layer_id": {
36
+ "const": "product"
37
+ },
38
+ "type": {
39
+ "const": "capability"
40
+ },
41
+ "attributes": {
42
+ "type": "object",
43
+ "properties": {
44
+ "documentation": {
45
+ "type": "string",
46
+ "description": "Detailed description of the capability"
47
+ },
48
+ "status": {
49
+ "type": "string",
50
+ "enum": [
51
+ "proposed",
52
+ "planned",
53
+ "developing",
54
+ "delivered",
55
+ "deprecated"
56
+ ],
57
+ "description": "Lifecycle status of the capability"
58
+ },
59
+ "properties": {
60
+ "type": "object",
61
+ "description": "Cross-layer properties"
62
+ }
63
+ },
64
+ "required": ["status"],
65
+ "additionalProperties": false
66
+ }
67
+ },
68
+ "$id": "urn:dr:spec:node:product.capability"
69
+ },
70
+ "feature": {
71
+ "$schema": "http://json-schema.org/draft-07/schema#",
72
+ "title": "Feature",
73
+ "description": "A user-visible unit of product functionality that delivers one or more capabilities",
74
+ "allOf": [
75
+ {
76
+ "$ref": "urn:dr:spec:base:spec-node"
77
+ }
78
+ ],
79
+ "properties": {
80
+ "spec_node_id": {
81
+ "const": "product.feature"
82
+ },
83
+ "layer_id": {
84
+ "const": "product"
85
+ },
86
+ "type": {
87
+ "const": "feature"
88
+ },
89
+ "attributes": {
90
+ "type": "object",
91
+ "properties": {
92
+ "documentation": {
93
+ "type": "string",
94
+ "description": "Detailed description of the feature"
95
+ },
96
+ "priority": {
97
+ "type": "string",
98
+ "enum": ["critical", "high", "medium", "low", "informational"],
99
+ "description": "Priority level"
100
+ },
101
+ "status": {
102
+ "type": "string",
103
+ "enum": [
104
+ "proposed",
105
+ "planned",
106
+ "developing",
107
+ "delivered",
108
+ "deprecated"
109
+ ],
110
+ "description": "Lifecycle status of the feature"
111
+ },
112
+ "size": {
113
+ "type": "string",
114
+ "enum": ["xs", "s", "m", "l", "xl"],
115
+ "description": "Relative sizing estimate"
116
+ },
117
+ "properties": {
118
+ "type": "object",
119
+ "description": "Cross-layer properties"
120
+ }
121
+ },
122
+ "required": ["priority", "status"],
123
+ "additionalProperties": false
124
+ }
125
+ },
126
+ "$id": "urn:dr:spec:node:product.feature"
127
+ },
128
+ "milestone": {
129
+ "$schema": "http://json-schema.org/draft-07/schema#",
130
+ "title": "Milestone",
131
+ "description": "A time-bound delivery target grouping features or capabilities",
132
+ "allOf": [
133
+ {
134
+ "$ref": "urn:dr:spec:base:spec-node"
135
+ }
136
+ ],
137
+ "properties": {
138
+ "spec_node_id": {
139
+ "const": "product.milestone"
140
+ },
141
+ "layer_id": {
142
+ "const": "product"
143
+ },
144
+ "type": {
145
+ "const": "milestone"
146
+ },
147
+ "attributes": {
148
+ "type": "object",
149
+ "properties": {
150
+ "documentation": {
151
+ "type": "string",
152
+ "description": "Detailed description of the milestone"
153
+ },
154
+ "status": {
155
+ "type": "string",
156
+ "enum": [
157
+ "proposed",
158
+ "planned",
159
+ "active",
160
+ "completed",
161
+ "cancelled"
162
+ ],
163
+ "description": "Milestone status"
164
+ }
165
+ },
166
+ "required": ["status"],
167
+ "additionalProperties": false
168
+ }
169
+ },
170
+ "$id": "urn:dr:spec:node:product.milestone"
171
+ },
172
+ "persona": {
173
+ "$schema": "http://json-schema.org/draft-07/schema#",
174
+ "title": "Persona",
175
+ "description": "A user archetype representing a class of users with shared goals, behaviors, and pain points",
176
+ "allOf": [
177
+ {
178
+ "$ref": "urn:dr:spec:base:spec-node"
179
+ }
180
+ ],
181
+ "properties": {
182
+ "spec_node_id": {
183
+ "const": "product.persona"
184
+ },
185
+ "layer_id": {
186
+ "const": "product"
187
+ },
188
+ "type": {
189
+ "const": "persona"
190
+ },
191
+ "attributes": {
192
+ "type": "object",
193
+ "properties": {
194
+ "documentation": {
195
+ "type": "string",
196
+ "description": "Detailed description of the persona"
197
+ },
198
+ "category": {
199
+ "type": "string",
200
+ "enum": ["primary", "secondary", "served", "negative"],
201
+ "description": "Persona classification by importance"
202
+ },
203
+ "proficiency": {
204
+ "type": "string",
205
+ "enum": ["novice", "intermediate", "advanced", "expert"],
206
+ "description": "Technical proficiency level"
207
+ }
208
+ },
209
+ "required": ["category", "proficiency"],
210
+ "additionalProperties": false
211
+ }
212
+ },
213
+ "$id": "urn:dr:spec:node:product.persona"
214
+ },
215
+ "userworkflow": {
216
+ "$schema": "http://json-schema.org/draft-07/schema#",
217
+ "title": "UserWorkflow",
218
+ "description": "A sequence of user-facing steps through the product to accomplish a goal",
219
+ "allOf": [
220
+ {
221
+ "$ref": "urn:dr:spec:base:spec-node"
222
+ }
223
+ ],
224
+ "properties": {
225
+ "spec_node_id": {
226
+ "const": "product.userworkflow"
227
+ },
228
+ "layer_id": {
229
+ "const": "product"
230
+ },
231
+ "type": {
232
+ "const": "userworkflow"
233
+ },
234
+ "attributes": {
235
+ "type": "object",
236
+ "properties": {
237
+ "documentation": {
238
+ "type": "string",
239
+ "description": "Detailed description of the user workflow"
240
+ },
241
+ "complexity": {
242
+ "type": "string",
243
+ "enum": ["simple", "moderate", "complex"],
244
+ "description": "Workflow complexity assessment"
245
+ },
246
+ "properties": {
247
+ "type": "object",
248
+ "description": "Cross-layer properties"
249
+ }
250
+ },
251
+ "required": ["complexity"],
252
+ "additionalProperties": false
253
+ }
254
+ },
255
+ "$id": "urn:dr:spec:node:product.userworkflow"
256
+ }
257
+ },
258
+ "relationshipSchemas": {
259
+ "product.capability.aggregates.product.capability": {
260
+ "id": "product.capability.aggregates.product.capability",
261
+ "source_spec_node_id": "product.capability",
262
+ "source_layer": "product",
263
+ "destination_spec_node_id": "product.capability",
264
+ "destination_layer": "product",
265
+ "predicate": "aggregates",
266
+ "cardinality": "many-to-many",
267
+ "strength": "medium",
268
+ "required": false
269
+ },
270
+ "product.capability.fulfills.motivation.requirement": {
271
+ "id": "product.capability.fulfills.motivation.requirement",
272
+ "source_spec_node_id": "product.capability",
273
+ "source_layer": "product",
274
+ "destination_spec_node_id": "motivation.requirement",
275
+ "destination_layer": "motivation",
276
+ "predicate": "fulfills",
277
+ "cardinality": "many-to-many",
278
+ "strength": "medium",
279
+ "required": false
280
+ },
281
+ "product.capability.realizes.business.businessfunction": {
282
+ "id": "product.capability.realizes.business.businessfunction",
283
+ "source_spec_node_id": "product.capability",
284
+ "source_layer": "product",
285
+ "destination_spec_node_id": "business.businessfunction",
286
+ "destination_layer": "business",
287
+ "predicate": "realizes",
288
+ "cardinality": "many-to-many",
289
+ "strength": "medium",
290
+ "required": false
291
+ },
292
+ "product.capability.scheduled-for.product.milestone": {
293
+ "id": "product.capability.scheduled-for.product.milestone",
294
+ "source_spec_node_id": "product.capability",
295
+ "source_layer": "product",
296
+ "destination_spec_node_id": "product.milestone",
297
+ "destination_layer": "product",
298
+ "predicate": "scheduled-for",
299
+ "cardinality": "many-to-many",
300
+ "strength": "medium",
301
+ "required": false
302
+ },
303
+ "product.capability.supports.motivation.goal": {
304
+ "id": "product.capability.supports.motivation.goal",
305
+ "source_spec_node_id": "product.capability",
306
+ "source_layer": "product",
307
+ "destination_spec_node_id": "motivation.goal",
308
+ "destination_layer": "motivation",
309
+ "predicate": "supports",
310
+ "cardinality": "many-to-many",
311
+ "strength": "medium",
312
+ "required": false
313
+ },
314
+ "product.feature.delivers-value.motivation.value": {
315
+ "id": "product.feature.delivers-value.motivation.value",
316
+ "source_spec_node_id": "product.feature",
317
+ "source_layer": "product",
318
+ "destination_spec_node_id": "motivation.value",
319
+ "destination_layer": "motivation",
320
+ "predicate": "delivers-value",
321
+ "cardinality": "many-to-many",
322
+ "strength": "medium",
323
+ "required": false
324
+ },
325
+ "product.feature.depends-on.product.feature": {
326
+ "id": "product.feature.depends-on.product.feature",
327
+ "source_spec_node_id": "product.feature",
328
+ "source_layer": "product",
329
+ "destination_spec_node_id": "product.feature",
330
+ "destination_layer": "product",
331
+ "predicate": "depends-on",
332
+ "cardinality": "many-to-many",
333
+ "strength": "medium",
334
+ "required": false
335
+ },
336
+ "product.feature.realizes.business.businessservice": {
337
+ "id": "product.feature.realizes.business.businessservice",
338
+ "source_spec_node_id": "product.feature",
339
+ "source_layer": "product",
340
+ "destination_spec_node_id": "business.businessservice",
341
+ "destination_layer": "business",
342
+ "predicate": "realizes",
343
+ "cardinality": "many-to-many",
344
+ "strength": "medium",
345
+ "required": false
346
+ },
347
+ "product.feature.realizes.product.capability": {
348
+ "id": "product.feature.realizes.product.capability",
349
+ "source_spec_node_id": "product.feature",
350
+ "source_layer": "product",
351
+ "destination_spec_node_id": "product.capability",
352
+ "destination_layer": "product",
353
+ "predicate": "realizes",
354
+ "cardinality": "many-to-many",
355
+ "strength": "medium",
356
+ "required": false
357
+ },
358
+ "product.feature.satisfies.motivation.requirement": {
359
+ "id": "product.feature.satisfies.motivation.requirement",
360
+ "source_spec_node_id": "product.feature",
361
+ "source_layer": "product",
362
+ "destination_spec_node_id": "motivation.requirement",
363
+ "destination_layer": "motivation",
364
+ "predicate": "satisfies",
365
+ "cardinality": "many-to-many",
366
+ "strength": "medium",
367
+ "required": false
368
+ },
369
+ "product.feature.scheduled-for.product.milestone": {
370
+ "id": "product.feature.scheduled-for.product.milestone",
371
+ "source_spec_node_id": "product.feature",
372
+ "source_layer": "product",
373
+ "destination_spec_node_id": "product.milestone",
374
+ "destination_layer": "product",
375
+ "predicate": "scheduled-for",
376
+ "cardinality": "many-to-many",
377
+ "strength": "medium",
378
+ "required": false
379
+ },
380
+ "product.feature.serves.product.persona": {
381
+ "id": "product.feature.serves.product.persona",
382
+ "source_spec_node_id": "product.feature",
383
+ "source_layer": "product",
384
+ "destination_spec_node_id": "product.persona",
385
+ "destination_layer": "product",
386
+ "predicate": "serves",
387
+ "cardinality": "many-to-many",
388
+ "strength": "medium",
389
+ "required": false
390
+ },
391
+ "product.milestone.precedes.product.milestone": {
392
+ "id": "product.milestone.precedes.product.milestone",
393
+ "source_spec_node_id": "product.milestone",
394
+ "source_layer": "product",
395
+ "destination_spec_node_id": "product.milestone",
396
+ "destination_layer": "product",
397
+ "predicate": "precedes",
398
+ "cardinality": "many-to-many",
399
+ "strength": "medium",
400
+ "required": false
401
+ },
402
+ "product.persona.realizes.motivation.stakeholder": {
403
+ "id": "product.persona.realizes.motivation.stakeholder",
404
+ "source_spec_node_id": "product.persona",
405
+ "source_layer": "product",
406
+ "destination_spec_node_id": "motivation.stakeholder",
407
+ "destination_layer": "motivation",
408
+ "predicate": "realizes",
409
+ "cardinality": "many-to-many",
410
+ "strength": "medium",
411
+ "required": false
412
+ },
413
+ "product.persona.serves.business.businessrole": {
414
+ "id": "product.persona.serves.business.businessrole",
415
+ "source_spec_node_id": "product.persona",
416
+ "source_layer": "product",
417
+ "destination_spec_node_id": "business.businessrole",
418
+ "destination_layer": "business",
419
+ "predicate": "serves",
420
+ "cardinality": "many-to-many",
421
+ "strength": "medium",
422
+ "required": false
423
+ },
424
+ "product.userworkflow.aggregates.business.businessprocess": {
425
+ "id": "product.userworkflow.aggregates.business.businessprocess",
426
+ "source_spec_node_id": "product.userworkflow",
427
+ "source_layer": "product",
428
+ "destination_spec_node_id": "business.businessprocess",
429
+ "destination_layer": "business",
430
+ "predicate": "aggregates",
431
+ "cardinality": "many-to-many",
432
+ "strength": "medium",
433
+ "required": false
434
+ },
435
+ "product.userworkflow.composes.product.feature": {
436
+ "id": "product.userworkflow.composes.product.feature",
437
+ "source_spec_node_id": "product.userworkflow",
438
+ "source_layer": "product",
439
+ "destination_spec_node_id": "product.feature",
440
+ "destination_layer": "product",
441
+ "predicate": "composes",
442
+ "cardinality": "many-to-many",
443
+ "strength": "medium",
444
+ "required": false
445
+ },
446
+ "product.userworkflow.delivers.motivation.outcome": {
447
+ "id": "product.userworkflow.delivers.motivation.outcome",
448
+ "source_spec_node_id": "product.userworkflow",
449
+ "source_layer": "product",
450
+ "destination_spec_node_id": "motivation.outcome",
451
+ "destination_layer": "motivation",
452
+ "predicate": "delivers",
453
+ "cardinality": "many-to-many",
454
+ "strength": "medium",
455
+ "required": false
456
+ },
457
+ "product.userworkflow.serves.product.persona": {
458
+ "id": "product.userworkflow.serves.product.persona",
459
+ "source_spec_node_id": "product.userworkflow",
460
+ "source_layer": "product",
461
+ "destination_spec_node_id": "product.persona",
462
+ "destination_layer": "product",
463
+ "predicate": "serves",
464
+ "cardinality": "many-to-many",
465
+ "strength": "medium",
466
+ "required": false
467
+ }
468
+ }
469
+ }
@@ -1,10 +1,10 @@
1
1
  {
2
- "specVersion": "0.8.4",
2
+ "specVersion": "0.9.0",
3
3
  "layer": {
4
4
  "id": "security",
5
- "number": 3,
5
+ "number": 4,
6
6
  "name": "Security Layer",
7
- "description": "Layer 3: Security Layer",
7
+ "description": "Layer 4: Security Layer",
8
8
  "inspired_by": {
9
9
  "standard": "NIST SP 800-53",
10
10
  "version": "5.1",
@@ -1,10 +1,10 @@
1
1
  {
2
- "specVersion": "0.8.4",
2
+ "specVersion": "0.9.0",
3
3
  "layer": {
4
4
  "id": "technology",
5
- "number": 5,
5
+ "number": 6,
6
6
  "name": "Technology Layer",
7
- "description": "Layer 5: Technology Layer",
7
+ "description": "Layer 6: Technology Layer",
8
8
  "inspired_by": {
9
9
  "standard": "ArchiMate 3.2",
10
10
  "version": "3.2",
@@ -1,10 +1,10 @@
1
1
  {
2
- "specVersion": "0.8.4",
2
+ "specVersion": "0.9.0",
3
3
  "layer": {
4
4
  "id": "testing",
5
- "number": 12,
5
+ "number": 13,
6
6
  "name": "Testing Layer",
7
- "description": "Layer 12: Testing Layer",
7
+ "description": "Layer 13: Testing Layer",
8
8
  "inspired_by": {
9
9
  "standard": "IEEE 829-2008",
10
10
  "version": "2008",
@@ -1,10 +1,10 @@
1
1
  {
2
- "specVersion": "0.8.4",
2
+ "specVersion": "0.9.0",
3
3
  "layer": {
4
4
  "id": "ux",
5
- "number": 9,
5
+ "number": 10,
6
6
  "name": "UX Layer",
7
- "description": "Layer 9: UX Layer",
7
+ "description": "Layer 10: UX Layer",
8
8
  "inspired_by": {
9
9
  "standard": "HTML 5.3",
10
10
  "version": "5.3",