sysprom 1.0.0 → 1.0.6
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/README.md +207 -0
- package/dist/schema.json +510 -0
- package/dist/src/canonical-json.d.ts +23 -0
- package/dist/src/canonical-json.js +120 -0
- package/dist/src/cli/commands/add.d.ts +22 -0
- package/dist/src/cli/commands/add.js +95 -0
- package/dist/src/cli/commands/check.d.ts +10 -0
- package/dist/src/cli/commands/check.js +33 -0
- package/dist/src/cli/commands/graph.d.ts +15 -0
- package/dist/src/cli/commands/graph.js +32 -0
- package/dist/src/cli/commands/init.d.ts +2 -0
- package/dist/src/cli/commands/init.js +44 -0
- package/dist/src/cli/commands/json2md.d.ts +2 -0
- package/dist/src/cli/commands/json2md.js +60 -0
- package/dist/src/cli/commands/md2json.d.ts +2 -0
- package/dist/src/cli/commands/md2json.js +29 -0
- package/dist/src/cli/commands/plan.d.ts +2 -0
- package/dist/src/cli/commands/plan.js +227 -0
- package/dist/src/cli/commands/query.d.ts +2 -0
- package/dist/src/cli/commands/query.js +275 -0
- package/dist/src/cli/commands/remove.d.ts +13 -0
- package/dist/src/cli/commands/remove.js +50 -0
- package/dist/src/cli/commands/rename.d.ts +14 -0
- package/dist/src/cli/commands/rename.js +34 -0
- package/dist/src/cli/commands/search.d.ts +11 -0
- package/dist/src/cli/commands/search.js +37 -0
- package/dist/src/cli/commands/speckit.d.ts +2 -0
- package/dist/src/cli/commands/speckit.js +318 -0
- package/dist/src/cli/commands/stats.d.ts +10 -0
- package/dist/src/cli/commands/stats.js +51 -0
- package/dist/src/cli/commands/task.d.ts +2 -0
- package/dist/src/cli/commands/task.js +162 -0
- package/dist/src/cli/commands/update.d.ts +2 -0
- package/dist/src/cli/commands/update.js +219 -0
- package/dist/src/cli/commands/validate.d.ts +10 -0
- package/dist/src/cli/commands/validate.js +30 -0
- package/dist/src/cli/define-command.d.ts +34 -0
- package/dist/src/cli/define-command.js +237 -0
- package/dist/src/cli/index.d.ts +2 -0
- package/dist/src/cli/index.js +3 -0
- package/dist/src/cli/program.d.ts +4 -0
- package/dist/src/cli/program.js +46 -0
- package/dist/src/cli/shared.d.ts +26 -0
- package/dist/src/cli/shared.js +41 -0
- package/dist/src/generate-schema.d.ts +1 -0
- package/dist/src/generate-schema.js +9 -0
- package/dist/src/index.d.ts +48 -0
- package/dist/src/index.js +99 -0
- package/dist/src/io.d.ts +22 -0
- package/dist/src/io.js +66 -0
- package/dist/src/json-to-md.d.ts +26 -0
- package/dist/src/json-to-md.js +498 -0
- package/dist/src/md-to-json.d.ts +22 -0
- package/dist/src/md-to-json.js +548 -0
- package/dist/src/operations/add-node.d.ts +887 -0
- package/dist/src/operations/add-node.js +21 -0
- package/dist/src/operations/add-plan-task.d.ts +594 -0
- package/dist/src/operations/add-plan-task.js +25 -0
- package/dist/src/operations/add-relationship.d.ts +635 -0
- package/dist/src/operations/add-relationship.js +25 -0
- package/dist/src/operations/check.d.ts +301 -0
- package/dist/src/operations/check.js +66 -0
- package/dist/src/operations/define-operation.d.ts +14 -0
- package/dist/src/operations/define-operation.js +21 -0
- package/dist/src/operations/graph.d.ts +303 -0
- package/dist/src/operations/graph.js +71 -0
- package/dist/src/operations/index.d.ts +38 -0
- package/dist/src/operations/index.js +45 -0
- package/dist/src/operations/init-document.d.ts +299 -0
- package/dist/src/operations/init-document.js +26 -0
- package/dist/src/operations/json-to-markdown.d.ts +298 -0
- package/dist/src/operations/json-to-markdown.js +13 -0
- package/dist/src/operations/mark-task-done.d.ts +594 -0
- package/dist/src/operations/mark-task-done.js +26 -0
- package/dist/src/operations/mark-task-undone.d.ts +594 -0
- package/dist/src/operations/mark-task-undone.js +26 -0
- package/dist/src/operations/markdown-to-json.d.ts +298 -0
- package/dist/src/operations/markdown-to-json.js +13 -0
- package/dist/src/operations/next-id.d.ts +322 -0
- package/dist/src/operations/next-id.js +29 -0
- package/dist/src/operations/node-history.d.ts +313 -0
- package/dist/src/operations/node-history.js +55 -0
- package/dist/src/operations/plan-add-task.d.ts +595 -0
- package/dist/src/operations/plan-add-task.js +18 -0
- package/dist/src/operations/plan-gate.d.ts +351 -0
- package/dist/src/operations/plan-gate.js +41 -0
- package/dist/src/operations/plan-init.d.ts +299 -0
- package/dist/src/operations/plan-init.js +17 -0
- package/dist/src/operations/plan-progress.d.ts +313 -0
- package/dist/src/operations/plan-progress.js +23 -0
- package/dist/src/operations/plan-status.d.ts +349 -0
- package/dist/src/operations/plan-status.js +41 -0
- package/dist/src/operations/query-node.d.ts +1065 -0
- package/dist/src/operations/query-node.js +27 -0
- package/dist/src/operations/query-nodes.d.ts +594 -0
- package/dist/src/operations/query-nodes.js +23 -0
- package/dist/src/operations/query-relationships.d.ts +343 -0
- package/dist/src/operations/query-relationships.js +27 -0
- package/dist/src/operations/remove-node.d.ts +895 -0
- package/dist/src/operations/remove-node.js +58 -0
- package/dist/src/operations/remove-relationship.d.ts +622 -0
- package/dist/src/operations/remove-relationship.js +26 -0
- package/dist/src/operations/rename.d.ts +594 -0
- package/dist/src/operations/rename.js +113 -0
- package/dist/src/operations/search.d.ts +593 -0
- package/dist/src/operations/search.js +39 -0
- package/dist/src/operations/speckit-diff.d.ts +330 -0
- package/dist/src/operations/speckit-diff.js +89 -0
- package/dist/src/operations/speckit-export.d.ts +300 -0
- package/dist/src/operations/speckit-export.js +17 -0
- package/dist/src/operations/speckit-import.d.ts +299 -0
- package/dist/src/operations/speckit-import.js +39 -0
- package/dist/src/operations/speckit-sync.d.ts +900 -0
- package/dist/src/operations/speckit-sync.js +116 -0
- package/dist/src/operations/state-at.d.ts +309 -0
- package/dist/src/operations/state-at.js +53 -0
- package/dist/src/operations/stats.d.ts +324 -0
- package/dist/src/operations/stats.js +85 -0
- package/dist/src/operations/task-list.d.ts +305 -0
- package/dist/src/operations/task-list.js +44 -0
- package/dist/src/operations/timeline.d.ts +312 -0
- package/dist/src/operations/timeline.js +46 -0
- package/dist/src/operations/trace-from-node.d.ts +1197 -0
- package/dist/src/operations/trace-from-node.js +36 -0
- package/dist/src/operations/update-metadata.d.ts +593 -0
- package/dist/src/operations/update-metadata.js +18 -0
- package/dist/src/operations/update-node.d.ts +957 -0
- package/dist/src/operations/update-node.js +24 -0
- package/dist/src/operations/update-plan-task.d.ts +595 -0
- package/dist/src/operations/update-plan-task.js +31 -0
- package/dist/src/operations/validate.d.ts +310 -0
- package/dist/src/operations/validate.js +82 -0
- package/dist/src/schema.d.ts +891 -0
- package/dist/src/schema.js +356 -0
- package/dist/src/speckit/generate.d.ts +7 -0
- package/dist/src/speckit/generate.js +546 -0
- package/dist/src/speckit/index.d.ts +4 -0
- package/dist/src/speckit/index.js +4 -0
- package/dist/src/speckit/parse.d.ts +11 -0
- package/dist/src/speckit/parse.js +712 -0
- package/dist/src/speckit/plan.d.ts +125 -0
- package/dist/src/speckit/plan.js +636 -0
- package/dist/src/speckit/project.d.ts +39 -0
- package/dist/src/speckit/project.js +141 -0
- package/dist/src/text.d.ts +23 -0
- package/dist/src/text.js +32 -0
- package/package.json +86 -8
- package/schema.json +510 -0
package/schema.json
ADDED
|
@@ -0,0 +1,510 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://sysprom.org/schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"description": "JSON Schema for SysProM — a recursive, decision-driven model for recording system provenance.",
|
|
6
|
+
"id": "SysProM",
|
|
7
|
+
"properties": {
|
|
8
|
+
"$schema": {
|
|
9
|
+
"description": "Schema URI for self-identification.",
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"external_references": {
|
|
13
|
+
"description": "References to resources outside the graph, declared at system level.",
|
|
14
|
+
"items": {
|
|
15
|
+
"additionalProperties": false,
|
|
16
|
+
"description": "A reference to a resource outside the SysProM graph.",
|
|
17
|
+
"properties": {
|
|
18
|
+
"description": {
|
|
19
|
+
"anyOf": [
|
|
20
|
+
{
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"items": {
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"type": "array"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"identifier": {
|
|
32
|
+
"description": "Serialisation-specific identifier (URI, file path, DOI, etc.).",
|
|
33
|
+
"type": "string"
|
|
34
|
+
},
|
|
35
|
+
"internalised": {
|
|
36
|
+
"anyOf": [
|
|
37
|
+
{
|
|
38
|
+
"type": "string"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"items": {
|
|
42
|
+
"type": "string"
|
|
43
|
+
},
|
|
44
|
+
"type": "array"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"description": "Inline content captured from the external resource. When present, the node is self-contained and does not depend on the external identifier being resolvable."
|
|
48
|
+
},
|
|
49
|
+
"node_id": {
|
|
50
|
+
"description": "ID of the node this reference belongs to. Used when the reference is declared at graph level rather than inline on the node.",
|
|
51
|
+
"type": "string"
|
|
52
|
+
},
|
|
53
|
+
"role": {
|
|
54
|
+
"enum": [
|
|
55
|
+
"input",
|
|
56
|
+
"output",
|
|
57
|
+
"context",
|
|
58
|
+
"evidence",
|
|
59
|
+
"source",
|
|
60
|
+
"standard",
|
|
61
|
+
"prior_art"
|
|
62
|
+
],
|
|
63
|
+
"type": "string"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"required": [
|
|
67
|
+
"role",
|
|
68
|
+
"identifier"
|
|
69
|
+
],
|
|
70
|
+
"type": "object"
|
|
71
|
+
},
|
|
72
|
+
"type": "array"
|
|
73
|
+
},
|
|
74
|
+
"metadata": {
|
|
75
|
+
"additionalProperties": {},
|
|
76
|
+
"description": "Document-level metadata. Analogous to front matter in Markdown.",
|
|
77
|
+
"properties": {
|
|
78
|
+
"doc_type": {
|
|
79
|
+
"description": "Document type. Use 'sysprom' for the root entry point. Subsystems and features may use other values.",
|
|
80
|
+
"type": "string"
|
|
81
|
+
},
|
|
82
|
+
"scope": {
|
|
83
|
+
"description": "The scope of this document (e.g. system, feature, component).",
|
|
84
|
+
"type": "string"
|
|
85
|
+
},
|
|
86
|
+
"status": {
|
|
87
|
+
"type": "string"
|
|
88
|
+
},
|
|
89
|
+
"title": {
|
|
90
|
+
"type": "string"
|
|
91
|
+
},
|
|
92
|
+
"version": {
|
|
93
|
+
"anyOf": [
|
|
94
|
+
{
|
|
95
|
+
"type": "string"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"maximum": 9007199254740991,
|
|
99
|
+
"minimum": -9007199254740991,
|
|
100
|
+
"type": "integer"
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"type": "object"
|
|
106
|
+
},
|
|
107
|
+
"nodes": {
|
|
108
|
+
"description": "All nodes in the graph.",
|
|
109
|
+
"items": {
|
|
110
|
+
"additionalProperties": {},
|
|
111
|
+
"description": "A uniquely identifiable entity within the system.",
|
|
112
|
+
"properties": {
|
|
113
|
+
"context": {
|
|
114
|
+
"anyOf": [
|
|
115
|
+
{
|
|
116
|
+
"type": "string"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"items": {
|
|
120
|
+
"type": "string"
|
|
121
|
+
},
|
|
122
|
+
"type": "array"
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"description": "Background context explaining why this node exists or why a decision was needed."
|
|
126
|
+
},
|
|
127
|
+
"description": {
|
|
128
|
+
"anyOf": [
|
|
129
|
+
{
|
|
130
|
+
"type": "string"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"items": {
|
|
134
|
+
"type": "string"
|
|
135
|
+
},
|
|
136
|
+
"type": "array"
|
|
137
|
+
}
|
|
138
|
+
]
|
|
139
|
+
},
|
|
140
|
+
"external_references": {
|
|
141
|
+
"description": "External resources related to this node.",
|
|
142
|
+
"items": {
|
|
143
|
+
"additionalProperties": false,
|
|
144
|
+
"description": "A reference to a resource outside the SysProM graph.",
|
|
145
|
+
"properties": {
|
|
146
|
+
"description": {
|
|
147
|
+
"anyOf": [
|
|
148
|
+
{
|
|
149
|
+
"type": "string"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"items": {
|
|
153
|
+
"type": "string"
|
|
154
|
+
},
|
|
155
|
+
"type": "array"
|
|
156
|
+
}
|
|
157
|
+
]
|
|
158
|
+
},
|
|
159
|
+
"identifier": {
|
|
160
|
+
"description": "Serialisation-specific identifier (URI, file path, DOI, etc.).",
|
|
161
|
+
"type": "string"
|
|
162
|
+
},
|
|
163
|
+
"internalised": {
|
|
164
|
+
"anyOf": [
|
|
165
|
+
{
|
|
166
|
+
"type": "string"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"items": {
|
|
170
|
+
"type": "string"
|
|
171
|
+
},
|
|
172
|
+
"type": "array"
|
|
173
|
+
}
|
|
174
|
+
],
|
|
175
|
+
"description": "Inline content captured from the external resource. When present, the node is self-contained and does not depend on the external identifier being resolvable."
|
|
176
|
+
},
|
|
177
|
+
"node_id": {
|
|
178
|
+
"description": "ID of the node this reference belongs to. Used when the reference is declared at graph level rather than inline on the node.",
|
|
179
|
+
"type": "string"
|
|
180
|
+
},
|
|
181
|
+
"role": {
|
|
182
|
+
"enum": [
|
|
183
|
+
"input",
|
|
184
|
+
"output",
|
|
185
|
+
"context",
|
|
186
|
+
"evidence",
|
|
187
|
+
"source",
|
|
188
|
+
"standard",
|
|
189
|
+
"prior_art"
|
|
190
|
+
],
|
|
191
|
+
"type": "string"
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
"required": [
|
|
195
|
+
"role",
|
|
196
|
+
"identifier"
|
|
197
|
+
],
|
|
198
|
+
"type": "object"
|
|
199
|
+
},
|
|
200
|
+
"type": "array"
|
|
201
|
+
},
|
|
202
|
+
"id": {
|
|
203
|
+
"description": "Unique identifier for this node.",
|
|
204
|
+
"type": "string"
|
|
205
|
+
},
|
|
206
|
+
"includes": {
|
|
207
|
+
"description": "IDs of nodes included in this projection. Applicable to view nodes.",
|
|
208
|
+
"items": {
|
|
209
|
+
"type": "string"
|
|
210
|
+
},
|
|
211
|
+
"type": "array"
|
|
212
|
+
},
|
|
213
|
+
"input": {
|
|
214
|
+
"description": "ID of the input artefact. Applicable to artefact_flow nodes.",
|
|
215
|
+
"type": "string"
|
|
216
|
+
},
|
|
217
|
+
"lifecycle": {
|
|
218
|
+
"additionalProperties": {
|
|
219
|
+
"anyOf": [
|
|
220
|
+
{
|
|
221
|
+
"type": "boolean"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"type": "string"
|
|
225
|
+
}
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
"description": "Map of lifecycle state names to completion status. Values may be boolean or an ISO date string indicating when the state was reached.",
|
|
229
|
+
"propertyNames": {
|
|
230
|
+
"type": "string"
|
|
231
|
+
},
|
|
232
|
+
"type": "object"
|
|
233
|
+
},
|
|
234
|
+
"name": {
|
|
235
|
+
"description": "Human-readable name.",
|
|
236
|
+
"type": "string"
|
|
237
|
+
},
|
|
238
|
+
"operations": {
|
|
239
|
+
"description": "Operations performed. Applicable to change nodes.",
|
|
240
|
+
"items": {
|
|
241
|
+
"additionalProperties": {},
|
|
242
|
+
"description": "An atomic operation within a change.",
|
|
243
|
+
"properties": {
|
|
244
|
+
"description": {
|
|
245
|
+
"anyOf": [
|
|
246
|
+
{
|
|
247
|
+
"type": "string"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"items": {
|
|
251
|
+
"type": "string"
|
|
252
|
+
},
|
|
253
|
+
"type": "array"
|
|
254
|
+
}
|
|
255
|
+
]
|
|
256
|
+
},
|
|
257
|
+
"target": {
|
|
258
|
+
"description": "ID of the affected node.",
|
|
259
|
+
"type": "string"
|
|
260
|
+
},
|
|
261
|
+
"type": {
|
|
262
|
+
"enum": [
|
|
263
|
+
"add",
|
|
264
|
+
"update",
|
|
265
|
+
"remove",
|
|
266
|
+
"link"
|
|
267
|
+
],
|
|
268
|
+
"type": "string"
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
"required": [
|
|
272
|
+
"type"
|
|
273
|
+
],
|
|
274
|
+
"type": "object"
|
|
275
|
+
},
|
|
276
|
+
"type": "array"
|
|
277
|
+
},
|
|
278
|
+
"options": {
|
|
279
|
+
"description": "Alternatives considered. Applicable to decision nodes.",
|
|
280
|
+
"items": {
|
|
281
|
+
"additionalProperties": {},
|
|
282
|
+
"description": "An alternative considered as part of a decision.",
|
|
283
|
+
"properties": {
|
|
284
|
+
"description": {
|
|
285
|
+
"anyOf": [
|
|
286
|
+
{
|
|
287
|
+
"type": "string"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"items": {
|
|
291
|
+
"type": "string"
|
|
292
|
+
},
|
|
293
|
+
"type": "array"
|
|
294
|
+
}
|
|
295
|
+
]
|
|
296
|
+
},
|
|
297
|
+
"id": {
|
|
298
|
+
"type": "string"
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
"required": [
|
|
302
|
+
"id",
|
|
303
|
+
"description"
|
|
304
|
+
],
|
|
305
|
+
"type": "object"
|
|
306
|
+
},
|
|
307
|
+
"type": "array"
|
|
308
|
+
},
|
|
309
|
+
"output": {
|
|
310
|
+
"description": "ID of the output artefact. Applicable to artefact_flow nodes.",
|
|
311
|
+
"type": "string"
|
|
312
|
+
},
|
|
313
|
+
"plan": {
|
|
314
|
+
"description": "Execution plan as a sequence of tasks. Applicable to change nodes.",
|
|
315
|
+
"items": {
|
|
316
|
+
"additionalProperties": {},
|
|
317
|
+
"description": "A single task within a change's execution plan.",
|
|
318
|
+
"properties": {
|
|
319
|
+
"description": {
|
|
320
|
+
"anyOf": [
|
|
321
|
+
{
|
|
322
|
+
"type": "string"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"items": {
|
|
326
|
+
"type": "string"
|
|
327
|
+
},
|
|
328
|
+
"type": "array"
|
|
329
|
+
}
|
|
330
|
+
]
|
|
331
|
+
},
|
|
332
|
+
"done": {
|
|
333
|
+
"default": false,
|
|
334
|
+
"type": "boolean"
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
"required": [
|
|
338
|
+
"description"
|
|
339
|
+
],
|
|
340
|
+
"type": "object"
|
|
341
|
+
},
|
|
342
|
+
"type": "array"
|
|
343
|
+
},
|
|
344
|
+
"propagation": {
|
|
345
|
+
"additionalProperties": {
|
|
346
|
+
"type": "boolean"
|
|
347
|
+
},
|
|
348
|
+
"description": "Layer propagation status. Applicable to change nodes.",
|
|
349
|
+
"propertyNames": {
|
|
350
|
+
"type": "string"
|
|
351
|
+
},
|
|
352
|
+
"type": "object"
|
|
353
|
+
},
|
|
354
|
+
"rationale": {
|
|
355
|
+
"anyOf": [
|
|
356
|
+
{
|
|
357
|
+
"type": "string"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"items": {
|
|
361
|
+
"type": "string"
|
|
362
|
+
},
|
|
363
|
+
"type": "array"
|
|
364
|
+
}
|
|
365
|
+
],
|
|
366
|
+
"description": "Reasoning for the choice. Applicable to decision nodes."
|
|
367
|
+
},
|
|
368
|
+
"scope": {
|
|
369
|
+
"description": "IDs of nodes affected by this change. Applicable to change nodes.",
|
|
370
|
+
"items": {
|
|
371
|
+
"type": "string"
|
|
372
|
+
},
|
|
373
|
+
"type": "array"
|
|
374
|
+
},
|
|
375
|
+
"selected": {
|
|
376
|
+
"description": "ID of the chosen option. Applicable to decision nodes.",
|
|
377
|
+
"type": "string"
|
|
378
|
+
},
|
|
379
|
+
"status": {
|
|
380
|
+
"enum": [
|
|
381
|
+
"proposed",
|
|
382
|
+
"accepted",
|
|
383
|
+
"active",
|
|
384
|
+
"implemented",
|
|
385
|
+
"adopted",
|
|
386
|
+
"defined",
|
|
387
|
+
"introduced",
|
|
388
|
+
"in_progress",
|
|
389
|
+
"complete",
|
|
390
|
+
"consolidated",
|
|
391
|
+
"experimental",
|
|
392
|
+
"deprecated",
|
|
393
|
+
"retired",
|
|
394
|
+
"superseded",
|
|
395
|
+
"abandoned",
|
|
396
|
+
"deferred"
|
|
397
|
+
],
|
|
398
|
+
"type": "string"
|
|
399
|
+
},
|
|
400
|
+
"subsystem": {
|
|
401
|
+
"$ref": "#"
|
|
402
|
+
},
|
|
403
|
+
"type": {
|
|
404
|
+
"enum": [
|
|
405
|
+
"intent",
|
|
406
|
+
"concept",
|
|
407
|
+
"capability",
|
|
408
|
+
"element",
|
|
409
|
+
"realisation",
|
|
410
|
+
"invariant",
|
|
411
|
+
"principle",
|
|
412
|
+
"policy",
|
|
413
|
+
"protocol",
|
|
414
|
+
"stage",
|
|
415
|
+
"role",
|
|
416
|
+
"gate",
|
|
417
|
+
"mode",
|
|
418
|
+
"artefact",
|
|
419
|
+
"artefact_flow",
|
|
420
|
+
"decision",
|
|
421
|
+
"change",
|
|
422
|
+
"view",
|
|
423
|
+
"milestone",
|
|
424
|
+
"version"
|
|
425
|
+
],
|
|
426
|
+
"type": "string"
|
|
427
|
+
}
|
|
428
|
+
},
|
|
429
|
+
"required": [
|
|
430
|
+
"id",
|
|
431
|
+
"type",
|
|
432
|
+
"name"
|
|
433
|
+
],
|
|
434
|
+
"type": "object"
|
|
435
|
+
},
|
|
436
|
+
"type": "array"
|
|
437
|
+
},
|
|
438
|
+
"relationships": {
|
|
439
|
+
"description": "Typed, directed connections between nodes.",
|
|
440
|
+
"items": {
|
|
441
|
+
"additionalProperties": {},
|
|
442
|
+
"description": "A typed, directed connection between two nodes.",
|
|
443
|
+
"properties": {
|
|
444
|
+
"description": {
|
|
445
|
+
"anyOf": [
|
|
446
|
+
{
|
|
447
|
+
"type": "string"
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"items": {
|
|
451
|
+
"type": "string"
|
|
452
|
+
},
|
|
453
|
+
"type": "array"
|
|
454
|
+
}
|
|
455
|
+
]
|
|
456
|
+
},
|
|
457
|
+
"from": {
|
|
458
|
+
"description": "Source node ID.",
|
|
459
|
+
"type": "string"
|
|
460
|
+
},
|
|
461
|
+
"to": {
|
|
462
|
+
"description": "Target node ID.",
|
|
463
|
+
"type": "string"
|
|
464
|
+
},
|
|
465
|
+
"type": {
|
|
466
|
+
"enum": [
|
|
467
|
+
"refines",
|
|
468
|
+
"realises",
|
|
469
|
+
"implements",
|
|
470
|
+
"depends_on",
|
|
471
|
+
"constrained_by",
|
|
472
|
+
"affects",
|
|
473
|
+
"supersedes",
|
|
474
|
+
"must_preserve",
|
|
475
|
+
"performs",
|
|
476
|
+
"part_of",
|
|
477
|
+
"precedes",
|
|
478
|
+
"must_follow",
|
|
479
|
+
"blocks",
|
|
480
|
+
"routes_to",
|
|
481
|
+
"governed_by",
|
|
482
|
+
"modifies",
|
|
483
|
+
"triggered_by",
|
|
484
|
+
"applies_to",
|
|
485
|
+
"produces",
|
|
486
|
+
"consumes",
|
|
487
|
+
"transforms_into",
|
|
488
|
+
"selects",
|
|
489
|
+
"requires",
|
|
490
|
+
"disables"
|
|
491
|
+
],
|
|
492
|
+
"type": "string"
|
|
493
|
+
}
|
|
494
|
+
},
|
|
495
|
+
"required": [
|
|
496
|
+
"from",
|
|
497
|
+
"to",
|
|
498
|
+
"type"
|
|
499
|
+
],
|
|
500
|
+
"type": "object"
|
|
501
|
+
},
|
|
502
|
+
"type": "array"
|
|
503
|
+
}
|
|
504
|
+
},
|
|
505
|
+
"required": [
|
|
506
|
+
"nodes"
|
|
507
|
+
],
|
|
508
|
+
"title": "SysProM: System Provenance Model",
|
|
509
|
+
"type": "object"
|
|
510
|
+
}
|