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.
@@ -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}$"