reqctl 0.1.38__py3-none-any.whl
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.
- reqctl/__init__.py +0 -0
- reqctl/baseline.py +380 -0
- reqctl/cite.py +1229 -0
- reqctl/cli.py +1514 -0
- reqctl/corpus.py +1283 -0
- reqctl/fields.py +361 -0
- reqctl/graph.py +207 -0
- reqctl/history.py +175 -0
- reqctl/portal.html +2213 -0
- reqctl/portal.py +131 -0
- reqctl/reach.py +425 -0
- reqctl/resolve.py +74 -0
- reqctl/schemas/baseline.schema.yaml +42 -0
- reqctl/schemas/dictionary.schema.yaml +256 -0
- reqctl/schemas/guard.schema.yaml +131 -0
- reqctl/schemas/requirement.schema.yaml +152 -0
- reqctl/settings.py +183 -0
- reqctl/typescript.py +143 -0
- reqctl/uncited.py +257 -0
- reqctl/validate.py +1929 -0
- reqctl/write.py +2004 -0
- reqctl-0.1.38.dist-info/METADATA +11 -0
- reqctl-0.1.38.dist-info/RECORD +26 -0
- reqctl-0.1.38.dist-info/WHEEL +5 -0
- reqctl-0.1.38.dist-info/entry_points.txt +2 -0
- reqctl-0.1.38.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# @req> REQ-97751594@BwWOFlFOjjyU bw5pgk
|
|
2
|
+
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
3
|
+
# @req> REQ-83218477@nthDaUhwd58l hvachr
|
|
4
|
+
$id: "reqctl/dictionary.schema.yaml"
|
|
5
|
+
# @req> REQ-52846482@4k8T0YLN4n97 w3ligq
|
|
6
|
+
type: object
|
|
7
|
+
# @req> REQ-20678879@c210nefD6kHQ 2j2acz
|
|
8
|
+
additionalProperties: false
|
|
9
|
+
|
|
10
|
+
# @req> REQ-70136689@kGycTrf0_sOP y7gjxb
|
|
11
|
+
# @req> REQ-60231841@jePDPrjCGq74 whtum4
|
|
12
|
+
# @req> REQ-55732743@ELdWYlfmjgH0 osucvy
|
|
13
|
+
required: [kind, status, entries]
|
|
14
|
+
|
|
15
|
+
# @req> REQ-20678879@c210nefD6kHQ wvisqw
|
|
16
|
+
properties:
|
|
17
|
+
|
|
18
|
+
# @req> REQ-60231841@jePDPrjCGq74 6txmwh
|
|
19
|
+
status:
|
|
20
|
+
enum: [draft, approved, deprecated, superseded]
|
|
21
|
+
# @req> REQ-21532897@4mlJA_VkJWru w2ix3u
|
|
22
|
+
default: draft
|
|
23
|
+
|
|
24
|
+
# @req> REQ-70136689@kGycTrf0_sOP ga7747
|
|
25
|
+
kind:
|
|
26
|
+
enum: [term, parameter, data]
|
|
27
|
+
# @req> REQ-95557166@iVuq5MGUC4wD glk266
|
|
28
|
+
readOnly: true
|
|
29
|
+
|
|
30
|
+
# @req> REQ-15824835@Yz8PdrMb9q2F 2or7iw
|
|
31
|
+
name:
|
|
32
|
+
type: string
|
|
33
|
+
pattern: "^[a-z][a-z0-9_]*$"
|
|
34
|
+
# @req> REQ-91205530@FiUaykViw6dQ b6cnwg
|
|
35
|
+
# @req> REQ-71965656@F8ulVugEMpD- h5i2tk
|
|
36
|
+
x-address: true
|
|
37
|
+
|
|
38
|
+
# @req> REQ-95242849@qtpUa2UbKM6O vfi7sv
|
|
39
|
+
carried:
|
|
40
|
+
type: array
|
|
41
|
+
uniqueItems: true
|
|
42
|
+
# @req> REQ-38278436@G9G7n7d2Ke-7 yyw6vd
|
|
43
|
+
readOnly: true
|
|
44
|
+
items:
|
|
45
|
+
type: string
|
|
46
|
+
pattern: "^[a-z][a-z0-9_]*$"
|
|
47
|
+
|
|
48
|
+
# @req> REQ-54705070@azHphsRsbfJl gmnzxo
|
|
49
|
+
text:
|
|
50
|
+
type: string
|
|
51
|
+
minLength: 1
|
|
52
|
+
# @req> REQ-51326810@tZsTSo6pwmwE 365hpf
|
|
53
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD c2dajd
|
|
54
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 7okmvn
|
|
55
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez vw3dbe
|
|
56
|
+
x-prose: true
|
|
57
|
+
|
|
58
|
+
# @req> REQ-38954638@497pbk7J9sqk hpuute
|
|
59
|
+
value_type:
|
|
60
|
+
enum: [duration, size, count, ratio, percentage, currency, boolean, text]
|
|
61
|
+
# @req> REQ-52544202@FdBPIIOU8f_v qyhuti
|
|
62
|
+
x-entry-of: value_types
|
|
63
|
+
|
|
64
|
+
# @req> REQ-92926466@dhyvKSDWQfjw wc43aq
|
|
65
|
+
unit:
|
|
66
|
+
type: string
|
|
67
|
+
minLength: 1
|
|
68
|
+
|
|
69
|
+
# @req> REQ-21045294@UE8gAjNCLsm8 6mwqw2
|
|
70
|
+
default:
|
|
71
|
+
type: string
|
|
72
|
+
minLength: 1
|
|
73
|
+
|
|
74
|
+
# @req> REQ-36099384@oqIHWa_e7CDN qukf5f
|
|
75
|
+
ceiling:
|
|
76
|
+
type: string
|
|
77
|
+
minLength: 1
|
|
78
|
+
|
|
79
|
+
# @req> REQ-22682482@F_OIMxlkifKy 3uk233
|
|
80
|
+
fields:
|
|
81
|
+
type: array
|
|
82
|
+
minItems: 1
|
|
83
|
+
uniqueItems: true
|
|
84
|
+
items: {type: string, minLength: 1}
|
|
85
|
+
|
|
86
|
+
# @req> REQ-12136510@Q7qxyHYKDLns mpjvzb
|
|
87
|
+
rationale:
|
|
88
|
+
type: string
|
|
89
|
+
# @req> REQ-51326810@tZsTSo6pwmwE z5vxyy
|
|
90
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD wi4wcd
|
|
91
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 zf2lsy
|
|
92
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez bqzsae
|
|
93
|
+
x-prose: true
|
|
94
|
+
|
|
95
|
+
# @req> REQ-55732743@ELdWYlfmjgH0 lyffll
|
|
96
|
+
entries:
|
|
97
|
+
type: object
|
|
98
|
+
minProperties: 1
|
|
99
|
+
propertyNames:
|
|
100
|
+
type: string
|
|
101
|
+
minLength: 1
|
|
102
|
+
|
|
103
|
+
# @req> REQ-66350758@mhvWsKLsPGHC qttgzd
|
|
104
|
+
assessed:
|
|
105
|
+
type: object
|
|
106
|
+
# @req> REQ-20438611@e9DfaZdZU0eT zbz6r3
|
|
107
|
+
readOnly: true
|
|
108
|
+
# @req> REQ-91894254@HA2Tpgi5MW9m qow7p3
|
|
109
|
+
default: {}
|
|
110
|
+
# @req> REQ-77349514@c5tXalbMeD2i g5owzj
|
|
111
|
+
propertyNames:
|
|
112
|
+
pattern: "^[a-z][a-z0-9_]*(\\..+)?$"
|
|
113
|
+
additionalProperties:
|
|
114
|
+
type: string
|
|
115
|
+
minLength: 1
|
|
116
|
+
|
|
117
|
+
# @req> REQ-88203622@wlZ9orsr9c7q jez5bu
|
|
118
|
+
citations:
|
|
119
|
+
type: object
|
|
120
|
+
# @req> REQ-89946019@X4MY0OTFXbag wkgpw2
|
|
121
|
+
readOnly: true
|
|
122
|
+
propertyNames:
|
|
123
|
+
pattern: "^[a-z2-7]{6}$"
|
|
124
|
+
additionalProperties:
|
|
125
|
+
type: string
|
|
126
|
+
pattern: "^[A-Za-z0-9_-]{43}$"
|
|
127
|
+
|
|
128
|
+
# @req> REQ-40478019@_dwqsOpSOQXA wg7rlk
|
|
129
|
+
whole_file_citations:
|
|
130
|
+
type: object
|
|
131
|
+
readOnly: true
|
|
132
|
+
propertyNames:
|
|
133
|
+
minLength: 1
|
|
134
|
+
additionalProperties:
|
|
135
|
+
type: object
|
|
136
|
+
additionalProperties: false
|
|
137
|
+
required: [pinned, digest]
|
|
138
|
+
properties:
|
|
139
|
+
pinned:
|
|
140
|
+
type: string
|
|
141
|
+
pattern: "^[A-Za-z0-9_-]{12}$"
|
|
142
|
+
digest:
|
|
143
|
+
type: string
|
|
144
|
+
pattern: "^[A-Za-z0-9_-]{43}$"
|
|
145
|
+
|
|
146
|
+
# @req> REQ-52555712@ifLOKFIGhkgf j4awd6
|
|
147
|
+
# @req> REQ-20003259@dUyU2uLqjsIF v56wyu
|
|
148
|
+
# @req> REQ-76262680@k4Ti3hJfcZ14 ltndty
|
|
149
|
+
# @req> REQ-12896387@jvS0Os1oYPbk z3j5vy
|
|
150
|
+
# @req> REQ-49304907@NSnffmSJBDm1 umaqja
|
|
151
|
+
allOf:
|
|
152
|
+
|
|
153
|
+
# @req> REQ-52555712@ifLOKFIGhkgf e5mj2f
|
|
154
|
+
- if: {required: [kind], properties: {kind: {const: term}}}
|
|
155
|
+
then:
|
|
156
|
+
properties:
|
|
157
|
+
citations: {not: {}}
|
|
158
|
+
whole_file_citations: {not: {}}
|
|
159
|
+
name: {not: {}}
|
|
160
|
+
text: {not: {}}
|
|
161
|
+
value_type: {not: {}}
|
|
162
|
+
unit: {not: {}}
|
|
163
|
+
default: {not: {}}
|
|
164
|
+
ceiling: {not: {}}
|
|
165
|
+
fields: {not: {}}
|
|
166
|
+
rationale: {not: {}}
|
|
167
|
+
entries:
|
|
168
|
+
# @req> REQ-79013939@LHWesLk8a6d7 2yhttw
|
|
169
|
+
maxProperties: 1
|
|
170
|
+
additionalProperties: {$ref: "#/$defs/term"}
|
|
171
|
+
|
|
172
|
+
# @req> REQ-76262680@k4Ti3hJfcZ14 y4ql4s
|
|
173
|
+
- if: {required: [kind], properties: {kind: {const: parameter}}}
|
|
174
|
+
then:
|
|
175
|
+
# @req> REQ-20003259@dUyU2uLqjsIF gbexkl
|
|
176
|
+
required: [name, text, value_type]
|
|
177
|
+
properties:
|
|
178
|
+
ceiling: {not: {}}
|
|
179
|
+
fields: {not: {}}
|
|
180
|
+
# @req> REQ-91205530@FiUaykViw6dQ shltxs
|
|
181
|
+
# @req> REQ-71965656@F8ulVugEMpD- w2nm2t
|
|
182
|
+
entries: {x-flag: value, additionalProperties: {$ref: "#/$defs/entry"}}
|
|
183
|
+
|
|
184
|
+
# @req> REQ-49304907@NSnffmSJBDm1 2ihvkk
|
|
185
|
+
- if: {required: [kind], properties: {kind: {const: data}}}
|
|
186
|
+
then:
|
|
187
|
+
# @req> REQ-12896387@jvS0Os1oYPbk crwhts
|
|
188
|
+
required: [name]
|
|
189
|
+
properties:
|
|
190
|
+
value_type: {not: {}}
|
|
191
|
+
unit: {not: {}}
|
|
192
|
+
# @req> REQ-91205530@FiUaykViw6dQ dss2lp
|
|
193
|
+
# @req> REQ-71965656@F8ulVugEMpD- zxdanu
|
|
194
|
+
entries: {x-flag: entry, additionalProperties: {$ref: "#/$defs/entry"}}
|
|
195
|
+
|
|
196
|
+
# @req> REQ-19756275@hGspvTpsKkDR xr244n
|
|
197
|
+
$defs:
|
|
198
|
+
|
|
199
|
+
# @req> REQ-19756275@hGspvTpsKkDR pbyoly
|
|
200
|
+
entry:
|
|
201
|
+
type: object
|
|
202
|
+
additionalProperties: {$ref: "#/$defs/field"}
|
|
203
|
+
properties:
|
|
204
|
+
# @req> REQ-52544202@FdBPIIOU8f_v mfnskt
|
|
205
|
+
value_type: {$ref: "#/$defs/field", x-entry-of: value_types}
|
|
206
|
+
# @req> REQ-36712960@kffnEhw1AEbI f2vzxe
|
|
207
|
+
definition:
|
|
208
|
+
type: string
|
|
209
|
+
minLength: 1
|
|
210
|
+
# @req> REQ-51326810@tZsTSo6pwmwE wprnd5
|
|
211
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD 54mfrx
|
|
212
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 fappkf
|
|
213
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez qemprc
|
|
214
|
+
x-prose: true
|
|
215
|
+
# @req> REQ-42019737@90sIiSl5qAyl 46pfik
|
|
216
|
+
aliases: {not: {}}
|
|
217
|
+
# @req> REQ-42147485@VsERY4C491hX g5qe2q
|
|
218
|
+
unclaimed: {not: {}}
|
|
219
|
+
# @req> REQ-42335087@EHhmRZP7XeYW g6kvgb
|
|
220
|
+
name:
|
|
221
|
+
type: string
|
|
222
|
+
minLength: 1
|
|
223
|
+
maxLength: 40
|
|
224
|
+
|
|
225
|
+
term:
|
|
226
|
+
# @req> REQ-92166241@HTHjlgOGlMF7 6p6gqt
|
|
227
|
+
required: [word, definition]
|
|
228
|
+
# @req> REQ-19756275@hGspvTpsKkDR kanmmn
|
|
229
|
+
additionalProperties: {$ref: "#/$defs/field"}
|
|
230
|
+
properties:
|
|
231
|
+
# @req> REQ-47317077@nmlbp2InoWXJ 5i5a5b
|
|
232
|
+
word:
|
|
233
|
+
type: string
|
|
234
|
+
# @req> REQ-91205530@FiUaykViw6dQ jy2drg
|
|
235
|
+
# @req> REQ-71965656@F8ulVugEMpD- ixutwk
|
|
236
|
+
x-flag: term
|
|
237
|
+
# @req> REQ-36712960@kffnEhw1AEbI 46cyrm
|
|
238
|
+
definition: {$ref: "#/$defs/entry/properties/definition"}
|
|
239
|
+
# @req> REQ-91205530@FiUaykViw6dQ 4sfqcl
|
|
240
|
+
# @req> REQ-71965656@F8ulVugEMpD- w3rrjk
|
|
241
|
+
# @req> REQ-48736295@BEVQZyse_96M x3zziz
|
|
242
|
+
aliases: {type: array, uniqueItems: true, items: {type: string, minLength: 1}, x-flag: alias}
|
|
243
|
+
# @req> REQ-20106088@5vCa8KN82s2L jar5fh
|
|
244
|
+
unclaimed:
|
|
245
|
+
type: object
|
|
246
|
+
# @req> REQ-24370000@L3oFZSuyf_lZ jrazmf
|
|
247
|
+
additionalProperties: {type: string, x-prose: true}
|
|
248
|
+
|
|
249
|
+
# @req> REQ-19756275@hGspvTpsKkDR bb4ooz
|
|
250
|
+
field:
|
|
251
|
+
type: [string, number, boolean, array, object]
|
|
252
|
+
items: {type: [string, number, boolean]}
|
|
253
|
+
propertyNames:
|
|
254
|
+
type: string
|
|
255
|
+
minLength: 1
|
|
256
|
+
additionalProperties: {$ref: "#/$defs/entry"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# @req> REQ-97751594@BwWOFlFOjjyU 2loty3
|
|
2
|
+
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
3
|
+
# @req> REQ-83218477@nthDaUhwd58l slnxeo
|
|
4
|
+
$id: "reqctl/guard.schema.yaml"
|
|
5
|
+
# @req> REQ-52846482@4k8T0YLN4n97 izj5r2
|
|
6
|
+
type: object
|
|
7
|
+
# @req> REQ-20678879@c210nefD6kHQ bioa7v
|
|
8
|
+
additionalProperties: false
|
|
9
|
+
|
|
10
|
+
# @req> REQ-20098211@G2knHaytDioI tvzckc
|
|
11
|
+
# @req> REQ-60231841@jePDPrjCGq74 w7yc5t
|
|
12
|
+
# @req> REQ-95625116@kUyiwf6F3QNx xvuqs4
|
|
13
|
+
# @req> REQ-72206066@or5GPpF3qRjD e7qjzi
|
|
14
|
+
# @req> REQ-29717668@RIdwMpfLVtSN d4na4n
|
|
15
|
+
required: [text, status, acceptance_criteria, relations, assessed]
|
|
16
|
+
|
|
17
|
+
# @req> REQ-20678879@c210nefD6kHQ gky3ek
|
|
18
|
+
properties:
|
|
19
|
+
|
|
20
|
+
# @req> REQ-20098211@G2knHaytDioI 7d6syh
|
|
21
|
+
text:
|
|
22
|
+
type: string
|
|
23
|
+
minLength: 1
|
|
24
|
+
# @req> REQ-51326810@tZsTSo6pwmwE dcdmk5
|
|
25
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD wn4rwf
|
|
26
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 525gw6
|
|
27
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez tviwnj
|
|
28
|
+
x-prose: true
|
|
29
|
+
|
|
30
|
+
# @req> REQ-60231841@jePDPrjCGq74 d4xw2k
|
|
31
|
+
status:
|
|
32
|
+
enum: [draft, approved, deprecated, superseded]
|
|
33
|
+
# @req> REQ-21532897@4mlJA_VkJWru j4mcvz
|
|
34
|
+
default: draft
|
|
35
|
+
|
|
36
|
+
# @req> REQ-95625116@kUyiwf6F3QNx hlxsuk
|
|
37
|
+
acceptance_criteria:
|
|
38
|
+
type: array
|
|
39
|
+
# @req> REQ-40805826@MwrhRhY2S8aV utxx4z
|
|
40
|
+
default: []
|
|
41
|
+
# @req> REQ-91205530@FiUaykViw6dQ apmpds
|
|
42
|
+
# @req> REQ-71965656@F8ulVugEMpD- fiorno
|
|
43
|
+
x-flag: criterion
|
|
44
|
+
# @req> REQ-64010477@RC2labUfeA7H 3zaepd
|
|
45
|
+
items:
|
|
46
|
+
type: object
|
|
47
|
+
additionalProperties: false
|
|
48
|
+
required: [given, when, then]
|
|
49
|
+
properties:
|
|
50
|
+
# @req> REQ-51326810@tZsTSo6pwmwE ifmpy5
|
|
51
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD 7b7u4g
|
|
52
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 5p2alw
|
|
53
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez 5mnihj
|
|
54
|
+
given: {type: string, minLength: 1, x-prose: true}
|
|
55
|
+
# @req> REQ-51326810@tZsTSo6pwmwE bvmam4
|
|
56
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD rlimsw
|
|
57
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 wsl2ie
|
|
58
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez uizjht
|
|
59
|
+
when: {type: string, minLength: 1, x-prose: true}
|
|
60
|
+
# @req> REQ-51326810@tZsTSo6pwmwE 46mdi7
|
|
61
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD yikagx
|
|
62
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 siwuzx
|
|
63
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez 65k6m5
|
|
64
|
+
then: {type: string, minLength: 1, x-prose: true}
|
|
65
|
+
|
|
66
|
+
# @req> REQ-12136510@Q7qxyHYKDLns w5buq3
|
|
67
|
+
rationale:
|
|
68
|
+
type: string
|
|
69
|
+
# @req> REQ-51326810@tZsTSo6pwmwE zhkpa6
|
|
70
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD utmgyj
|
|
71
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 py3hox
|
|
72
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez gtawtc
|
|
73
|
+
x-prose: true
|
|
74
|
+
|
|
75
|
+
# @req> REQ-72206066@or5GPpF3qRjD rzaqpj
|
|
76
|
+
relations:
|
|
77
|
+
type: object
|
|
78
|
+
# @req> REQ-65468432@457yPXcCJ7jW ddw4ix
|
|
79
|
+
readOnly: true
|
|
80
|
+
# @req> REQ-79941148@1tVAUwfYfzOT zexepm
|
|
81
|
+
default: {}
|
|
82
|
+
# @req> REQ-27469480@hig9PDBc8EAL sl6rd2
|
|
83
|
+
propertyNames:
|
|
84
|
+
pattern: "^GUARD-[0-9]{8}$"
|
|
85
|
+
additionalProperties:
|
|
86
|
+
enum: [derives_from, depends_on, constrains, supersedes, conflicts_with]
|
|
87
|
+
|
|
88
|
+
# @req> REQ-29717668@RIdwMpfLVtSN 7tsbiq
|
|
89
|
+
assessed:
|
|
90
|
+
type: object
|
|
91
|
+
# @req> REQ-20438611@e9DfaZdZU0eT xvebja
|
|
92
|
+
readOnly: true
|
|
93
|
+
# @req> REQ-91894254@HA2Tpgi5MW9m romwk6
|
|
94
|
+
default: {}
|
|
95
|
+
# @req> REQ-76117220@AaFqkR9MGAa- vm2npn
|
|
96
|
+
propertyNames:
|
|
97
|
+
pattern: "^(GUARD-[0-9]{8}|[a-z][a-z0-9_]*)(\\..+)?$"
|
|
98
|
+
additionalProperties:
|
|
99
|
+
type: string
|
|
100
|
+
minLength: 1
|
|
101
|
+
|
|
102
|
+
# @req> REQ-29452949@uJo5VABUlYBe c6uqqp
|
|
103
|
+
citations:
|
|
104
|
+
type: object
|
|
105
|
+
# @req> REQ-89946019@X4MY0OTFXbag dqr3vu
|
|
106
|
+
readOnly: true
|
|
107
|
+
# @req> REQ-64498551@plqPhZrcgNff yv3eko
|
|
108
|
+
propertyNames:
|
|
109
|
+
pattern: "^[a-z2-7]{6}$"
|
|
110
|
+
# @req> REQ-60525163@3OcsvouN9GFx k5clyz
|
|
111
|
+
additionalProperties:
|
|
112
|
+
type: string
|
|
113
|
+
pattern: "^[A-Za-z0-9_-]{43}$"
|
|
114
|
+
|
|
115
|
+
# @req> REQ-40478019@_dwqsOpSOQXA aem4lb
|
|
116
|
+
whole_file_citations:
|
|
117
|
+
type: object
|
|
118
|
+
readOnly: true
|
|
119
|
+
propertyNames:
|
|
120
|
+
minLength: 1
|
|
121
|
+
additionalProperties:
|
|
122
|
+
type: object
|
|
123
|
+
additionalProperties: false
|
|
124
|
+
required: [pinned, digest]
|
|
125
|
+
properties:
|
|
126
|
+
pinned:
|
|
127
|
+
type: string
|
|
128
|
+
pattern: "^[A-Za-z0-9_-]{12}$"
|
|
129
|
+
digest:
|
|
130
|
+
type: string
|
|
131
|
+
pattern: "^[A-Za-z0-9_-]{43}$"
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# @req> REQ-97751594@BwWOFlFOjjyU 5sbikq
|
|
2
|
+
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
3
|
+
# @req> REQ-83218477@nthDaUhwd58l 7kxgvq
|
|
4
|
+
$id: "reqctl/requirement.schema.yaml"
|
|
5
|
+
# @req> REQ-52846482@4k8T0YLN4n97 ho5alx
|
|
6
|
+
type: object
|
|
7
|
+
# @req> REQ-20678879@c210nefD6kHQ sj2at6
|
|
8
|
+
additionalProperties: false
|
|
9
|
+
|
|
10
|
+
# @req> REQ-20098211@G2knHaytDioI 7wuse3
|
|
11
|
+
# @req> REQ-75098293@uTbLO-CtERyf lq5h2w
|
|
12
|
+
# @req> REQ-60231841@jePDPrjCGq74 r3skuz
|
|
13
|
+
# @req> REQ-18969680@m-TFl7mdkBH_ rmqb2t
|
|
14
|
+
# @req> REQ-34233802@zs99YCdQML6g 2wgdwc
|
|
15
|
+
# @req> REQ-95625116@kUyiwf6F3QNx xxnnyy
|
|
16
|
+
# @req> REQ-72206066@or5GPpF3qRjD oeehhz
|
|
17
|
+
# @req> REQ-29717668@RIdwMpfLVtSN btnn3m
|
|
18
|
+
required: [text, type, status, verification, priority, acceptance_criteria, relations, assessed]
|
|
19
|
+
|
|
20
|
+
# @req> REQ-20678879@c210nefD6kHQ d42jgw
|
|
21
|
+
properties:
|
|
22
|
+
|
|
23
|
+
# @req> REQ-20098211@G2knHaytDioI barydb
|
|
24
|
+
text:
|
|
25
|
+
type: string
|
|
26
|
+
minLength: 1
|
|
27
|
+
# @req> REQ-51326810@tZsTSo6pwmwE herx2o
|
|
28
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD scvw2e
|
|
29
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 bb4d4e
|
|
30
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez 733htw
|
|
31
|
+
x-prose: true
|
|
32
|
+
|
|
33
|
+
# @req> REQ-75098293@uTbLO-CtERyf udnboc
|
|
34
|
+
type:
|
|
35
|
+
enum: [functional, non_functional, constraint]
|
|
36
|
+
# @req> REQ-13331330@P4lNv8GZIYi5 suidvz
|
|
37
|
+
default: functional
|
|
38
|
+
|
|
39
|
+
# @req> REQ-60231841@jePDPrjCGq74 wtgfve
|
|
40
|
+
status:
|
|
41
|
+
enum: [draft, approved, deprecated, superseded]
|
|
42
|
+
# @req> REQ-21532897@4mlJA_VkJWru bqeoev
|
|
43
|
+
default: draft
|
|
44
|
+
|
|
45
|
+
# @req> REQ-35443917@I_xqd07AsRI5 efas27
|
|
46
|
+
# @req> REQ-87380206@s24vYGZICHft idouod
|
|
47
|
+
verification:
|
|
48
|
+
enum: [inspection, analysis, demonstration]
|
|
49
|
+
default: inspection
|
|
50
|
+
|
|
51
|
+
# @req> REQ-95625116@kUyiwf6F3QNx 3n7kdx
|
|
52
|
+
acceptance_criteria:
|
|
53
|
+
type: array
|
|
54
|
+
# @req> REQ-40805826@MwrhRhY2S8aV 5hswio
|
|
55
|
+
default: []
|
|
56
|
+
# @req> REQ-91205530@FiUaykViw6dQ e3xspv
|
|
57
|
+
# @req> REQ-71965656@F8ulVugEMpD- q4nno6
|
|
58
|
+
x-flag: criterion
|
|
59
|
+
# @req> REQ-64010477@RC2labUfeA7H ens75t
|
|
60
|
+
items:
|
|
61
|
+
type: object
|
|
62
|
+
additionalProperties: false
|
|
63
|
+
required: [given, when, then]
|
|
64
|
+
properties:
|
|
65
|
+
# @req> REQ-51326810@tZsTSo6pwmwE vnflam
|
|
66
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD f6o5gy
|
|
67
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 3jfz4j
|
|
68
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez 6q22bn
|
|
69
|
+
given: {type: string, minLength: 1, x-prose: true}
|
|
70
|
+
# @req> REQ-51326810@tZsTSo6pwmwE oaaz6i
|
|
71
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD lfrvre
|
|
72
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 6z6dih
|
|
73
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez yec3ne
|
|
74
|
+
when: {type: string, minLength: 1, x-prose: true}
|
|
75
|
+
# @req> REQ-51326810@tZsTSo6pwmwE innu6u
|
|
76
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD tihnkp
|
|
77
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 rgv7rq
|
|
78
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez 5o7gi4
|
|
79
|
+
then: {type: string, minLength: 1, x-prose: true}
|
|
80
|
+
|
|
81
|
+
# @req> REQ-34233802@zs99YCdQML6g x3wn7x
|
|
82
|
+
priority:
|
|
83
|
+
enum: [high, medium, low]
|
|
84
|
+
# @req> REQ-24203829@voUq-k4sF1lM oqje27
|
|
85
|
+
default: medium
|
|
86
|
+
|
|
87
|
+
# @req> REQ-12136510@Q7qxyHYKDLns 6jxptq
|
|
88
|
+
rationale:
|
|
89
|
+
type: string
|
|
90
|
+
# @req> REQ-51326810@tZsTSo6pwmwE w7r4bo
|
|
91
|
+
# @req> REQ-67358511@6v5ZhXIOqAkD myuvtx
|
|
92
|
+
# @req> REQ-59874866@fH6bFHN-Lwa8 gxhhuc
|
|
93
|
+
# @req> REQ-76604940@SEVyiDrbH-Ez ostref
|
|
94
|
+
x-prose: true
|
|
95
|
+
|
|
96
|
+
# @req> REQ-72206066@or5GPpF3qRjD rebolx
|
|
97
|
+
relations:
|
|
98
|
+
type: object
|
|
99
|
+
# @req> REQ-65468432@457yPXcCJ7jW xdlpsu
|
|
100
|
+
readOnly: true
|
|
101
|
+
# @req> REQ-79941148@1tVAUwfYfzOT c3ap4f
|
|
102
|
+
default: {}
|
|
103
|
+
# @req> REQ-79353110@BkH49V7f27Ux 5hl4ke
|
|
104
|
+
propertyNames:
|
|
105
|
+
pattern: "^REQ-[0-9]{8}$"
|
|
106
|
+
additionalProperties:
|
|
107
|
+
enum: [derives_from, depends_on, constrains, supersedes, conflicts_with]
|
|
108
|
+
|
|
109
|
+
# @req> REQ-29717668@RIdwMpfLVtSN hzpraj
|
|
110
|
+
assessed:
|
|
111
|
+
type: object
|
|
112
|
+
# @req> REQ-20438611@e9DfaZdZU0eT hjvz6r
|
|
113
|
+
readOnly: true
|
|
114
|
+
# @req> REQ-91894254@HA2Tpgi5MW9m qzqq6g
|
|
115
|
+
default: {}
|
|
116
|
+
# @req> REQ-61848293@mqx_oBnVQn8f r55whv
|
|
117
|
+
propertyNames:
|
|
118
|
+
pattern: "^(REQ-[0-9]{8}|[a-z][a-z0-9_]*)(\\..+)?$"
|
|
119
|
+
additionalProperties:
|
|
120
|
+
type: string
|
|
121
|
+
minLength: 1
|
|
122
|
+
|
|
123
|
+
# @req> REQ-29452949@uJo5VABUlYBe zkmdiw
|
|
124
|
+
citations:
|
|
125
|
+
type: object
|
|
126
|
+
# @req> REQ-89946019@X4MY0OTFXbag osv6l4
|
|
127
|
+
readOnly: true
|
|
128
|
+
# @req> REQ-64498551@plqPhZrcgNff 5sdhfc
|
|
129
|
+
propertyNames:
|
|
130
|
+
pattern: "^[a-z2-7]{6}$"
|
|
131
|
+
# @req> REQ-60525163@3OcsvouN9GFx 3hchvm
|
|
132
|
+
additionalProperties:
|
|
133
|
+
type: string
|
|
134
|
+
pattern: "^[A-Za-z0-9_-]{43}$"
|
|
135
|
+
|
|
136
|
+
# @req> REQ-40478019@_dwqsOpSOQXA bormph
|
|
137
|
+
whole_file_citations:
|
|
138
|
+
type: object
|
|
139
|
+
readOnly: true
|
|
140
|
+
propertyNames:
|
|
141
|
+
minLength: 1
|
|
142
|
+
additionalProperties:
|
|
143
|
+
type: object
|
|
144
|
+
additionalProperties: false
|
|
145
|
+
required: [pinned, digest]
|
|
146
|
+
properties:
|
|
147
|
+
pinned:
|
|
148
|
+
type: string
|
|
149
|
+
pattern: "^[A-Za-z0-9_-]{12}$"
|
|
150
|
+
digest:
|
|
151
|
+
type: string
|
|
152
|
+
pattern: "^[A-Za-z0-9_-]{43}$"
|