@oimlsmart/primmel-packages 0.4.0 → 0.6.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/execution/test-report-checklist.prl +134 -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/framework/documents.prl +2 -2
- package/oiml-cs/package.primmel +1 -1
- package/oiml-r129/execution/test-report-checklist.prl +20 -0
- package/oiml-r129/package.primmel +1 -1
- package/oiml-r144/execution/test-report-checklist.prl +20 -0
- package/oiml-r144/package.primmel +1 -1
- package/oiml-r60/execution/test-report-checklist.prl +20 -0
- package/oiml-r60/package.primmel +1 -1
- package/oiml-r91/execution/test-report-checklist.prl +23 -0
- 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
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# OIML TEST REPORT 18-ELEMENT CHECKLIST — the OIML-CS reference package
|
|
2
|
+
# -----------------------------------------------------------------------------
|
|
3
|
+
# PD-05 §4.4.3: the required elements (a–r) of every OIML test report,
|
|
4
|
+
# validated at report compilation time. Single-sourced here
|
|
5
|
+
# (TODO.roadmap/15; census §1.1 — the rec copies were structurally identical
|
|
6
|
+
# except the rec-bound source/validation strings of four entries) and overlaid
|
|
7
|
+
# by each Recommendation package (overlay true — the kernel's B3.10 deep
|
|
8
|
+
# merge: entry scalars land in place, the base order survives).
|
|
9
|
+
#
|
|
10
|
+
# Composition points (TODO.roadmap/13) — each rec overlay adds the rec-bound
|
|
11
|
+
# strings for these four entries:
|
|
12
|
+
# - sample_identification (h): validation form id / source naming the
|
|
13
|
+
# rec's sample-identification form
|
|
14
|
+
# - test_facility (m): source naming the rec's test-equipment form(s)
|
|
15
|
+
# - instrument_setup (n): validation form id / source naming the rec's
|
|
16
|
+
# instrument-identification form
|
|
17
|
+
# - adjustments (o): source naming the rec's adjustments form
|
|
18
|
+
# The package deliberately carries NO default for these strings: a rec that
|
|
19
|
+
# has not bound its own forms yet leaves the entry without them (a wrong-rec
|
|
20
|
+
# default would silently validate against another rec's forms — the
|
|
21
|
+
# census's R2 residue failure mode).
|
|
22
|
+
#
|
|
23
|
+
# Provenance: OIML-CS PD-05 Edition 6 (2024-03-11), §4.4.3.
|
|
24
|
+
#
|
|
25
|
+
# This file is the single source of truth; the consumer's
|
|
26
|
+
# data/oiml-cs/execution/test-report-checklist.yaml is its GENERATED YAML twin
|
|
27
|
+
# (cd browser && npm run gen:data).
|
|
28
|
+
test_report_checklist oiml-cs-trf {
|
|
29
|
+
entry title {
|
|
30
|
+
element "a"
|
|
31
|
+
description "Title: 'OIML test report'"
|
|
32
|
+
obligation shall
|
|
33
|
+
source "test_report.title"
|
|
34
|
+
}
|
|
35
|
+
entry tl_identification {
|
|
36
|
+
element "b"
|
|
37
|
+
description "Name and address of the test laboratory, and location of tests"
|
|
38
|
+
obligation shall
|
|
39
|
+
source "test_report.laboratoryId → organization.name, organization.address"
|
|
40
|
+
validation "test_report.laboratoryId is not null"
|
|
41
|
+
}
|
|
42
|
+
entry unique_report_id {
|
|
43
|
+
element "c"
|
|
44
|
+
description "Unique identification of the report, appearing on each page, with an end marker"
|
|
45
|
+
obligation shall
|
|
46
|
+
source "test_report.reportNumber"
|
|
47
|
+
}
|
|
48
|
+
entry applicant_identification {
|
|
49
|
+
element "d"
|
|
50
|
+
description "Name and address of the applicant"
|
|
51
|
+
obligation shall
|
|
52
|
+
source "application.applicant.company, application.applicant.address"
|
|
53
|
+
}
|
|
54
|
+
entry recommendation_reference {
|
|
55
|
+
element "e"
|
|
56
|
+
description "OIML Recommendation reference (number and year of edition)"
|
|
57
|
+
obligation shall
|
|
58
|
+
source "standard.identifier + standard.year"
|
|
59
|
+
}
|
|
60
|
+
entry category_identification {
|
|
61
|
+
element "f"
|
|
62
|
+
description "Category identification of the instrument"
|
|
63
|
+
obligation shall
|
|
64
|
+
source "standard.docnumber"
|
|
65
|
+
}
|
|
66
|
+
entry type_designation {
|
|
67
|
+
element "g"
|
|
68
|
+
description "Type or family designation of the instrument"
|
|
69
|
+
obligation shall
|
|
70
|
+
source "instrument.model + application.typeDesignation"
|
|
71
|
+
}
|
|
72
|
+
entry sample_identification {
|
|
73
|
+
element "h"
|
|
74
|
+
description "Specific samples tested, including their identification"
|
|
75
|
+
obligation shall
|
|
76
|
+
}
|
|
77
|
+
entry test_dates {
|
|
78
|
+
element "i"
|
|
79
|
+
description "Dates of testing for each test"
|
|
80
|
+
obligation shall
|
|
81
|
+
source "form_instance.created"
|
|
82
|
+
}
|
|
83
|
+
entry test_location {
|
|
84
|
+
element "j"
|
|
85
|
+
description "Place of testing"
|
|
86
|
+
obligation shall
|
|
87
|
+
source "test_report.testLocation"
|
|
88
|
+
}
|
|
89
|
+
entry test_personnel {
|
|
90
|
+
element "k"
|
|
91
|
+
description "Person who conducted each test"
|
|
92
|
+
obligation shall
|
|
93
|
+
source "form_instance.evaluator"
|
|
94
|
+
}
|
|
95
|
+
entry environmental_conditions {
|
|
96
|
+
element "l"
|
|
97
|
+
description "Environmental conditions during each test"
|
|
98
|
+
obligation shall
|
|
99
|
+
validation "form_contains_environmental_data"
|
|
100
|
+
}
|
|
101
|
+
entry test_facility {
|
|
102
|
+
element "m"
|
|
103
|
+
description "Description of test facility and equipment"
|
|
104
|
+
obligation shall
|
|
105
|
+
}
|
|
106
|
+
entry instrument_setup {
|
|
107
|
+
element "n"
|
|
108
|
+
description "Instrument or simulation setup information"
|
|
109
|
+
obligation shall
|
|
110
|
+
}
|
|
111
|
+
entry adjustments {
|
|
112
|
+
element "o"
|
|
113
|
+
description "Authorized adjustments or modifications"
|
|
114
|
+
obligation shall
|
|
115
|
+
}
|
|
116
|
+
entry results_with_uncertainty {
|
|
117
|
+
element "p"
|
|
118
|
+
description "Results including measurement uncertainties and traceability"
|
|
119
|
+
obligation may
|
|
120
|
+
description_note "If specified in the relevant OIML Recommendation"
|
|
121
|
+
}
|
|
122
|
+
entry per_test_conclusion {
|
|
123
|
+
element "q"
|
|
124
|
+
description "Pass/fail conclusion for each test"
|
|
125
|
+
obligation shall
|
|
126
|
+
source "form_instance.result"
|
|
127
|
+
}
|
|
128
|
+
entry authorization {
|
|
129
|
+
element "r"
|
|
130
|
+
description "Name, function, and signature of authorizing person"
|
|
131
|
+
obligation shall
|
|
132
|
+
source "test_report.evaluator + test_report.signatureDate"
|
|
133
|
+
}
|
|
134
|
+
}
|
|
@@ -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):
|