@oimlsmart/primmel-packages 0.6.0 → 0.7.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/oiml-r129/.primmel-allowlist.prl +30 -0
- package/oiml-r129/evaluation/approvals.prl +48 -0
- package/oiml-r129/evaluation/gateways.prl +31 -0
- package/oiml-r129/evaluation/processes.prl +205 -24
- package/oiml-r129/evaluation/workflow.prl +25 -15
- package/oiml-r144/.primmel-allowlist.prl +36 -0
- package/oiml-r144/evaluation/approvals.prl +48 -0
- package/oiml-r144/evaluation/gateways.prl +36 -0
- package/oiml-r144/evaluation/processes.prl +205 -24
- package/oiml-r144/evaluation/workflow.prl +25 -15
- package/oiml-r60/.primmel-allowlist.prl +42 -0
- package/oiml-r60/evaluation/approvals.prl +48 -0
- package/oiml-r60/evaluation/gateways.prl +30 -0
- package/oiml-r60/evaluation/processes.prl +205 -24
- package/oiml-r60/evaluation/workflow.prl +25 -15
- package/oiml-r91/.primmel-allowlist.prl +42 -0
- package/oiml-r91/evaluation/approvals.prl +48 -0
- package/oiml-r91/evaluation/gateways.prl +34 -0
- package/oiml-r91/evaluation/processes.prl +205 -24
- package/oiml-r91/evaluation/workflow.prl +25 -15
- package/package.json +2 -2
|
@@ -1,2 +1,32 @@
|
|
|
1
1
|
# .primmel-allowlist.prl — GENERATED from primmel-allowlist.yaml (TODO.roadmap/17), do not edit.
|
|
2
2
|
text_coverage_budget 196 "First landing of gap-close C4-r129 (TODO.v2/05 — the R 129 sources-prd pipeline), tightened by TODO.integration/05 (the twin-interface bindings), then re-measured and burned down by the TODO.v2/05 follow-through (the R 129 source expansion): the official R 129:2020 sources landed (sources/r129) and every first-landing curation was re-verified against the official PDFs — the annexes print (Mandatory) throughout (+7 annex-A sentences correctly measured normative) and the notes compile as proper note fragments (−6 sentences correctly measured informative); the terminology register's source-URN burn-down covered the 26 register-carried definition sites, and the rec-native forms now bind their R 129-3/-4 report sections (ref report-format — the 11 module-skeleton forms' sections stay findings: the skeletons' with: slots carry no report-format channel, the composition union rule bars the rec overlay from restating references). 196 uncovered normative-classified sentences — the honest measurement of R 129's normative-text coverage over the published-print address space. Census by document: 131 R 129-1 + 58 R 129-2 + 4 R 129-3 + 3 R 129-4. The clusters are the declared named gaps of sources-prd/congruence.yaml (the unmodelled terminology sites, the Annex B software detail, the R 129-2 IEC method-procedure grids, the module-skeleton-covered report sections, and the R 129-4 sections no form binds). The budget caps the C71 findings EXACTLY and only burns down: new bindings (or adjudicated allowances) shrink it; growth fails C72."
|
|
3
|
+
allowlist_entry {
|
|
4
|
+
rule C142
|
|
5
|
+
match "exclusive_gateway ac_mains_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
6
|
+
reason "Routing markers, not process ids: ac_mains_tests / skip_ac_mains_tests name the AC-mains applicability branch."
|
|
7
|
+
audit_ref "TODO.roadmap/40"
|
|
8
|
+
}
|
|
9
|
+
allowlist_entry {
|
|
10
|
+
rule C142
|
|
11
|
+
match "exclusive_gateway low_battery_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
12
|
+
reason "Routing markers, not process ids: low_voltage_battery_test / skip_low_voltage_battery_test name the low-battery applicability branch."
|
|
13
|
+
audit_ref "TODO.roadmap/40"
|
|
14
|
+
}
|
|
15
|
+
allowlist_entry {
|
|
16
|
+
rule C142
|
|
17
|
+
match "exclusive_gateway effects_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
18
|
+
reason "Routing markers, not process ids: ambient_light_test / acoustics_test / skip_effect_tests name the environmental-effects branches."
|
|
19
|
+
audit_ref "TODO.roadmap/40"
|
|
20
|
+
}
|
|
21
|
+
allowlist_entry {
|
|
22
|
+
rule C142
|
|
23
|
+
match "exclusive_gateway speed_movement_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
24
|
+
reason "Routing markers, not process ids: speed_movement_test / skip_speed_movement_test name the speed-movement applicability branch."
|
|
25
|
+
audit_ref "TODO.roadmap/40"
|
|
26
|
+
}
|
|
27
|
+
allowlist_entry {
|
|
28
|
+
rule C142
|
|
29
|
+
match "exclusive_gateway test_result_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
30
|
+
reason "Routing markers, not process ids: compile_test_report_pass / compile_test_report_fail name the verdict branches of test-report compilation."
|
|
31
|
+
audit_ref "TODO.roadmap/40"
|
|
32
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
approval ia_accept_application {
|
|
2
|
+
name "IA Accepts Application"
|
|
3
|
+
actor issuing_authority
|
|
4
|
+
approve_by responsible_person_ia
|
|
5
|
+
approval_record { applications }
|
|
6
|
+
source { doc "PD-05 §4.2" clause "" }
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
approval tl_authorize_test_report {
|
|
10
|
+
name "TL Authorizes Test Report"
|
|
11
|
+
actor test_laboratory
|
|
12
|
+
approve_by responsible_person_tl
|
|
13
|
+
approval_record { testReports }
|
|
14
|
+
source { doc "PD-05 §4.4.3 r" clause "" }
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
approval ia_approve_evaluation_report {
|
|
18
|
+
name "IA Approves Evaluation Report"
|
|
19
|
+
actor issuing_authority
|
|
20
|
+
approve_by responsible_person_ia
|
|
21
|
+
approval_record { evaluationReports }
|
|
22
|
+
source { doc "PD-05 §4.5" clause "" }
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
approval ia_sign_certificate {
|
|
26
|
+
name "IA Signs OIML Certificate"
|
|
27
|
+
actor issuing_authority
|
|
28
|
+
approve_by responsible_person_ia
|
|
29
|
+
approval_record { certificates }
|
|
30
|
+
source { doc "PD-05 §4.6" clause "" }
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
approval biml_register_certificate {
|
|
34
|
+
name "BIML Registers Certificate"
|
|
35
|
+
actor biml
|
|
36
|
+
approve_by biml
|
|
37
|
+
approval_record { certificates }
|
|
38
|
+
source { doc "PD-05 §6" clause "" }
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
approval ia_approve_revision {
|
|
42
|
+
name "IA Approves Certificate Revision"
|
|
43
|
+
actor issuing_authority
|
|
44
|
+
approve_by responsible_person_ia
|
|
45
|
+
approval_record { certificateAnnexes }
|
|
46
|
+
source { doc "PD-05 §8.1" clause "" }
|
|
47
|
+
}
|
|
48
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
exclusive_gateway ac_mains_gateway {
|
|
2
|
+
label "AC Mains Test Applicability"
|
|
3
|
+
edge ac_mains_tests { condition "[power_supply] in ['ac-mains']" label "AC mains: voltage variation, dips, bursts and surge tests required (R 129-2, Annex A, Table A.1)" }
|
|
4
|
+
edge skip_ac_mains_tests { condition default label "Battery / DC: mains tests not applicable" }
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
exclusive_gateway low_battery_gateway {
|
|
8
|
+
label "Low Battery Test Applicability"
|
|
9
|
+
edge low_voltage_battery_test { condition "[power_supply] in ['battery']" label "Battery-powered: low voltage test required (R 129-2, Annex A)" }
|
|
10
|
+
edge skip_low_voltage_battery_test { condition default label "AC mains / DC: not applicable" }
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
exclusive_gateway effects_gateway {
|
|
14
|
+
label "Effect Test Applicability"
|
|
15
|
+
edge ambient_light_test { condition "[measurement_principle] in ['optical']" label "Optical: ambient light test required (R 129-1, 4.4)" }
|
|
16
|
+
edge acoustics_test { condition "[measurement_principle] in ['acoustic']" label "Acoustic: acoustics test required (R 129-1, 4.4)" }
|
|
17
|
+
edge skip_effect_tests { condition default label "Mechanical: no light/acoustic effect tests" }
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
exclusive_gateway speed_movement_gateway {
|
|
21
|
+
label "Speed of Movement Test Applicability"
|
|
22
|
+
edge speed_movement_test { condition "[instrument_category] in ['automatic']" label "Automatic: speed of movement test required (R 129-2, Annex A)" }
|
|
23
|
+
edge skip_speed_movement_test { condition default label "Semi-automatic: not applicable" }
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
exclusive_gateway test_result_gateway {
|
|
27
|
+
label "Test Result Determination"
|
|
28
|
+
edge compile_test_report_pass { condition "every([within_mpe]) = true" label "All tests pass" }
|
|
29
|
+
edge compile_test_report_fail { condition default label "One or more tests fail" }
|
|
30
|
+
}
|
|
31
|
+
|
|
@@ -1,152 +1,333 @@
|
|
|
1
1
|
process submit_application {
|
|
2
|
+
name "Submit Type Evaluation Application"
|
|
2
3
|
actor applicant
|
|
4
|
+
modality shall
|
|
5
|
+
reference_data_registry { measuringInstrumentModels manufacturers }
|
|
3
6
|
output { applications }
|
|
4
|
-
|
|
7
|
+
executor actor
|
|
8
|
+
source { doc "PD-05 §4.1" clause "" }
|
|
5
9
|
}
|
|
6
10
|
|
|
7
11
|
process review_application {
|
|
12
|
+
name "Review Application"
|
|
8
13
|
actor issuing_authority
|
|
14
|
+
modality shall
|
|
15
|
+
reference_data_registry { applications }
|
|
9
16
|
validate_provision { /req/cs/application-completeness }
|
|
10
17
|
output { applications }
|
|
11
|
-
|
|
18
|
+
executor actor
|
|
19
|
+
source { doc "PD-05 §4.2" clause "" }
|
|
12
20
|
}
|
|
13
21
|
|
|
14
22
|
process accept_application {
|
|
23
|
+
name "Accept Application and Notify"
|
|
15
24
|
actor issuing_authority
|
|
25
|
+
modality shall
|
|
16
26
|
validate_provision { /req/cs/fee-estimate /req/cs/sample-count }
|
|
17
27
|
output { applications }
|
|
18
|
-
|
|
28
|
+
executor actor
|
|
29
|
+
source { doc "PD-05 §4.2.4" clause "" }
|
|
19
30
|
}
|
|
20
31
|
|
|
21
32
|
process reject_application {
|
|
33
|
+
name "Reject Application with Reason"
|
|
22
34
|
actor issuing_authority
|
|
35
|
+
modality shall
|
|
23
36
|
validate_provision { /req/cs/rejection-reason }
|
|
24
37
|
output { applications }
|
|
25
|
-
|
|
38
|
+
executor actor
|
|
39
|
+
source { doc "PD-05 §4.2.2" clause "" }
|
|
26
40
|
}
|
|
27
41
|
|
|
28
42
|
process conduct_tests {
|
|
43
|
+
name "Conduct Type Evaluation Tests"
|
|
29
44
|
actor test_laboratory
|
|
45
|
+
modality shall
|
|
46
|
+
machine_steps { verdict_computation }
|
|
47
|
+
reference_data_registry { applications measuringInstrumentModels }
|
|
30
48
|
validate_provision { /req/metrological/scale-intervals-min-dimension /req/metrological/mpe /req/metrological/fault-limit /req/metrological/variation-between-indicators /req/metrological/calculated-quantities /req/electronic/rated-operating-conditions /req/electronic/disturbance-resistance /req/electronic/no-significant-faults /req/electronic/light-acoustic-effects /req/technical/warm-up /req/technical/limits-of-indication /req/object-limitations/object-shape /req/object-limitations/orientation-position /req/object-limitations/speed-movement }
|
|
49
|
+
validate_measurement { "every([within_mpe]) = true" }
|
|
31
50
|
output { testReports formInstances }
|
|
32
|
-
|
|
51
|
+
executor actor
|
|
52
|
+
source { doc "PD-05 §4.3" clause "" }
|
|
33
53
|
}
|
|
34
54
|
|
|
35
55
|
process compile_test_report {
|
|
56
|
+
name "Compile OIML Test Report"
|
|
36
57
|
actor test_laboratory
|
|
58
|
+
modality shall
|
|
37
59
|
validate_provision { /req/cs/test-report-18-elements }
|
|
60
|
+
validate_measurement { "[completed_forms].count = [required_forms].count" }
|
|
38
61
|
output { testReports }
|
|
39
|
-
|
|
62
|
+
executor actor
|
|
63
|
+
source { doc "PD-05 §4.4" clause "" }
|
|
40
64
|
}
|
|
41
65
|
|
|
42
66
|
process compile_evaluation_report {
|
|
67
|
+
name "Compile Type Evaluation Report"
|
|
43
68
|
actor issuing_authority
|
|
69
|
+
modality shall
|
|
70
|
+
machine_steps { evaluation_aggregation }
|
|
71
|
+
reference_data_registry { testReports formInstances applications }
|
|
44
72
|
validate_provision { /req/cs/evaluation-report-contents }
|
|
73
|
+
validate_measurement { "[test_report_checklist_coverage] >= 1.0" }
|
|
45
74
|
output { evaluationReports }
|
|
46
|
-
|
|
75
|
+
executor actor
|
|
76
|
+
source { doc "PD-05 §4.5" clause "" }
|
|
47
77
|
}
|
|
48
78
|
|
|
49
79
|
process issue_certificate {
|
|
80
|
+
name "Issue OIML Certificate"
|
|
50
81
|
actor issuing_authority
|
|
82
|
+
modality shall
|
|
83
|
+
machine_steps { certificate_characteristics_derivation }
|
|
84
|
+
reference_data_registry { evaluationReports }
|
|
51
85
|
validate_provision { /req/cs/certificate-requirements }
|
|
52
86
|
output { certificates }
|
|
53
|
-
|
|
87
|
+
executor actor
|
|
88
|
+
source { doc "PD-05 §4.6" clause "" }
|
|
54
89
|
}
|
|
55
90
|
|
|
56
91
|
process register_certificate {
|
|
92
|
+
name "Register Certificate with BIML"
|
|
57
93
|
actor biml
|
|
94
|
+
modality shall
|
|
58
95
|
validate_provision { /req/cs/biml-registration }
|
|
59
96
|
output { certificates }
|
|
60
|
-
|
|
97
|
+
executor actor
|
|
98
|
+
source { doc "PD-05 §6" clause "" }
|
|
61
99
|
}
|
|
62
100
|
|
|
63
101
|
process handle_revision {
|
|
102
|
+
name "Handle Certificate Revision"
|
|
64
103
|
actor issuing_authority
|
|
104
|
+
modality may
|
|
105
|
+
reference_data_registry { certificates }
|
|
65
106
|
output { certificates certificateAnnexes }
|
|
66
|
-
|
|
107
|
+
executor actor
|
|
108
|
+
source { doc "PD-05 §8.1" clause "" }
|
|
67
109
|
}
|
|
68
110
|
|
|
69
111
|
process handle_edition_change {
|
|
112
|
+
name "Handle Edition Change"
|
|
70
113
|
actor issuing_authority
|
|
114
|
+
modality may
|
|
115
|
+
reference_data_registry { certificates }
|
|
71
116
|
output { evaluationReports certificates }
|
|
72
|
-
|
|
117
|
+
executor actor
|
|
118
|
+
source { doc "PD-05 §8.3" clause "" }
|
|
73
119
|
}
|
|
74
120
|
|
|
75
121
|
process evaluate_certificate_acceptance {
|
|
122
|
+
name "Evaluate certificate acceptability"
|
|
76
123
|
actor utilizer
|
|
124
|
+
modality may
|
|
125
|
+
reference_data_registry { certificates participantDeclarations }
|
|
77
126
|
output { acceptanceReviews }
|
|
78
|
-
|
|
127
|
+
executor actor
|
|
128
|
+
source { doc "PD-06, 4.8/4.9; B 18:2025 §5.6.3" clause "" }
|
|
79
129
|
}
|
|
80
130
|
|
|
81
131
|
process handle_appeal {
|
|
132
|
+
name "Handle appeal to the Board of Appeal"
|
|
82
133
|
actor executive_secretary
|
|
134
|
+
modality may
|
|
135
|
+
reference_data_registry { participantApplications certificates }
|
|
83
136
|
output { appeals }
|
|
84
|
-
|
|
137
|
+
executor actor
|
|
138
|
+
source { doc "PD-01, 8–9" clause "" }
|
|
85
139
|
}
|
|
86
140
|
|
|
87
141
|
process handle_complaint {
|
|
142
|
+
name "Handle complaint (incl. incorrect conclusions)"
|
|
88
143
|
actor executive_secretary
|
|
144
|
+
modality may
|
|
145
|
+
reference_data_registry { certificates }
|
|
89
146
|
output { complaints }
|
|
90
|
-
|
|
147
|
+
executor actor
|
|
148
|
+
source { doc "PD-01, 6; PD-05 §7.1" clause "" }
|
|
91
149
|
}
|
|
92
150
|
|
|
93
151
|
process handle_misuse {
|
|
152
|
+
name "Handle certificate misuse"
|
|
94
153
|
actor executive_secretary
|
|
154
|
+
modality may
|
|
155
|
+
reference_data_registry { certificates }
|
|
95
156
|
output { misuseCases }
|
|
96
|
-
|
|
157
|
+
executor actor
|
|
158
|
+
source { doc "PD-06, 5.1" clause "" }
|
|
97
159
|
}
|
|
98
160
|
|
|
99
161
|
process deregister_certificate {
|
|
162
|
+
name "Deregister certificate"
|
|
100
163
|
actor biml
|
|
164
|
+
modality may
|
|
165
|
+
reference_data_registry { certificates complaints misuseCases }
|
|
101
166
|
output { deregistrations certificates }
|
|
102
|
-
|
|
167
|
+
executor actor
|
|
168
|
+
source { doc "PD-01, 6.2; PD-06, 5.2/5.3; PD-05 §6.2" clause "" }
|
|
103
169
|
}
|
|
104
170
|
|
|
105
171
|
process verify_presented_certificate {
|
|
172
|
+
name "Verify a presented certificate against the registered copy"
|
|
106
173
|
actor biml
|
|
174
|
+
modality may
|
|
175
|
+
reference_data_registry { certificates registeredCopies }
|
|
107
176
|
output { registeredCopies }
|
|
108
|
-
|
|
177
|
+
executor actor
|
|
178
|
+
source { doc "B 18:2025 §15.8" clause "" }
|
|
109
179
|
}
|
|
110
180
|
|
|
111
181
|
process submit_participant_application {
|
|
182
|
+
name "Submit participant application"
|
|
112
183
|
actor applicant
|
|
184
|
+
modality may
|
|
185
|
+
reference_data_registry { participantApplications }
|
|
113
186
|
output { participantApplications }
|
|
114
|
-
|
|
187
|
+
executor actor
|
|
188
|
+
source { doc "PD-03, 5.1; PD-04, 5.1; PD-09, 4–5; PD-02, 7" clause "" }
|
|
115
189
|
}
|
|
116
190
|
|
|
117
191
|
process assess_participant_competence {
|
|
192
|
+
name "Assess participant competence"
|
|
118
193
|
actor executive_secretary
|
|
194
|
+
modality may
|
|
195
|
+
reference_data_registry { participantApplications }
|
|
119
196
|
output { competenceEvidence }
|
|
120
|
-
|
|
197
|
+
executor actor
|
|
198
|
+
source { doc "PD-03, 5.2; PD-04, 5.2" clause "" }
|
|
121
199
|
}
|
|
122
200
|
|
|
123
201
|
process recommend_participation {
|
|
202
|
+
name "Review Committee recommendation"
|
|
124
203
|
actor evaluator
|
|
204
|
+
modality may
|
|
205
|
+
reference_data_registry { participantApplications }
|
|
125
206
|
output { approvalVotes }
|
|
126
|
-
|
|
207
|
+
executor actor
|
|
208
|
+
source { doc "PD-03, 5.3.2; PD-04, 5.3.2; PD-02, 8.1; OD-01, 5.6/7.9" clause "" }
|
|
127
209
|
}
|
|
128
210
|
|
|
129
211
|
process decide_participation {
|
|
212
|
+
name "MC participation decision"
|
|
130
213
|
actor supervisor
|
|
214
|
+
modality may
|
|
215
|
+
reference_data_registry { participantApplications }
|
|
131
216
|
output { approvalVotes participantApplications }
|
|
132
|
-
|
|
217
|
+
executor actor
|
|
218
|
+
source { doc "PD-03, 5.3.2; PD-04, 5.3.2; PD-02, 8.2; B 18:2025 §11.4.2" clause "" }
|
|
133
219
|
}
|
|
134
220
|
|
|
135
221
|
process record_participant_declaration {
|
|
222
|
+
name "Record/maintain a participant Declaration"
|
|
136
223
|
actor executive_secretary
|
|
224
|
+
modality may
|
|
225
|
+
reference_data_registry { participantDeclarations }
|
|
137
226
|
output { participantDeclarations }
|
|
138
|
-
|
|
227
|
+
executor actor
|
|
228
|
+
source { doc "PD-08, 4–5; PD-03, 5.3.2/9; PD-04, 5.3.2/7" clause "" }
|
|
139
229
|
}
|
|
140
230
|
|
|
141
231
|
process publish_participant_register {
|
|
232
|
+
name "Publish the participant lists"
|
|
142
233
|
actor executive_secretary
|
|
234
|
+
modality may
|
|
235
|
+
reference_data_registry { participantDeclarations }
|
|
143
236
|
output { participantApplications }
|
|
144
|
-
|
|
237
|
+
executor actor
|
|
238
|
+
source { doc "PD-03, 5.3.2; PD-04, 5.3.2; PD-08, 4; PD-09, 4–5; OD-01, 13.4" clause "" }
|
|
145
239
|
}
|
|
146
240
|
|
|
147
241
|
process drive_scheme_lifecycle {
|
|
242
|
+
name "Drive the per-category scheme lifecycle"
|
|
148
243
|
actor biml
|
|
244
|
+
modality may
|
|
245
|
+
reference_data_registry { categorySchemes }
|
|
149
246
|
output { categorySchemes }
|
|
150
|
-
|
|
247
|
+
executor actor
|
|
248
|
+
source { doc "B 18:2025 §4.2, §15.1–15.2" clause "" }
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
workflow_stage application_processing {
|
|
252
|
+
label "Application Processing"
|
|
253
|
+
description "PD-05 §4.1–4.2: Application submission, review, and acceptance/rejection"
|
|
254
|
+
elements { submit_application review_application accept_application reject_application }
|
|
255
|
+
start_event application_received
|
|
256
|
+
end_events { application_accepted application_rejected application_withdrawn }
|
|
257
|
+
approvals { ia_accept_application }
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
workflow_stage testing {
|
|
261
|
+
label "Type Evaluation Testing"
|
|
262
|
+
description "PD-05 §4.3–4.4: Test execution and test report compilation"
|
|
263
|
+
elements { conduct_tests compile_test_report }
|
|
264
|
+
start_event application_accepted
|
|
265
|
+
end_events { test_report_compiled }
|
|
266
|
+
approvals { tl_authorize_test_report }
|
|
267
|
+
gateways { ac_mains_gateway low_battery_gateway effects_gateway speed_movement_gateway test_result_gateway }
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
workflow_stage evaluation {
|
|
271
|
+
label "Type Evaluation"
|
|
272
|
+
description "PD-05 §4.5: Evaluation report compilation and approval"
|
|
273
|
+
elements { compile_evaluation_report }
|
|
274
|
+
start_event test_report_compiled
|
|
275
|
+
end_events { evaluation_complete }
|
|
276
|
+
approvals { ia_approve_evaluation_report }
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
workflow_stage certification {
|
|
280
|
+
label "Certification"
|
|
281
|
+
description "PD-05 §4.6, §6, §8: Certificate issuance, registration, and revision"
|
|
282
|
+
elements { issue_certificate register_certificate handle_revision handle_edition_change }
|
|
283
|
+
start_event evaluation_complete
|
|
284
|
+
end_events { certificate_issued }
|
|
285
|
+
approvals { ia_sign_certificate biml_register_certificate ia_approve_revision }
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
workflow_stage scheme_operations {
|
|
289
|
+
label "OIML-CS Scheme Operations"
|
|
290
|
+
description "PD-01/PD-06 + B 18:2025 §15.8 (TODO.roadmap/45): acceptability evaluation, appeals, complaints, misuse, deregistration, and the registered-copy validity check"
|
|
291
|
+
elements { evaluate_certificate_acceptance handle_appeal handle_complaint handle_misuse deregister_certificate verify_presented_certificate }
|
|
292
|
+
start_event certificate_issued
|
|
293
|
+
end_events { certificate_deregistered }
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
workflow_stage participant_approval {
|
|
297
|
+
label "OIML-CS Participant Approval"
|
|
298
|
+
description "PD-02/PD-03/PD-04/PD-08/PD-09 + B 18:2025 §15 (TODO.roadmap/44–45): the participation pipeline — application, competence assessment, RC recommendation, MC decision, Declaration, publication — and the per-category scheme lifecycle"
|
|
299
|
+
elements { submit_participant_application assess_participant_competence recommend_participation decide_participation record_participant_declaration publish_participant_register drive_scheme_lifecycle }
|
|
300
|
+
start_event participant_application_received
|
|
301
|
+
end_events { participant_active }
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
start_event application_received {
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
end_event application_accepted {
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
end_event application_rejected {
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
end_event application_withdrawn {
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
end_event test_report_compiled {
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
end_event evaluation_complete {
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
end_event certificate_issued {
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
end_event certificate_deregistered {
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
start_event participant_application_received {
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
end_event participant_active {
|
|
151
332
|
}
|
|
152
333
|
|
|
@@ -1,48 +1,58 @@
|
|
|
1
1
|
process application {
|
|
2
|
-
|
|
2
|
+
name "Type Evaluation Application"
|
|
3
|
+
summary "Applicant (manufacturer, distributor, or end user) submits Application declaring the instrument model family, the requested scope (matrix of model-family members per the Recommendation's specimen-selection rules), requested ANR countries, scheme (A/B), and supporting documentation."
|
|
3
4
|
actor applicant
|
|
4
|
-
|
|
5
|
-
validate_provision { applicant_info model_family_matrix documentation }
|
|
5
|
+
phase intake
|
|
6
6
|
guard "Application.status = SUBMITTED"
|
|
7
7
|
guard "Application.model_family_id is not null OR Application.model_ids.length >= 1"
|
|
8
|
+
validate_provision { applicant_info model_family_matrix documentation }
|
|
9
|
+
output { Application }
|
|
8
10
|
}
|
|
9
11
|
|
|
10
12
|
process test-request-dispatch {
|
|
11
|
-
|
|
13
|
+
name "Test request dispatch"
|
|
14
|
+
summary "IA selects one or more Test Laboratories (by accreditation scope, equipment capability, capacity) and issues a TestRequest to each, specifying which samples are shipped, which of the Recommendation's Test Report Forms the lab must complete, and the test conditions."
|
|
12
15
|
actor issuing-authority
|
|
13
|
-
|
|
14
|
-
validate_provision { Application MeasuringInstrumentSample TestLaboratory }
|
|
16
|
+
phase dispatch
|
|
15
17
|
guard "Each TestRequest references >= 1 MeasuringInstrumentSample"
|
|
16
18
|
guard "Each TestRequest.required_forms subset of R 129-3 form identifiers"
|
|
17
19
|
guard "TestRequest.assigned_laboratory_id is accredited for the requested test scope (R 129 multi-dimensional measuring instruments)"
|
|
20
|
+
validate_provision { Application MeasuringInstrumentSample TestLaboratory }
|
|
21
|
+
output { TestRequest }
|
|
18
22
|
}
|
|
19
23
|
|
|
20
24
|
process test-performance {
|
|
21
|
-
|
|
25
|
+
name "Test performance and report"
|
|
26
|
+
summary "Test Lab accepts the TestRequest (which implies physical sample receipt), performs the tests per the Recommendation's test procedures, fills in the required Test Report Forms (one FormInstance per sample per form), and issues a TestReport that bundles all FormInstances."
|
|
22
27
|
actor test-laboratory
|
|
23
|
-
|
|
24
|
-
validate_provision { TestRequest MeasuringInstrumentSample }
|
|
28
|
+
phase testing
|
|
25
29
|
guard "TestReport.test_request_id references the TestRequest"
|
|
26
30
|
guard "TestReport contains one FormInstance per (requiredForm × sample) pair"
|
|
27
31
|
guard "TestReport.status = SUBMITTED"
|
|
32
|
+
validate_provision { TestRequest MeasuringInstrumentSample }
|
|
33
|
+
output { "TestReport containing FormInstance" }
|
|
28
34
|
}
|
|
29
35
|
|
|
30
36
|
process evaluation {
|
|
31
|
-
|
|
37
|
+
name "Evaluation and determination"
|
|
38
|
+
summary "IA staff review every submitted TestReport. For each TestReport, a TestReportDetermination is recorded (ACCEPTED / REJECTED / CONDITIONALLY_ACCEPTED). For each FormInstance, a FormDetermination is recorded. The aggregate of all TestReportDeterminations determines the EvaluationReport overall_decision. Finalization requires every TestReport in test_report_ids[] to have a corresponding determination."
|
|
32
39
|
actor issuing-authority
|
|
33
|
-
|
|
34
|
-
validate_provision { TestReport FormInstance }
|
|
40
|
+
phase evaluation
|
|
35
41
|
guard "All TestReport entries in test_report_ids[] have a TestReportDetermination"
|
|
36
42
|
guard "EvaluationReport.status = ALL_TR_REVIEWED before finalization"
|
|
37
43
|
guard "overall_decision derivable from test_report_determinations[]"
|
|
44
|
+
validate_provision { TestReport FormInstance }
|
|
45
|
+
output { "EvaluationReport containing FormDetermination" TestReportDetermination }
|
|
38
46
|
}
|
|
39
47
|
|
|
40
48
|
process certificate-issuance {
|
|
41
|
-
|
|
49
|
+
name "OIML Certificate of Conformity"
|
|
50
|
+
summary "If EvaluationReport.overall_decision = APPROVED, IA issues a Certificate whose scope covers the original Application's matrix. BIML registers the certificate."
|
|
42
51
|
actor issuing-authority
|
|
43
|
-
|
|
44
|
-
validate_provision { EvaluationReport Application.model_family_id }
|
|
52
|
+
phase issuance
|
|
45
53
|
guard "EvaluationReport.overall_decision = APPROVED"
|
|
46
54
|
guard "Certificate.scope matches Application scope (model family + approved members)"
|
|
55
|
+
validate_provision { EvaluationReport Application.model_family_id }
|
|
56
|
+
output { Certificate }
|
|
47
57
|
}
|
|
48
58
|
|
|
@@ -1,2 +1,38 @@
|
|
|
1
1
|
# .primmel-allowlist.prl — GENERATED from primmel-allowlist.yaml (TODO.roadmap/17), do not edit.
|
|
2
2
|
text_coverage_budget 0 "R144-BD burn-down, phase 2 (TODO.roadmap/26): the honest completion — 210/213 = 98.6% covered, 100.0% gated with the three sentence-pinned allowances of sources-prd/coverage.yaml. Phase 1 (111 → 16) modelled the three largest first-landing clusters; phase 2 models the remaining 16: the R 144-3 clause-2 report content rules (7 sentences — the new /req/report class: recommended numbers/values in the OIML-CS, test means indication, alternatives/equivalence assurance, observed problems and test conditions), the R 144-1 type-evaluation and verification generalities (7 sentences — the new /req/controls class: type-evaluation units 7.1.2, completely-mounted testing 7.1.3.1, correctness-of-operation check 7.1.3.3, initial verification 7.2.1; the external-examination generality 7.1.3.2 bound by the visual examination; the type-approval CGM conformance 7.1.3.1 s5 as a reference-material constraint), and R 144-2's 1.1 prior-to-tests generality + the clause-2 initial-verification checklist head (2 sentences — /req/controls). No sentence adjudicated non-modelable in this phase. Any new uncovered sentence is a regression and fails (C72). First landing: 111 (101/213 = 47.4%)."
|
|
3
|
+
allowlist_entry {
|
|
4
|
+
rule C142
|
|
5
|
+
match "exclusive_gateway gas_handling_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
6
|
+
reason "Routing markers, not process ids: flow_spillover_and_leakproofness_tests / skip_gas_handling_tests name the gas-handling applicability branch."
|
|
7
|
+
audit_ref "TODO.roadmap/40"
|
|
8
|
+
}
|
|
9
|
+
allowlist_entry {
|
|
10
|
+
rule C142
|
|
11
|
+
match "exclusive_gateway low_battery_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
12
|
+
reason "Routing markers, not process ids: low_battery_test / skip_low_battery_test name the low-battery applicability branch."
|
|
13
|
+
audit_ref "TODO.roadmap/40"
|
|
14
|
+
}
|
|
15
|
+
allowlist_entry {
|
|
16
|
+
rule C142
|
|
17
|
+
match "exclusive_gateway signal_line_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
18
|
+
reason "Routing markers, not process ids: bursts_signal_and_surge_tests / skip_signal_line_tests name the signal-line applicability branch."
|
|
19
|
+
audit_ref "TODO.roadmap/40"
|
|
20
|
+
}
|
|
21
|
+
allowlist_entry {
|
|
22
|
+
rule C142
|
|
23
|
+
match "exclusive_gateway drift_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
24
|
+
reason "Routing markers, not process ids: drift_test / skip_drift_test name the drift-test applicability branch."
|
|
25
|
+
audit_ref "TODO.roadmap/40"
|
|
26
|
+
}
|
|
27
|
+
allowlist_entry {
|
|
28
|
+
rule C142
|
|
29
|
+
match "exclusive_gateway test_result_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
30
|
+
reason "Routing markers, not process ids: compile_test_report_pass / compile_test_report_fail name the verdict branches of test-report compilation."
|
|
31
|
+
audit_ref "TODO.roadmap/40"
|
|
32
|
+
}
|
|
33
|
+
allowlist_entry {
|
|
34
|
+
rule C142
|
|
35
|
+
match "exclusive_gateway mtl_gateway: edge * targets \"*\", which is not a declared process (gateway-edges-resolve)"
|
|
36
|
+
reason "Routing markers, not process ids: accept_mtl_report / require_independent_tl name the manufacturer-test-lab acceptability branches (Scheme A)."
|
|
37
|
+
audit_ref "TODO.roadmap/40"
|
|
38
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
approval ia_accept_application {
|
|
2
|
+
name "IA Accepts Application"
|
|
3
|
+
actor issuing_authority
|
|
4
|
+
approve_by responsible_person_ia
|
|
5
|
+
approval_record { applications }
|
|
6
|
+
source { doc "PD-05 §4.2" clause "" }
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
approval tl_authorize_test_report {
|
|
10
|
+
name "TL Authorizes Test Report"
|
|
11
|
+
actor test_laboratory
|
|
12
|
+
approve_by responsible_person_tl
|
|
13
|
+
approval_record { testReports }
|
|
14
|
+
source { doc "PD-05 §4.4.3 r" clause "" }
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
approval ia_approve_evaluation_report {
|
|
18
|
+
name "IA Approves Evaluation Report"
|
|
19
|
+
actor issuing_authority
|
|
20
|
+
approve_by responsible_person_ia
|
|
21
|
+
approval_record { evaluationReports }
|
|
22
|
+
source { doc "PD-05 §4.5" clause "" }
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
approval ia_sign_certificate {
|
|
26
|
+
name "IA Signs OIML Certificate"
|
|
27
|
+
actor issuing_authority
|
|
28
|
+
approve_by responsible_person_ia
|
|
29
|
+
approval_record { certificates }
|
|
30
|
+
source { doc "PD-05 §4.6" clause "" }
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
approval biml_register_certificate {
|
|
34
|
+
name "BIML Registers Certificate"
|
|
35
|
+
actor biml
|
|
36
|
+
approve_by biml
|
|
37
|
+
approval_record { certificates }
|
|
38
|
+
source { doc "PD-05 §6" clause "" }
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
approval ia_approve_revision {
|
|
42
|
+
name "IA Approves Certificate Revision"
|
|
43
|
+
actor issuing_authority
|
|
44
|
+
approve_by responsible_person_ia
|
|
45
|
+
approval_record { certificateAnnexes }
|
|
46
|
+
source { doc "PD-05 §8.1" clause "" }
|
|
47
|
+
}
|
|
48
|
+
|