@oimlsmart/primmel-packages 0.4.0 → 0.5.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-cs/.primmel-allowlist.prl +7 -0
- package/oiml-cs/evaluation/abstract-processes.prl +454 -0
- package/oiml-cs/framework/declarations.prl +1 -1
- package/oiml-cs/framework/documents/cid-01/abstract-processes.prl +112 -0
- package/oiml-cs/framework/documents/cid-01/requirements.prl +99 -0
- package/oiml-cs/framework/documents/od-01/abstract-processes.prl +157 -0
- package/oiml-cs/framework/documents/od-01/requirements.prl +138 -0
- package/oiml-cs/framework/documents/od-02/abstract-processes.prl +119 -0
- package/oiml-cs/framework/documents/od-02/requirements.prl +75 -0
- package/oiml-cs/framework/documents/pd-01/abstract-processes.prl +209 -0
- package/oiml-cs/framework/documents/pd-01/requirements.prl +117 -0
- package/oiml-cs/framework/documents/pd-02/abstract-processes.prl +217 -0
- package/oiml-cs/framework/documents/pd-02/requirements.prl +126 -0
- package/oiml-cs/framework/documents/pd-03/abstract-processes.prl +348 -0
- package/oiml-cs/framework/documents/pd-03/annex-d032.prl +48 -0
- package/oiml-cs/framework/documents/pd-03/requirements.prl +162 -0
- package/oiml-cs/framework/documents/pd-04/abstract-processes.prl +295 -0
- package/oiml-cs/framework/documents/pd-04/annex-d030.prl +54 -0
- package/oiml-cs/framework/documents/pd-04/requirements.prl +140 -0
- package/oiml-cs/framework/documents/pd-06/abstract-processes.prl +152 -0
- package/oiml-cs/framework/documents/pd-06/requirements.prl +122 -0
- package/oiml-cs/framework/documents/pd-07/abstract-processes.prl +99 -0
- package/oiml-cs/framework/documents/pd-07/requirements.prl +84 -0
- package/oiml-cs/framework/documents/pd-08/abstract-processes.prl +102 -0
- package/oiml-cs/framework/documents/pd-08/requirements.prl +82 -0
- package/oiml-cs/framework/documents/pd-09/abstract-processes.prl +234 -0
- package/oiml-cs/framework/documents/pd-09/requirements.prl +82 -0
- package/oiml-cs/package.primmel +1 -1
- package/oiml-r129/package.primmel +1 -1
- package/oiml-r144/package.primmel +1 -1
- package/oiml-r60/package.primmel +1 -1
- package/oiml-r91/package.primmel +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# .primmel-allowlist.prl — GENERATED from primmel-allowlist.yaml (TODO.roadmap/17), do not edit.
|
|
2
|
+
allowlist_entry {
|
|
3
|
+
rule C121
|
|
4
|
+
match "*realized_by \"*\" is not a declared process (abstract-process-references-resolve)*"
|
|
5
|
+
reason "The realized_by edges resolve against the COMPOSED model (the rec packages' concrete evaluation/processes.prl processes) by design — C121's merged-model semantics. The corpus's standalone check mode (no resolvePackage locator) cannot see them, and composing trips the pre-existing CASCO C28 (the include-transport migration, primmel-ts task 13). Content-level resolution is proven by the consumer's cs-coverage gate. Dies when the gates check composed (the STALE discipline)."
|
|
6
|
+
audit_ref "TODO.roadmap/42"
|
|
7
|
+
}
|
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
# OIML-CS REFERENCE PACKAGE — ABSTRACT PROCESS MODEL (PD-05)
|
|
2
|
+
# -----------------------------------------------------------------------------
|
|
3
|
+
# The OIML-CS certification process as ABSTRACT processes (TODO.roadmap/15;
|
|
4
|
+
# abstract form per TODO.roadmap/02 — signature + invariants, no steps).
|
|
5
|
+
# The 7-step usage flow (docs/oiml-cs-cert-workflow.md) plus BIML
|
|
6
|
+
# registration: application → review → dispatch → testing → evaluation →
|
|
7
|
+
# decision → issue → biml_registration. TODO.roadmap/41 (full PD-05
|
|
8
|
+
# coverage) adds the off-sequence flows: revision (§8.1, pre-existing),
|
|
9
|
+
# re_application (§4.5.7), registration_fee (§6.2–6.3),
|
|
10
|
+
# incorrect_conclusions (§7.1), parallel_certificates (§8.2),
|
|
11
|
+
# recommendation_update (§8.3) and scheme_a_certification (clause 5).
|
|
12
|
+
# Processes with an empty realized_by have no concrete Core realization —
|
|
13
|
+
# the coverage gate records them (and their provisions) as named gaps.
|
|
14
|
+
#
|
|
15
|
+
# Each abstract process declares:
|
|
16
|
+
# executor machine | actor (task 02 executor typing)
|
|
17
|
+
# roles role ids from data/core/evaluation/roles.yaml bound to this step
|
|
18
|
+
# signature in/out — the workflow records the step consumes/produces,
|
|
19
|
+
# named by Core entity store (data/core/entities/*.yaml)
|
|
20
|
+
# evidence evidence requirements — the records the step must produce or
|
|
21
|
+
# attach for the scheme's provisions to be inspectable
|
|
22
|
+
# invariants OCL-style booleans over the signature that hold on completion
|
|
23
|
+
# — paths name REAL Core entity fields (snake_case, references
|
|
24
|
+
# are the _id-suffixed fields, enum literals uppercase per the
|
|
25
|
+
# entity's enum_values, e.g. Application.status = 'REJECTED')
|
|
26
|
+
# provisions the /req/cs/* provisions (specification/requirements/cs.prl)
|
|
27
|
+
# this step enforces
|
|
28
|
+
# realized_by the CONCRETE Core process ids (data/core/evaluation/
|
|
29
|
+
# processes.yaml) that realize this abstract process in the
|
|
30
|
+
# platform's workflow skeleton — the documentary half of the
|
|
31
|
+
# mapping; the FORMAL mapping is the .prm
|
|
32
|
+
# (data/core/evaluation/platform-to-oiml-cs.prm,
|
|
33
|
+
# TODO.roadmap/16) and the coverage gate keeps the two
|
|
34
|
+
# consistent (a pair on one side only is a validation
|
|
35
|
+
# error); empty where the platform has no concrete process
|
|
36
|
+
# yet (dispatch — a named gap in the coverage report).
|
|
37
|
+
# approved_by the Core approval ids (data/core/evaluation/
|
|
38
|
+
# approvals.yaml) whose sign-off closes this step — the
|
|
39
|
+
# documentary half of the approval⇒abstract mapping; the
|
|
40
|
+
# coverage gate keeps it consistent with the .prm's
|
|
41
|
+
# approval-source pairs exactly as for realized_by (a pair
|
|
42
|
+
# on one side only is a validation error); empty where the
|
|
43
|
+
# step has no sign-off gate.
|
|
44
|
+
# activity_kind
|
|
45
|
+
# the ISO/IEC 17000 activity-kind ids (the iso-iec-17000
|
|
46
|
+
# package's evaluation/activity-archetypes.prl — TODO.roadmap/39)
|
|
47
|
+
# classifying this step in the functional approach; multi-kind
|
|
48
|
+
# is deliberate (evaluation = selection + determination per
|
|
49
|
+
# ISO/IEC 17065 3.3). Classification, not inheritance — the
|
|
50
|
+
# consumer's linker rule R23 (activity-kind-resolves) checks
|
|
51
|
+
# every id against the register. Untagged: dispatch — an
|
|
52
|
+
# OIML-CS platform addition (test-request logistics across
|
|
53
|
+
# eligible laboratories) with no 17000 functional-approach
|
|
54
|
+
# counterpart.
|
|
55
|
+
#
|
|
56
|
+
# Provenance: OIML-CS PD-05 Edition 6 (2024-03-11) + Amendment 1.
|
|
57
|
+
#
|
|
58
|
+
# This file is the single source of truth; the consumer's
|
|
59
|
+
# data/oiml-cs/evaluation/abstract-processes.yaml is its GENERATED YAML twin
|
|
60
|
+
# (cd browser && npm run gen:data; schema data/schemas/abstract-processes.yaml).
|
|
61
|
+
# The realized_by edges name CONCRETE processes that live in the rec
|
|
62
|
+
# packages (evaluation/processes.prl) — unresolvable under the standalone
|
|
63
|
+
# package check, so they ride one glob allowlist entry (C121; the
|
|
64
|
+
# oiml-cs-dataspace composition-gap precedent — the entry dies when the
|
|
65
|
+
# gates check composed).
|
|
66
|
+
process application {
|
|
67
|
+
name "Application"
|
|
68
|
+
summary "The manufacturer (or its authorised representative) applies to an OIML Issuing Authority for a certificate covering a measuring instrument type (single model or model family)."
|
|
69
|
+
validate_provision {
|
|
70
|
+
/req/cs/application-contents
|
|
71
|
+
}
|
|
72
|
+
signature {
|
|
73
|
+
out { applications }
|
|
74
|
+
}
|
|
75
|
+
invariants {
|
|
76
|
+
"[application].issuing_authority_id is not null"
|
|
77
|
+
"[application].manufacturer_id is not null"
|
|
78
|
+
}
|
|
79
|
+
activity_kind { selection }
|
|
80
|
+
roles { applicant }
|
|
81
|
+
evidence {
|
|
82
|
+
application_record { description "The application record with the PD-05 §4.1.2 contents: applicant and manufacturer identity, no-concurrent-application statement, type description, operation description and documentation list, sample information, previous test reports where applicable." required true }
|
|
83
|
+
subject_definition { description "The instrument definition on the subject chain (model family / models / samples with classification, parameters, capabilities) the application references." required true }
|
|
84
|
+
}
|
|
85
|
+
realized_by { submit_application }
|
|
86
|
+
executor actor
|
|
87
|
+
source { doc "PD-05 §4.1" clause "" }
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
process review {
|
|
91
|
+
name "Application review"
|
|
92
|
+
summary "The Issuing Authority reviews the application for completeness, may request additional information or changes, and accepts (notifying samples, laboratories, fees and schedule) or rejects with reasons."
|
|
93
|
+
validate_provision {
|
|
94
|
+
/req/cs/application-completeness
|
|
95
|
+
/req/cs/rejection-reason
|
|
96
|
+
/req/cs/fee-estimate
|
|
97
|
+
/req/cs/sample-count
|
|
98
|
+
/req/cs/application-time-estimate
|
|
99
|
+
}
|
|
100
|
+
signature {
|
|
101
|
+
in { applications }
|
|
102
|
+
out { applications }
|
|
103
|
+
}
|
|
104
|
+
invariants {
|
|
105
|
+
"[application].ia_review_result is not null"
|
|
106
|
+
"[application].status = 'REJECTED' implies [application].rejection_reason is not null"
|
|
107
|
+
}
|
|
108
|
+
activity_kind { selection }
|
|
109
|
+
roles { issuing_authority }
|
|
110
|
+
evidence {
|
|
111
|
+
review_outcome { description "The review decision (accept / reject / request-changes) with reviewer, date and — on rejection — the stated reasons (PD-05 §4.2.2, §4.2.4)." required true }
|
|
112
|
+
acceptance_notice { description "On acceptance: the required sample count, the receiving Test Laboratory(ies), the fee estimate (PD-05 §4.2.8) and the approximate evaluation schedule (PD-05 §4.2.9)." }
|
|
113
|
+
}
|
|
114
|
+
realized_by { review_application accept_application reject_application }
|
|
115
|
+
approved_by { ia_accept_application }
|
|
116
|
+
executor actor
|
|
117
|
+
source { doc "PD-05 §4.2" clause "" }
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
process dispatch {
|
|
121
|
+
name "Test request dispatch"
|
|
122
|
+
summary "The Issuing Authority dispatches test report requests to one or more eligible Test Laboratories, each request carrying exactly the tests (forms) and samples that laboratory must perform."
|
|
123
|
+
validate_provision {
|
|
124
|
+
/req/cs/test-laboratory-eligibility
|
|
125
|
+
}
|
|
126
|
+
signature {
|
|
127
|
+
in { applications measuringInstrumentSamples }
|
|
128
|
+
out { testRequests testAssignments }
|
|
129
|
+
}
|
|
130
|
+
invariants {
|
|
131
|
+
"[test_request].assigned_laboratory_id is not null"
|
|
132
|
+
"[test_request].required_forms.count >= 1"
|
|
133
|
+
}
|
|
134
|
+
roles { issuing_authority }
|
|
135
|
+
evidence {
|
|
136
|
+
test_request { description "One test request per laboratory: request number, assigned laboratory, models, samples, required forms and test conditions." required true }
|
|
137
|
+
laboratory_eligibility { description "Evidence that every dispatched laboratory is listed in the OIML-CS Declaration of an OIML Issuing Authority for the assigned tests." required true }
|
|
138
|
+
}
|
|
139
|
+
executor actor
|
|
140
|
+
source { doc "PD-05 §4.3.1" clause "" }
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
process testing {
|
|
144
|
+
name "Testing and test reporting"
|
|
145
|
+
summary "The Test Laboratory receives the samples, performs the assigned tests and examinations per the Recommendation's procedures, signs the evidence, and compiles and authorises the OIML test report (PD-05 §4.4)."
|
|
146
|
+
validate_provision {
|
|
147
|
+
/req/cs/test-report-18-elements
|
|
148
|
+
/req/cs/test-report-authorization
|
|
149
|
+
/req/cs/multiple-test-laboratories
|
|
150
|
+
/req/cs/test-report-language
|
|
151
|
+
/req/cs/test-report-logo
|
|
152
|
+
}
|
|
153
|
+
signature {
|
|
154
|
+
in { testRequests testAssignments measuringInstrumentSamples }
|
|
155
|
+
out { testReports formInstances }
|
|
156
|
+
}
|
|
157
|
+
invariants {
|
|
158
|
+
"[test_report].laboratory_id is not null"
|
|
159
|
+
"[test_assignment].status = 'COMPLETED' implies [test_assignment].form_instance_id is not null"
|
|
160
|
+
}
|
|
161
|
+
activity_kind { testing }
|
|
162
|
+
roles { test_laboratory }
|
|
163
|
+
evidence {
|
|
164
|
+
form_evidence { description "The completed form instances for every required form, signed by the evaluator and supervisor (per-form sign-off)." required true }
|
|
165
|
+
test_report { description "The OIML test report covering the PD-05 §4.4.3 eighteen elements, dated, signed and uniquely identified by the responsible person (PD-05 §4.4.4)." required true }
|
|
166
|
+
custody_record { description "The sample custody chain from receipt through testing (sample status and custody events)." }
|
|
167
|
+
}
|
|
168
|
+
realized_by { conduct_tests compile_test_report }
|
|
169
|
+
approved_by { tl_authorize_test_report }
|
|
170
|
+
executor actor
|
|
171
|
+
source { doc "PD-05 §4.3" clause "" }
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
process evaluation {
|
|
175
|
+
name "Type evaluation"
|
|
176
|
+
summary "The Issuing Authority compiles the type evaluation report: every test report reviewed, a determination per evaluated provision, and a conformity conclusion for the type."
|
|
177
|
+
validate_provision {
|
|
178
|
+
/req/cs/evaluation-report-contents
|
|
179
|
+
/req/cs/evaluation-report-id
|
|
180
|
+
/req/cs/evaluation-report-logo
|
|
181
|
+
/req/cs/evaluation-report-language
|
|
182
|
+
/req/cs/sample-retention
|
|
183
|
+
}
|
|
184
|
+
signature {
|
|
185
|
+
in { applications testReports formInstances }
|
|
186
|
+
out { evaluationReports }
|
|
187
|
+
}
|
|
188
|
+
invariants {
|
|
189
|
+
"[evaluation_report].test_report_ids.count >= 1"
|
|
190
|
+
"[evaluation_report].test_report_determinations.count = [evaluation_report].test_report_ids.count"
|
|
191
|
+
}
|
|
192
|
+
activity_kind { selection determination }
|
|
193
|
+
roles { issuing_authority }
|
|
194
|
+
evidence {
|
|
195
|
+
evaluation_report { description "The type evaluation report with the PD-05 §4.5.1 contents: per-test- report determinations, the conclusion on the conformity of the type, and the responsible persons' signatures (PD-05 §4.5.2)." required true }
|
|
196
|
+
}
|
|
197
|
+
realized_by { compile_evaluation_report }
|
|
198
|
+
approved_by { ia_approve_evaluation_report }
|
|
199
|
+
executor actor
|
|
200
|
+
source { doc "PD-05 §4.5" clause "" }
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
process decision {
|
|
204
|
+
name "Conformity decision"
|
|
205
|
+
summary "The Issuing Authority decides on the conformity of the type: conforming types proceed to certificate issuance; on failure the applicant is informed in writing of the reasons."
|
|
206
|
+
validate_provision {
|
|
207
|
+
/req/cs/failure-notice
|
|
208
|
+
}
|
|
209
|
+
signature {
|
|
210
|
+
in { evaluationReports }
|
|
211
|
+
out { evaluationReports }
|
|
212
|
+
}
|
|
213
|
+
invariants {
|
|
214
|
+
"[evaluation_report].overall_decision is not null"
|
|
215
|
+
"[evaluation_report].overall_decision = 'REJECTED' implies [evaluation_report].review_notes is not null"
|
|
216
|
+
}
|
|
217
|
+
activity_kind { decision }
|
|
218
|
+
roles { issuing_authority }
|
|
219
|
+
evidence {
|
|
220
|
+
decision_record { description "The overall decision (conform / not conform) with conditions and review notes; on failure, the written reasons given to the applicant." required true }
|
|
221
|
+
}
|
|
222
|
+
realized_by { compile_evaluation_report }
|
|
223
|
+
executor actor
|
|
224
|
+
source { doc "PD-05 §4.5.6" clause "" }
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
process issue {
|
|
228
|
+
name "Certificate issuance"
|
|
229
|
+
summary "The Issuing Authority issues the OIML certificate for a conforming type: Annex-A format, responsible-person signature, OIML-CS logo, Annex-B certificate number, and delivery to the applicant with the evaluation and test reports."
|
|
230
|
+
validate_provision {
|
|
231
|
+
/req/cs/certificate-requirements
|
|
232
|
+
/req/cs/certificate-format
|
|
233
|
+
/req/cs/certificate-number
|
|
234
|
+
/req/cs/certificate-delivery
|
|
235
|
+
}
|
|
236
|
+
signature {
|
|
237
|
+
in { evaluationReports }
|
|
238
|
+
out { certificates }
|
|
239
|
+
}
|
|
240
|
+
invariants {
|
|
241
|
+
"[certificate].evaluation_report_id.overall_decision = 'APPROVED' or [certificate].evaluation_report_id.overall_decision = 'CONDITIONALLY_APPROVED'"
|
|
242
|
+
"[certificate].certificate_number is not null"
|
|
243
|
+
}
|
|
244
|
+
activity_kind { certification }
|
|
245
|
+
roles { issuing_authority }
|
|
246
|
+
evidence {
|
|
247
|
+
certificate { description "The issued certificate: type designation, applicant and manufacturer, certified characteristics, Annex-B number, date of issue and responsible-person signature." required true }
|
|
248
|
+
delivery_record { description "The hand-over of certificate, evaluation report and test reports to the applicant (owner), with the Issuing Authority's copies retained." required true }
|
|
249
|
+
}
|
|
250
|
+
realized_by { issue_certificate }
|
|
251
|
+
approved_by { ia_sign_certificate }
|
|
252
|
+
executor actor
|
|
253
|
+
source { doc "PD-05 §4.6" clause "" }
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
process biml_registration {
|
|
257
|
+
name "BIML registration"
|
|
258
|
+
summary "The Issuing Authority transmits the issued certificate to the BIML for registration; the registered certificate is visible in the public OIML-CS register."
|
|
259
|
+
validate_provision {
|
|
260
|
+
/req/cs/biml-registration
|
|
261
|
+
}
|
|
262
|
+
signature {
|
|
263
|
+
in { certificates }
|
|
264
|
+
out { certificates }
|
|
265
|
+
}
|
|
266
|
+
invariants {
|
|
267
|
+
"[certificate].biml_registration is not null"
|
|
268
|
+
}
|
|
269
|
+
activity_kind { attestation }
|
|
270
|
+
roles { issuing_authority biml }
|
|
271
|
+
evidence {
|
|
272
|
+
registration_record { description "The BIML registration record for the issued certificate (transmitted copy, registration date, public register entry)." required true }
|
|
273
|
+
}
|
|
274
|
+
realized_by { register_certificate }
|
|
275
|
+
approved_by { biml_register_certificate }
|
|
276
|
+
executor actor
|
|
277
|
+
source { doc "PD-05 clause 6" clause "" }
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
process revision {
|
|
281
|
+
name "Certificate revision"
|
|
282
|
+
summary "The Issuing Authority revises an issued and registered certificate — correcting an error, modifying the certified type, or transferring ownership — keeping the initial certificate number with a revision number and reason, and re-registers it with the BIML."
|
|
283
|
+
validate_provision {
|
|
284
|
+
/req/cs/certificate-revision
|
|
285
|
+
/req/cs/certificate-revision-mechanics
|
|
286
|
+
}
|
|
287
|
+
signature {
|
|
288
|
+
in { certificates }
|
|
289
|
+
out { certificates certificateAnnexes }
|
|
290
|
+
}
|
|
291
|
+
invariants {
|
|
292
|
+
"[certificate].revisions.count >= 1"
|
|
293
|
+
}
|
|
294
|
+
activity_kind { decision certification }
|
|
295
|
+
roles { issuing_authority }
|
|
296
|
+
evidence {
|
|
297
|
+
revision_record { description "The revision record: initial certificate number retained, revision number, the statement replacing the previous version(s) with the reason(s) for the revision, and the re-registration." required true }
|
|
298
|
+
}
|
|
299
|
+
realized_by { handle_revision }
|
|
300
|
+
approved_by { ia_approve_revision }
|
|
301
|
+
executor actor
|
|
302
|
+
source { doc "PD-05 §8.1" clause "" }
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
process re_application {
|
|
306
|
+
name "Re-application after failure"
|
|
307
|
+
summary "After a failed evaluation the applicant submits a new application with samples of a modified or newly identified type; new tests may be limited to the previously failed requirements only where the evidence supports that the modification did not affect the instrument's performance for all other requirements."
|
|
308
|
+
validate_provision {
|
|
309
|
+
/req/cs/re-application
|
|
310
|
+
}
|
|
311
|
+
signature {
|
|
312
|
+
in { applications evaluationReports }
|
|
313
|
+
out { applications }
|
|
314
|
+
}
|
|
315
|
+
invariants {
|
|
316
|
+
"[application].issuing_authority_id is not null"
|
|
317
|
+
}
|
|
318
|
+
activity_kind { selection }
|
|
319
|
+
roles { applicant issuing_authority }
|
|
320
|
+
evidence {
|
|
321
|
+
previous_failure_link { description "The link from the new application to the previous failed evaluation it follows (the failed type and its evaluation report)." required true }
|
|
322
|
+
retest_limitation_evidence { description "Where tests are limited to the previously failed requirements: the evidence supporting that the modification is not likely to have affected performance for all other requirements (PD-05 §4.5.7)." }
|
|
323
|
+
}
|
|
324
|
+
executor actor
|
|
325
|
+
source { doc "PD-05 §4.5.7" clause "" }
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
process registration_fee {
|
|
329
|
+
name "Registration fee and listing"
|
|
330
|
+
summary "The BIML invoices the registration fee (the certificate owner where national regulations bar the Issuing Authority's pass-through); the certificate is added to the list of registered certificates but withdrawn if payment is not received within 3 months of the invoice date (owner-invoiced certificates are listed on payment)."
|
|
331
|
+
validate_provision {
|
|
332
|
+
/req/cs/registration-fee
|
|
333
|
+
/req/cs/registration-withdrawal
|
|
334
|
+
}
|
|
335
|
+
signature {
|
|
336
|
+
in { certificates }
|
|
337
|
+
out { certificates }
|
|
338
|
+
}
|
|
339
|
+
invariants {
|
|
340
|
+
"[certificate].biml_registration is not null"
|
|
341
|
+
}
|
|
342
|
+
activity_kind { withdrawal }
|
|
343
|
+
roles { biml issuing_authority }
|
|
344
|
+
evidence {
|
|
345
|
+
fee_invoice { description "The BIML registration-fee invoice (to the Issuing Authority, or to the certificate owner per PD-05 §6.3) and its payment record." required true }
|
|
346
|
+
listing_withdrawal_record { description "The listing of the certificate in the registered list and, where payment is not received within 3 months of the invoice date, the withdrawal of the listing (PD-05 §6.2)." required true }
|
|
347
|
+
}
|
|
348
|
+
executor actor
|
|
349
|
+
source { doc "PD-05 §6.2–6.3" clause "" }
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
process incorrect_conclusions {
|
|
353
|
+
name "Incorrect-conclusions handling"
|
|
354
|
+
summary "On documented and substantiated evidence that the tests underlying an issued certificate were performed and/or interpreted incorrectly, the Executive Secretary consults the relevant Issuing Authority and the PD-01 clause 6 (complaints) procedure applies — up to deregistration of the certificate."
|
|
355
|
+
validate_provision {
|
|
356
|
+
/req/cs/incorrect-conclusions
|
|
357
|
+
}
|
|
358
|
+
signature {
|
|
359
|
+
in { certificates }
|
|
360
|
+
out { certificates }
|
|
361
|
+
}
|
|
362
|
+
invariants {
|
|
363
|
+
"[certificate].status = 'UNDER_INVESTIGATION' implies [certificate].investigation is not null"
|
|
364
|
+
}
|
|
365
|
+
activity_kind { complaint }
|
|
366
|
+
roles { biml issuing_authority }
|
|
367
|
+
evidence {
|
|
368
|
+
investigation_record { description "The documented and substantiated evidence, the Executive Secretary's consultation with the Issuing Authority, and the outcome under the PD-01 clause 6 procedure (resolve or deregister)." required true }
|
|
369
|
+
}
|
|
370
|
+
realized_by { handle_complaint deregister_certificate }
|
|
371
|
+
executor actor
|
|
372
|
+
source { doc "PD-05 §7.1" clause "" }
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
process parallel_certificates {
|
|
376
|
+
name "Parallel certificate issuance"
|
|
377
|
+
summary "A new applicant in possession of all the §4.1.2 technical documentation and the existing type evaluation report obtains a new certificate issued in parallel to the original; the Issuing Authority inquires into the validity of the application (e.g. the original applicant's permission) and the parallel certificate is registered per clause 6."
|
|
378
|
+
validate_provision {
|
|
379
|
+
/req/cs/parallel-certificates
|
|
380
|
+
}
|
|
381
|
+
signature {
|
|
382
|
+
in { certificates }
|
|
383
|
+
out { certificates }
|
|
384
|
+
}
|
|
385
|
+
invariants {
|
|
386
|
+
"[certificate].parallel_to is not null"
|
|
387
|
+
"[certificate].original_applicant is not null"
|
|
388
|
+
}
|
|
389
|
+
activity_kind { certification }
|
|
390
|
+
roles { applicant issuing_authority }
|
|
391
|
+
evidence {
|
|
392
|
+
documentation_possession { description "Evidence that the new applicant possesses all the §4.1.2 technical documentation and the existing OIML type evaluation report (PD-05 §8.2.1)." required true }
|
|
393
|
+
parallel_record { description "The parallel certificate itself: new sequential number, the original applicant and the source certificate recorded, and its clause-6 registration." required true }
|
|
394
|
+
}
|
|
395
|
+
realized_by { issue_certificate }
|
|
396
|
+
executor actor
|
|
397
|
+
source { doc "PD-05 §8.2" clause "" }
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
process recommendation_update {
|
|
401
|
+
name "Recommendation-revision certificate update"
|
|
402
|
+
summary "After a revision of the relevant OIML Recommendation, the certificate owner applies for an updated certificate on the basis of the revised Recommendation; the Issuing Authority determines whether the type complies and defines any additional tests and examinations, and on successful completion issues a new certificate and type evaluation report, registered per clause 6."
|
|
403
|
+
validate_provision {
|
|
404
|
+
/req/cs/recommendation-revision-updates
|
|
405
|
+
}
|
|
406
|
+
signature {
|
|
407
|
+
in { certificates }
|
|
408
|
+
out { evaluationReports certificates }
|
|
409
|
+
}
|
|
410
|
+
invariants {
|
|
411
|
+
"[certificate].edition_change is not null"
|
|
412
|
+
"[certificate].edition_change.new_evaluation_report_id is not null"
|
|
413
|
+
}
|
|
414
|
+
activity_kind { decision certification }
|
|
415
|
+
roles { applicant issuing_authority }
|
|
416
|
+
evidence {
|
|
417
|
+
update_determination { description "The Issuing Authority's determination under PD-05 §8.3.2: the previous and new editions, whether additional tests are required, and their definition (Certificate.edition_change)." required true }
|
|
418
|
+
updated_certificate { description "The new certificate and type evaluation report issued on successful completion of any additional tests, registered per clause 6 (PD-05 §8.3.3)." required true }
|
|
419
|
+
}
|
|
420
|
+
realized_by { handle_edition_change }
|
|
421
|
+
executor actor
|
|
422
|
+
source { doc "PD-05 §8.3" clause "" }
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
process scheme_a_certification {
|
|
426
|
+
name "Scheme A processing"
|
|
427
|
+
summary "Scheme A mirrors the clause-4 flow (its provisions apply via the clause-5 cross-references) with the Scheme-A deltas enforced as provisions: additional national requirements declared at application and tested/reported per the Utilizer/Associate Declarations (§5.1.4/§5.3.2/§5.4.2), Manufacturer Test Laboratory data flagged in the evaluation report (§5.3.1 b/§5.5.4/§5.5.5), and the validating ANR letter sent to the BIML with the certificate (§5.6.3)."
|
|
428
|
+
validate_provision {
|
|
429
|
+
/req/cs/scheme-a-national-requirements
|
|
430
|
+
/req/cs/scheme-a-mtl-test-data
|
|
431
|
+
/req/cs/scheme-a-anr-validation-letter
|
|
432
|
+
}
|
|
433
|
+
signature {
|
|
434
|
+
in { applications }
|
|
435
|
+
out { certificates }
|
|
436
|
+
}
|
|
437
|
+
invariants {
|
|
438
|
+
"[application].scheme = 'A' implies [certificate].scheme = 'A'"
|
|
439
|
+
}
|
|
440
|
+
activity_kind { selection determination certification }
|
|
441
|
+
roles { applicant issuing_authority }
|
|
442
|
+
evidence {
|
|
443
|
+
anr_declaration { description "The applicant's declaration of the additional national requirement tests applied for (PD-05 §5.1.4) — only where ANR tests are applied for." }
|
|
444
|
+
mtl_use_statement { description "The prominent statement of Manufacturer Test Laboratory use with the respective tests and the MTL designation at the head of the evaluation report (PD-05 §5.5.4) — only where MTL reports are utilised." }
|
|
445
|
+
anr_validation_letter { description "The Issuing Authority's letter validating conformity to the additional national requirements, sent to the BIML with the certificate (PD-05 §5.6.3) — only where ANR tests were conducted." }
|
|
446
|
+
}
|
|
447
|
+
realized_by { submit_application compile_test_report compile_evaluation_report issue_certificate register_certificate }
|
|
448
|
+
executor actor
|
|
449
|
+
source { doc "PD-05 clause 5" clause "" }
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
process_model certification_process {
|
|
453
|
+
sequence { application review dispatch testing evaluation decision issue biml_registration }
|
|
454
|
+
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# specification/requirements/cs.prl: the scheme-governance constraint
|
|
15
15
|
# (who may certify what, and only after a signed Declaration) now has its
|
|
16
16
|
# model home here — the gate references the abstract processes it blocks
|
|
17
|
-
# (
|
|
17
|
+
# (evaluation/abstract-processes.prl — the PD-05 certification process).
|
|
18
18
|
#
|
|
19
19
|
# Declaration semantics (PD-08, verified against the corpus audit
|
|
20
20
|
# analysis/oiml-cs-corpus-audit-2026-07.md, corpus C):
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# OIML-CS DOCUMENT MODULE CID-01 — ABSTRACT PROCESSES
|
|
2
|
+
# -----------------------------------------------------------------------------
|
|
3
|
+
# The CID-01 Edition 6 clarifications pinned as INVARIANT-CARRYING
|
|
4
|
+
# abstract processes (TODO.roadmap/43):
|
|
5
|
+
#
|
|
6
|
+
# test_report_issuance — the TL issues the OIML test report
|
|
7
|
+
# evaluation_report_issuance — the IA issues the OIML type evaluation
|
|
8
|
+
# report
|
|
9
|
+
# ia_scope_support — the IA's scope is TL-supported at all
|
|
10
|
+
# times and it issues only within it
|
|
11
|
+
#
|
|
12
|
+
# These processes have no workflow of their own (no sequence): each pins a
|
|
13
|
+
# cross-cutting IDENTITY rule the Edition-6 clarifications state, binding
|
|
14
|
+
# it as invariants over the scheme's issuance records — the rules
|
|
15
|
+
# themselves stay owned by the clarified documents (B 18 3.40 Note 3 /
|
|
16
|
+
# PD-03 5.1 / PD-05 4.3 & 5.3; MECE — see the requirements.prl header).
|
|
17
|
+
# The cross-corpus consistency proof (the PD-05 process model's testing
|
|
18
|
+
# step is TL-executed, its evaluation/issue steps IA-executed) lives in
|
|
19
|
+
# the consumer's cs-scheme-governance tests.
|
|
20
|
+
#
|
|
21
|
+
# TODO.roadmap/45 REALIZED the pins: realized_by binds the concrete Core
|
|
22
|
+
# processes whose execution makes each identity rule hold by construction
|
|
23
|
+
# (compile_test_report / compile_evaluation_report — the TL issues the
|
|
24
|
+
# test report, the IA the evaluation report; issue_certificate +
|
|
25
|
+
# record_participant_declaration — the signing gate checks the IA's
|
|
26
|
+
# Declaration scope at every issuance).
|
|
27
|
+
#
|
|
28
|
+
# This file is the single source of truth; the consumer's
|
|
29
|
+
# data/oiml-cs/documents/cid-01/abstract-processes.yaml is its GENERATED YAML
|
|
30
|
+
# twin (cd browser && npm run gen:data; schema data/schemas/abstract-processes.yaml).
|
|
31
|
+
# The realized_by edges name CONCRETE processes of the rec packages —
|
|
32
|
+
# unresolvable under the standalone package check, covered by the one glob
|
|
33
|
+
# allowlist entry (C121; dies when the gates check composed).
|
|
34
|
+
process test_report_issuance {
|
|
35
|
+
name "OIML test report issuance"
|
|
36
|
+
summary "An OIML test report is issued by an OIML Test Laboratory — regardless of whether the Recommendation carries the test report format as a separate Part (B 6-1:2023 ≥ four-part layout) or combined with the type evaluation report format (the old three-part layout). The scheme process model realizes this as the TL-executed testing step (evaluation/abstract-processes.yaml testing — roles [test_laboratory], out: [testReports])."
|
|
37
|
+
validate_provision {
|
|
38
|
+
/req/cs/cid-01/test-report-issued-by-tl
|
|
39
|
+
}
|
|
40
|
+
signature {
|
|
41
|
+
out { testReports }
|
|
42
|
+
}
|
|
43
|
+
invariants {
|
|
44
|
+
"[test_report].issued_by_kind = 'test_laboratory'"
|
|
45
|
+
"[test_report].recommendation_part_layout = 'combined' implies [test_report].issued_by_kind = 'test_laboratory'"
|
|
46
|
+
}
|
|
47
|
+
activity_kind { attestation }
|
|
48
|
+
participant_kinds { test_laboratory }
|
|
49
|
+
evidence {
|
|
50
|
+
issued_test_report { description "The issued OIML test report, identifying the issuing Test Laboratory." required true }
|
|
51
|
+
}
|
|
52
|
+
realized_by { compile_test_report }
|
|
53
|
+
executor actor
|
|
54
|
+
source { doc "CID-01, 3.1 (B 18, 4.2)" clause "" }
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
process evaluation_report_issuance {
|
|
58
|
+
name "OIML type evaluation report issuance"
|
|
59
|
+
summary "An OIML type evaluation report is issued by an OIML Issuing Authority — never by a Test Laboratory (B 18:2025 3.40 Note 3) — regardless of the Recommendation's part structure. The scheme process model realizes this as the IA-executed evaluation step (evaluation/abstract-processes.yaml evaluation — roles [issuing_authority], out: [evaluationReports])."
|
|
60
|
+
validate_provision {
|
|
61
|
+
/req/cs/cid-01/evaluation-report-issued-by-ia
|
|
62
|
+
}
|
|
63
|
+
signature {
|
|
64
|
+
in { testReports }
|
|
65
|
+
out { evaluationReports }
|
|
66
|
+
}
|
|
67
|
+
invariants {
|
|
68
|
+
"[evaluation_report].issued_by_kind = 'issuing_authority'"
|
|
69
|
+
"[evaluation_report].issued_by_kind = 'test_laboratory' implies false"
|
|
70
|
+
}
|
|
71
|
+
activity_kind { attestation }
|
|
72
|
+
participant_kinds { issuing_authority }
|
|
73
|
+
evidence {
|
|
74
|
+
issued_evaluation_report { description "The issued OIML type evaluation report, identifying the issuing OIML Issuing Authority." required true }
|
|
75
|
+
}
|
|
76
|
+
realized_by { compile_evaluation_report }
|
|
77
|
+
executor actor
|
|
78
|
+
source { doc "CID-01, 3.1 (B 18, 4.2)" clause "" }
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
process ia_scope_support {
|
|
82
|
+
name "IA scope support and issuance discipline"
|
|
83
|
+
summary "At all times the OIML Issuing Authority's scope is supported by an approved Test Laboratory listed in its Declaration for each category in the scope — an application needs an existing or accompanying TL application; an unsupported scope is amended. The IA issues certificates and evaluation reports only within that scope, using test data of a TL in its own Declaration or of a (non-MTL) TL in another IA's Declaration."
|
|
84
|
+
validate_provision {
|
|
85
|
+
/req/cs/cid-01/ia-scope-tl-supported
|
|
86
|
+
/req/cs/cid-01/ia-issuance-within-scope
|
|
87
|
+
}
|
|
88
|
+
signature {
|
|
89
|
+
in { declarations }
|
|
90
|
+
out { evaluationReports }
|
|
91
|
+
}
|
|
92
|
+
invariants {
|
|
93
|
+
"[issuing_authority].scope.count >= 1 implies [issuing_authority].declaration.tl_ids.count >= 1"
|
|
94
|
+
"[certificate].category is not null implies [declaration].supports_category([certificate].category) = true"
|
|
95
|
+
"[test_data].tl_declaration_ia <> [issuing_authority].id implies [test_data].tl_kind <> 'manufacturer'"
|
|
96
|
+
}
|
|
97
|
+
participant_kinds { issuing_authority test_laboratory }
|
|
98
|
+
evidence {
|
|
99
|
+
scope_support_record { description "The Declaration listing the approved Test Laboratory(ies) supporting each category of the Issuing Authority's scope." required true }
|
|
100
|
+
}
|
|
101
|
+
realized_by { issue_certificate record_participant_declaration }
|
|
102
|
+
executor actor
|
|
103
|
+
source { doc "CID-01, 3.3 (PD-03, 5.1; PD-05, 4.3/5.3)" clause "" }
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
document_module cid-01 {
|
|
107
|
+
document "OIML-CS CID-01"
|
|
108
|
+
title "Clarifications and Interpretations of OIML-CS Documents"
|
|
109
|
+
edition "6"
|
|
110
|
+
year 2024
|
|
111
|
+
namespace /req/cs/cid-01
|
|
112
|
+
}
|