@oimlsmart/primmel-packages 0.14.0 → 0.16.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.
@@ -1,83 +0,0 @@
1
- # GENERATED package payload (task 31b) — content with no PRL construct; composed back by regenerate-data + build-primmel-cache. Do not edit by hand.
2
- application:
3
- declaration_form: r60-3/sec-4.5
4
- documentation:
5
- - id: measurement-principle
6
- name:
7
- - spelling: eng-Latn
8
- value: Description of the general principle of measurement
9
- description:
10
- - spelling: eng-Latn
11
- value: A description of the load cell's general principle of measurement (R 60-2, 2.5 a).
12
- obligation: shall
13
- source:
14
- doc: urn:oiml:pub:r:60-2:2021
15
- clause: '2.5'
16
- - id: mechanical-drawings
17
- name:
18
- - spelling: eng-Latn
19
- value: Mechanical drawings
20
- description:
21
- - spelling: eng-Latn
22
- value: Mechanical drawings, including documents on the load transmission(s) as per R 60-2 Annex E (R 60-2, 2.5 b).
23
- obligation: shall
24
- source:
25
- doc: urn:oiml:pub:r:60-2:2021
26
- clause: '2.5'
27
- - id: electrical-diagrams
28
- name:
29
- - spelling: eng-Latn
30
- value: Electric/electronic diagrams
31
- description:
32
- - spelling: eng-Latn
33
- value: Electric and electronic diagrams of the load cell (R 60-2, 2.5 c).
34
- obligation: shall
35
- source:
36
- doc: urn:oiml:pub:r:60-2:2021
37
- clause: '2.5'
38
- - id: installation-requirements
39
- name:
40
- - spelling: eng-Latn
41
- value: Installation requirements
42
- description:
43
- - spelling: eng-Latn
44
- value: Physical and electrical installation requirements, if appropriate (R 60-2, 2.5 d).
45
- obligation: may
46
- source:
47
- doc: urn:oiml:pub:r:60-2:2021
48
- clause: '2.5'
49
- - id: operating-instructions
50
- name:
51
- - spelling: eng-Latn
52
- value: Operating instructions
53
- description:
54
- - spelling: eng-Latn
55
- value: Operating instructions to be provided to the user, if appropriate (R 60-2, 2.5 e).
56
- obligation: may
57
- source:
58
- doc: urn:oiml:pub:r:60-2:2021
59
- clause: '2.5'
60
- - id: compliance-evidence
61
- name:
62
- - spelling: eng-Latn
63
- value: Compliance evidence
64
- description:
65
- - spelling: eng-Latn
66
- value: >-
67
- Documents or other evidence supporting and demonstrating the manufacturer's belief that the design and
68
- characteristics of the load cell comply with the requirements of the Recommendation (R 60-2, 2.5 f).
69
- obligation: shall
70
- source:
71
- doc: urn:oiml:pub:r:60-2:2021
72
- clause: '2.5'
73
- - id: software-documentation
74
- name:
75
- - spelling: eng-Latn
76
- value: Software documentation
77
- description:
78
- - spelling: eng-Latn
79
- value: Documentation relative to software, if appropriate (R 60-2, 2.5 g).
80
- obligation: may
81
- source:
82
- doc: urn:oiml:pub:r:60-2:2021
83
- clause: '2.5'
@@ -1,224 +0,0 @@
1
- # OIML R 60 — MODEL LAYER: PROMISES (TODO.roadmap/08)
2
- # -----------------------------------------------------------------------------
3
- # First-class manufacturer PROMISES: claims on characteristics and behavior —
4
- # possibly envelope-shaped, possibly conditional — that evaluation verifies
5
- # and the certificate prints as promises-as-verified (doctrine
6
- # primmel-oiml-smart/docs/primmel/02-subjects.md §2.3, the IS catalog;
7
- # 15-model-supply-chain.md §15.2, promises-as-verified).
8
- #
9
- # A promise is NOT a declared attribute value: a claim stated as one bare
10
- # parameter value ("t_min = −10 °C") stays an `origin: declared` attribute.
11
- # primmel-ts linter C44 promise-not-bare-value enforces the distinctness —
12
- # NARROWED semantics: it rejects only promises that merely RESTATE a bare
13
- # declared value (attribute target + bare quantity level, no conditions, no
14
- # verification linkage). Targeting an attribute/dimension with a genuine
15
- # claim ABOUT it — conditioned, envelope/range, symbolic level, or verified
16
- # — is legal, and is exactly what this file does. The promises below
17
- # therefore never RESTATE a value: they cite the characteristic/behavior/
18
- # attribute/dimension the claim is about (`target`), and the certificate
19
- # print projection (`certificate:`) declares which declared attribute /
20
- # classification dimension the verified claim reads its exhibited value from
21
- # (the IS/HAS duality citation — the certificate prints the exhibited dual).
22
- #
23
- # PACKAGE HOME (TODO.model-content/03 — the payload-verbatim class): this
24
- # file is the package payload `payload/promises.yaml` — the promise set is
25
- # AUTHORED here, in the package, and regenerate-data emits
26
- # data/r60/model/promises.yaml VERBATIM (the generated fileHeader + these
27
- # raw bytes; the documented codec exclusion, same class as
28
- # payload/sample-data.yaml). The kernel's SubjectPromise carries no
29
- # certificate print-projection field yet — the projection's first-class PRL
30
- # home (`promises.prl` with a `certificate { … }` block) is the recorded
31
- # primmel-ts kernel-minor follow-up; when it ships, this payload migrates to
32
- # the PRL surface and the promise CONTENT rides over unchanged.
33
- #
34
- # TYPE ALIGNMENT (TODO.roadmap/08 deliverable 1): `PromiseDecl` (smart,
35
- # browser/src/data/standards.ts) ≡ primmel-ts `SubjectPromise` at the TYPE
36
- # level only — id, target, level, conditions (OCL over dimensions/
37
- # conditions), statement, verified_by (requirement/test ids — when absent,
38
- # verification derives from the requirement/test bindings of the same
39
- # target), source { doc, clause }. The YAML level shape ({ kind:
40
- # quantity|range|symbolic, … }) and primmel's `PromiseLevel` are
41
- # CONCEPTUALLY aligned (quantity/range/symbolic); no YAML↔PRL converter
42
- # for promises exists yet.
43
- # The `certificate:` block is the smart-side print projection (Annex B):
44
- # the certificate's characteristic list is GENERATED from this promise set
45
- # (browser/src/services/certificate.service.ts), replacing the formerly
46
- # hand-maintained characteristics_template rows of
47
- # evaluation/certificate-template.yaml (which keeps only number_format and
48
- # dimension_labels).
49
- #
50
- # APPLICATION-SIDE MAPPING (light formalization — deliverable 4): an
51
- # application's SOUGHT CLASSIFICATION reads as a promise set — the
52
- # subject-chain classification maps the applicant declares (family/group/
53
- # model `classification`, the Application model_family_id + model_ids matrix)
54
- # are the applicant's claims about what the type IS, shape-compatible with
55
- # the entries below (dimension targets with symbolic levels), which
56
- # evaluation then verifies and the certificate prints as promises-as-verified.
57
- # Application.dimensions (deprecated free-form map) corresponds 1:1 to
58
- # promise entries with `level: { kind: symbolic, value: <dimension-value> }`
59
- # on the dimension target. A full application-matrix migration is NOT in
60
- # scope — this note + the type alignment is the formalization.
61
- #
62
- # Schema: data/schemas/model.yaml ($defs/promise).
63
- ---
64
- promises:
65
-
66
- # ── Annex B mandatory supplement (R 60-4, Annex B) ──────────────────
67
-
68
- - id: e_max_values
69
- target: e_max # symbols.yaml / attributes.yaml id
70
- statement:
71
- - spelling: eng-Latn
72
- value: "Maximum capacity E_max per model — the rated capacities the family offers."
73
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "3.5.5" }
74
- certificate: { attribute: e_max, type: string, label: [{spelling: eng-Latn, value: "E_max values"}], obligation: mandatory }
75
-
76
- - id: accuracy_class
77
- target: accuracy_class # classification dimension (model/instrument.yaml)
78
- statement:
79
- - spelling: eng-Latn
80
- value: "The type holds its declared accuracy class — the error characteristic stays within the class MPE."
81
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "5.1.1" }
82
- verified_by:
83
- - /req/metrological/mpe # R 60-1, 5.3
84
- - /conf/metrological-tests/measurement-error-repeatability-mdlo # R 60-2, 2.10.1
85
- certificate: { dimension: accuracy_class, type: string, label: [{spelling: eng-Latn, value: "Accuracy class"}], obligation: mandatory }
86
-
87
- - id: n_lc
88
- target: n_lc
89
- statement:
90
- - spelling: eng-Latn
91
- value: "Maximum number of load cell verification intervals into which the measuring range is divided."
92
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "3.5.8" }
93
- certificate: { attribute: n_lc, type: integer, label: [{spelling: eng-Latn, value: "Number of verification intervals (n_LC)"}], obligation: mandatory }
94
-
95
- - id: v_min
96
- target: v_min
97
- statement:
98
- - spelling: eng-Latn
99
- value: "Minimum load cell verification interval the type is certified down to."
100
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "3.5.11" }
101
- certificate: { attribute: v_min, type: string, label: [{spelling: eng-Latn, value: "Minimum load cell verification interval (v_min)"}], obligation: mandatory }
102
-
103
- - id: p_lc
104
- target: p_lc
105
- statement:
106
- - spelling: eng-Latn
107
- value: "Apportioning factor p_LC of the load cell for MPE calculations."
108
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "3.7.2" }
109
- certificate: { attribute: p_lc, type: number, label: [{spelling: eng-Latn, value: "Apportioning factor (p_LC)"}], obligation: mandatory }
110
-
111
- # ── Annex B Table B.1 technical data (additional pages, informative) ──
112
-
113
- - id: e_min
114
- target: e_min
115
- statement:
116
- - spelling: eng-Latn
117
- value: "Minimum dead load E_min the load cell measures from."
118
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "3.5.9" }
119
- certificate: { attribute: e_min, type: string, label: [{spelling: eng-Latn, value: "Minimum dead load (E_min)"}], obligation: optional }
120
-
121
- - id: y_ratio
122
- target: "y"
123
- statement:
124
- - spelling: eng-Latn
125
- value: "Relative minimum load cell verification interval Y = E_max / v_min."
126
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "3.5.15" }
127
- certificate: { attribute: "y", type: integer, label: [{spelling: eng-Latn, value: "Relative v_min (Y)"}], obligation: optional }
128
-
129
- - id: z_ratio
130
- target: z
131
- statement:
132
- - spelling: eng-Latn
133
- value: "Relative minimum dead load output return Z = E_max / (2·DR)."
134
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "3.5.14" }
135
- certificate: { attribute: z, type: integer, label: [{spelling: eng-Latn, value: "Relative DR (Z)"}], obligation: optional }
136
-
137
- - id: rated_output
138
- target: rated_output
139
- statement:
140
- - spelling: eng-Latn
141
- value: "Rated output per volt of excitation at maximum capacity, with tolerance."
142
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "3.5.3" }
143
- certificate: { attribute: rated_output, type: string, label: [{spelling: eng-Latn, value: "Rated output"}], obligation: optional }
144
-
145
- - id: excitation_maximum
146
- target: excitation_maximum
147
- statement:
148
- - spelling: eng-Latn
149
- value: "Maximum excitation voltage the load cell withstands."
150
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "3.4.2" }
151
- certificate: { attribute: excitation_maximum, type: number, label: [{spelling: eng-Latn, value: "Maximum excitation voltage (V)"}], obligation: optional }
152
-
153
- - id: input_impedance
154
- target: input_impedance
155
- statement:
156
- - spelling: eng-Latn
157
- value: "Electrical impedance across the excitation terminals, with tolerance."
158
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "3.4.2" }
159
- certificate: { attribute: input_impedance, type: string, label: [{spelling: eng-Latn, value: "Input impedance (Ohm)"}], obligation: optional }
160
-
161
- - id: temperature_range
162
- target: temp-effect-sensitivity # behaviors.yaml — the temperature influence response
163
- statement:
164
- - spelling: eng-Latn
165
- value: "The type holds its metrological performance across the rated temperature range (T_min…T_max)."
166
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "5.6.1" }
167
- verified_by:
168
- - /req/metrological/temperature-limits # R 60-1, 5.6.1
169
- - /conf/metrological-tests/measurement-error-repeatability-mdlo # R 60-2, 2.10.1 (temperature runs)
170
- certificate: { attributes: [t_min, t_max], type: string, label: [{spelling: eng-Latn, value: "Temperature rating (°C)"}], obligation: optional }
171
-
172
- - id: safe_overload
173
- target: safe_overload
174
- statement:
175
- - spelling: eng-Latn
176
- value: "Safe overload the load cell withstands without permanent damage, relative to E_max."
177
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "3.5.16" }
178
- certificate: { attribute: safe_overload, type: string, label: [{spelling: eng-Latn, value: "Safe overload, relative (%)"}], obligation: optional }
179
-
180
- # ── Envelope claim (TODO.roadmap/08 deliverable d) ───────────────────
181
- # A CONDITIONED promise a bare parameter value cannot express: not
182
- # "t_min = −10 °C" (one declared value) but "class C6 HOLDS ACROSS the
183
- # rated range −10…+40 °C" — a level claimed over an envelope, gated by
184
- # conditions (OCL over the designed condition tiers). It prints as a
185
- # statement row: the certificate block binds no attribute/dimension, so
186
- # the projection renders the claim text itself (see
187
- # certificate.service.ts renderPromiseClaim).
188
- - id: accuracy_class_envelope
189
- target: accuracy_class
190
- level: { kind: symbolic, value: C6 }
191
- conditions: "ocl{self.temperature >= rated.t_min and self.temperature <= rated.t_max}"
192
- statement:
193
- - spelling: eng-Latn
194
- value: "Holds accuracy class C6 across the rated temperature range −10…+40 °C."
195
- verified_by:
196
- - /req/metrological/mpe # R 60-1, 5.3
197
- - /conf/metrological-tests/measurement-error-repeatability-mdlo # R 60-2, 2.10.1
198
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "5.1.1" }
199
- certificate: { type: statement, label: [{spelling: eng-Latn, value: "Accuracy envelope"}], obligation: optional }
200
-
201
- # ── The G1 optional defining-data fields (TODO.deploying/01) ────────
202
- - id: cable_length
203
- target: cable_length
204
- statement:
205
- - spelling: eng-Latn
206
- value: "Integral cable length (the family specification set's cable details, R 60-1, 3.4.2 (e))."
207
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "3.4.2" }
208
- certificate: { attribute: cable_length, type: quantity, label: [{spelling: eng-Latn, value: "Cable length"}], obligation: optional }
209
-
210
- - id: additional_markings
211
- target: additional_markings
212
- statement:
213
- - spelling: eng-Latn
214
- value: "Markings on the load cell beyond the required set (manufacturer's optional markings)."
215
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "6" }
216
- certificate: { attribute: additional_markings, type: string, label: [{spelling: eng-Latn, value: "Additional markings"}], obligation: optional }
217
-
218
- - id: additional_characterisation
219
- target: additional_characterisation
220
- statement:
221
- - spelling: eng-Latn
222
- value: "Additional characterisation completing the classification (R 60-1, 5.1.5 (f), 5.1.6, 5.1.7)."
223
- source: { doc: urn:oiml:pub:r:60-1:2021, clause: "5.1.5" }
224
- certificate: { attribute: additional_characterisation, type: string, label: [{spelling: eng-Latn, value: "Additional characteristics"}], obligation: optional }
@@ -1,201 +0,0 @@
1
- # GENERATED package payload (task 31b) — content with no PRL construct; composed back by regenerate-data + build-primmel-cache. Do not edit by hand.
2
- application:
3
- documentation:
4
- - id: metrological-characteristics
5
- name:
6
- - spelling: eng-Latn
7
- value: Metrological characteristics
8
- description:
9
- - spelling: eng-Latn
10
- value: >-
11
- The metrological characteristics of the speed meter, including a statement about durability (R 91-1, 8.1.1
12
- a).
13
- obligation: shall
14
- source:
15
- doc: urn:oiml:pub:r:91-1:2025
16
- clause: 8.1.1
17
- - id: technical-specifications
18
- name:
19
- - spelling: eng-Latn
20
- value: Technical and electronic specifications
21
- description:
22
- - spelling: eng-Latn
23
- value: The technical and electronic specifications of the speed meter (R 91-1, 8.1.1 b).
24
- obligation: shall
25
- source:
26
- doc: urn:oiml:pub:r:91-1:2025
27
- clause: 8.1.1
28
- - id: functional-description
29
- name:
30
- - spelling: eng-Latn
31
- value: Functional description
32
- description:
33
- - spelling: eng-Latn
34
- value: Functional description of the speed meter including its subassemblies and components (R 91-1, 8.1.1 c).
35
- obligation: shall
36
- source:
37
- doc: urn:oiml:pub:r:91-1:2025
38
- clause: 8.1.1
39
- - id: checking-facilities
40
- name:
41
- - spelling: eng-Latn
42
- value: Checking facilities description
43
- description:
44
- - spelling: eng-Latn
45
- value: Description of the checking facilities (R 91-1, 8.1.1 d; see 6.9 and 7.5).
46
- obligation: shall
47
- source:
48
- doc: urn:oiml:pub:r:91-1:2025
49
- clause: 8.1.1
50
- - id: drawings-diagrams-photos
51
- name:
52
- - spelling: eng-Latn
53
- value: Drawings, diagrams and photos
54
- description:
55
- - spelling: eng-Latn
56
- value: >-
57
- Drawings, diagrams and photos of the speed meter explaining its construction and operation (R 91-1, 8.1.1
58
- e).
59
- obligation: shall
60
- source:
61
- doc: urn:oiml:pub:r:91-1:2025
62
- clause: 8.1.1
63
- - id: interfaces-list
64
- name:
65
- - spelling: eng-Latn
66
- value: List of interfaces
67
- description:
68
- - spelling: eng-Latn
69
- value: A list of interfaces specifying types, intended use and immunity to external influences (R 91-1, 8.1.1 f).
70
- obligation: shall
71
- source:
72
- doc: urn:oiml:pub:r:91-1:2025
73
- clause: 8.1.1
74
- - id: installation-requirements
75
- name:
76
- - spelling: eng-Latn
77
- value: Installation requirements and instructions
78
- description:
79
- - spelling: eng-Latn
80
- value: The installation requirements and instructions (R 91-1, 8.1.1 g).
81
- obligation: shall
82
- source:
83
- doc: urn:oiml:pub:r:91-1:2025
84
- clause: 8.1.1
85
- - id: self-checking-mechanisms
86
- name:
87
- - spelling: eng-Latn
88
- value: Self-checking mechanisms
89
- description:
90
- - spelling: eng-Latn
91
- value: Description and application of the self-checking mechanisms (R 91-1, 8.1.1 h).
92
- obligation: shall
93
- source:
94
- doc: urn:oiml:pub:r:91-1:2025
95
- clause: 8.1.1
96
- - id: sealing-plan
97
- name:
98
- - spelling: eng-Latn
99
- value: Security sealing plan
100
- description:
101
- - spelling: eng-Latn
102
- value: The security sealing plan, including drawings or photos (R 91-1, 8.1.1 i).
103
- obligation: shall
104
- source:
105
- doc: urn:oiml:pub:r:91-1:2025
106
- clause: 8.1.1
107
- - id: software-security
108
- name:
109
- - spelling: eng-Latn
110
- value: Security measures for software and data
111
- description:
112
- - spelling: eng-Latn
113
- value: Security measures for the protection of software, settings and measurement data (R 91-1, 8.1.1 j).
114
- obligation: shall
115
- source:
116
- doc: urn:oiml:pub:r:91-1:2025
117
- clause: 8.1.1
118
- - id: panel-layout
119
- name:
120
- - spelling: eng-Latn
121
- value: Panel layout
122
- description:
123
- - spelling: eng-Latn
124
- value: The panel layout (user interface) (R 91-1, 8.1.1 k).
125
- obligation: shall
126
- source:
127
- doc: urn:oiml:pub:r:91-1:2025
128
- clause: 8.1.1
129
- - id: software-information
130
- name:
131
- - spelling: eng-Latn
132
- value: General software information
133
- description:
134
- - spelling: eng-Latn
135
- value: >-
136
- General information on the software, covering in particular the requirements in R 91-1, 7.10 (R 91-1, 8.1.1
137
- l).
138
- obligation: shall
139
- source:
140
- doc: urn:oiml:pub:r:91-1:2025
141
- clause: 8.1.1
142
- - id: operating-manual
143
- name:
144
- - spelling: eng-Latn
145
- value: Operating instructions and manual
146
- description:
147
- - spelling: eng-Latn
148
- value: The operating instructions and operating manual to be provided to the user (R 91-1, 8.1.1 m).
149
- obligation: shall
150
- source:
151
- doc: urn:oiml:pub:r:91-1:2025
152
- clause: 8.1.1
153
- - id: compliance-evidence
154
- name:
155
- - spelling: eng-Latn
156
- value: Compliance evidence
157
- description:
158
- - spelling: eng-Latn
159
- value: >-
160
- Documents or other evidence supporting the assumption that the design and characteristics of the measuring
161
- instrument comply with the requirements of the Recommendation (R 91-1, 8.1.1 n).
162
- obligation: shall
163
- source:
164
- doc: urn:oiml:pub:r:91-1:2025
165
- clause: 8.1.1
166
- - id: d31-documentation
167
- name:
168
- - spelling: eng-Latn
169
- value: Software documentation (D 31)
170
- description:
171
- - spelling: eng-Latn
172
- value: The documentation requested in OIML D 31, 7.1 (R 91-1, 8.1.1 o).
173
- obligation: shall
174
- source:
175
- doc: urn:oiml:pub:r:91-1:2025
176
- clause: 8.1.1
177
- - id: evidence-file-sample
178
- name:
179
- - spelling: eng-Latn
180
- value: Sample of a recorded event (evidence file)
181
- description:
182
- - spelling: eng-Latn
183
- value: A sample of a recorded event (evidence file) (R 91-1, 8.1.1 p).
184
- obligation: shall
185
- source:
186
- doc: urn:oiml:pub:r:91-1:2025
187
- clause: 8.1.1
188
- - id: measuring-principles
189
- name:
190
- - spelling: eng-Latn
191
- value: Description of measuring principles
192
- description:
193
- - spelling: eng-Latn
194
- value: >-
195
- Description of the measuring principles or algorithms and how speed values for indication are obtained,
196
- including the mathematical operation used to obtain integer speed values from high-resolution values (R
197
- 91-1, 8.1.1 q).
198
- obligation: shall
199
- source:
200
- doc: urn:oiml:pub:r:91-1:2025
201
- clause: 8.1.1
@@ -1,142 +0,0 @@
1
- # OIML R 91 — MODEL LAYER: PROMISES (TODO.model-content/03)
2
- # -----------------------------------------------------------------------------
3
- # First-class manufacturer PROMISES for traffic speed meters: claims on
4
- # characteristics and behavior that evaluation verifies and the certificate
5
- # prints as promises-as-verified (the same doctrine as R 60's set —
6
- # primmel-oiml-smart/docs/primmel/02-subjects.md §2.3; 15-model-supply-
7
- # chain.md §15.2). The certificate's characteristic list is GENERATED from
8
- # this promise set (browser/src/services/certificate.service.ts
9
- # certificateCharacteristics()) — the rows below carry the print surface the
10
- # hand-maintained characteristics_template of evaluation/
11
- # certificate-template.yaml formerly restated (which keeps only
12
- # number_format and dimension_labels).
13
- #
14
- # PACKAGE HOME: this file is the package payload `payload/promises.yaml` —
15
- # the promise set is AUTHORED here, in the package, and regenerate-data
16
- # emits data/r91/model/promises.yaml VERBATIM (the generated fileHeader +
17
- # these raw bytes; the documented codec exclusion, same class as
18
- # payload/sample-data.yaml). The kernel's SubjectPromise carries no
19
- # certificate print-projection field yet — the projection's first-class PRL
20
- # home is the recorded primmel-ts kernel-minor follow-up; when it ships,
21
- # this payload migrates to `promises.prl` and the promise CONTENT rides
22
- # over unchanged.
23
- #
24
- # PROVENANCE (the content-provenance rule): every promise cites the clause
25
- # its claimed characteristic is defined at (R 91-1:2025 — the clause the
26
- # model's own attribute/dimension declaration carries). R 91-1, 6.15.1 makes
27
- # the metrological class a MANDATORY certificate indication ("The OIML
28
- # certificate shall indicate the class of the instrument"); the remaining
29
- # rows print when available (obligation: optional). Composite interval rows
30
- # bind their boundary attribute pair (`certificate.attributes`) and target
31
- # the quantity/behavior the interval bounds (R 60's temperature_range
32
- # pattern).
33
- #
34
- # Schema: data/schemas/model.yaml ($defs/promise).
35
- ---
36
- promises:
37
-
38
- # ── R 91-1, 6.15.1 — the class indication is MANDATORY ───────────────
39
-
40
- - id: metrological_class
41
- target: metrological_class # classification dimension (model/instrument.yaml)
42
- statement:
43
- - spelling: eng-Latn
44
- value: "The type holds its declared metrological class (A or B) for moving measurements."
45
- source: { doc: urn:oiml:pub:r:91-1:2025, clause: "6.15.1" }
46
- certificate: { dimension: metrological_class, type: string, label: [{spelling: eng-Latn, value: "Metrological class for moving measurements (R 91-1, 6.15.1)"}], obligation: mandatory }
47
-
48
- # ── Classification (R 91-1, clause 5) ────────────────────────────────
49
-
50
- - id: mode_of_use
51
- target: mode_of_use
52
- statement:
53
- - spelling: eng-Latn
54
- value: "The type operates in its declared mode of use (stationary / moving)."
55
- source: { doc: urn:oiml:pub:r:91-1:2025, clause: "5.1" }
56
- certificate: { dimension: mode_of_use, type: string, label: [{spelling: eng-Latn, value: "Mode of use (stationary / moving)"}], obligation: optional }
57
-
58
- - id: working_principle
59
- target: working_principle
60
- statement:
61
- - spelling: eng-Latn
62
- value: "The type measures speed by its declared working principle."
63
- source: { doc: urn:oiml:pub:r:91-1:2025, clause: "5.3" }
64
- certificate: { dimension: working_principle, type: string, label: [{spelling: eng-Latn, value: "Working principle"}], obligation: optional }
65
-
66
- - id: installation_principle
67
- target: installation_principle
68
- statement:
69
- - spelling: eng-Latn
70
- value: "The type installs by its declared principle (mobile / fixed / portable)."
71
- source: { doc: urn:oiml:pub:r:91-1:2025, clause: "5.2" }
72
- certificate: { dimension: installation_principle, type: string, label: [{spelling: eng-Latn, value: "Installation (mobile / fixed / portable)"}], obligation: optional }
73
-
74
- - id: triggering
75
- target: triggering
76
- statement:
77
- - spelling: eng-Latn
78
- value: "The type triggers its measurements as declared (manual / automatic)."
79
- source: { doc: urn:oiml:pub:r:91-1:2025, clause: "5.4" }
80
- certificate: { dimension: triggering, type: string, label: [{spelling: eng-Latn, value: "Triggering (manual / automatic)"}], obligation: optional }
81
-
82
- - id: cosine_compensation
83
- target: cosine_compensation
84
- statement:
85
- - spelling: eng-Latn
86
- value: "The type compensates the cosine error for its declared road orientation (along- / across-the-road)."
87
- source: { doc: urn:oiml:pub:r:91-1:2025, clause: "5.5" }
88
- certificate: { dimension: cosine_compensation, type: string, label: [{spelling: eng-Latn, value: "Road orientation (along- / across-the-road)"}], obligation: optional }
89
-
90
- # ── Measuring intervals (R 91-1, 6.1 / 6.17) ─────────────────────────
91
-
92
- - id: speed_interval
93
- target: v # symbols.yaml — the speed quantity the interval bounds
94
- statement:
95
- - spelling: eng-Latn
96
- value: "The speed measuring interval the type is certified over (km/h)."
97
- source: { doc: urn:oiml:pub:r:91-1:2025, clause: "6.1" }
98
- certificate: { attributes: [speed_interval_min, speed_interval_max], type: string, label: [{spelling: eng-Latn, value: "Speed measuring interval (km/h)"}], obligation: optional }
99
-
100
- - id: distance_interval
101
- target: d # symbols.yaml — the distance-to-vehicle quantity
102
- statement:
103
- - spelling: eng-Latn
104
- value: "The distance measuring interval the type is certified over (m)."
105
- source: { doc: urn:oiml:pub:r:91-1:2025, clause: "6.17" }
106
- certificate: { attributes: [distance_interval_min, distance_interval_max], type: string, label: [{spelling: eng-Latn, value: "Distance measuring interval (m)"}], obligation: optional }
107
-
108
- - id: angle_interval
109
- target: alpha # symbols.yaml — the measurement angle quantity
110
- statement:
111
- - spelling: eng-Latn
112
- value: "The measurement angle interval the type is certified over (°)."
113
- source: { doc: urn:oiml:pub:r:91-1:2025, clause: "6.17" }
114
- certificate: { attributes: [angle_interval_min, angle_interval_max], type: string, label: [{spelling: eng-Latn, value: "Angle interval (°)"}], obligation: optional }
115
-
116
- # ── Rated operating conditions (R 91-1, 6.16) ────────────────────────
117
-
118
- - id: operating_temp_range
119
- target: temperature-effect # behaviors.yaml — the temperature influence response
120
- statement:
121
- - spelling: eng-Latn
122
- value: "The type holds its metrological performance across the rated operating temperature range (T_min…T_max)."
123
- source: { doc: urn:oiml:pub:r:91-1:2025, clause: "6.16" }
124
- certificate: { attributes: [operating_temp_min, operating_temp_max], type: string, label: [{spelling: eng-Latn, value: "Rated temperature range (°C)"}], obligation: optional }
125
-
126
- - id: supply_voltage
127
- target: supply_voltage_dc
128
- statement:
129
- - spelling: eng-Latn
130
- value: "The DC supply voltage rating the type operates at."
131
- source: { doc: urn:oiml:pub:r:91-1:2025, clause: "6.16" }
132
- certificate: { attribute: supply_voltage_dc, type: string, label: [{spelling: eng-Latn, value: "Supply voltage (V)"}], obligation: optional }
133
-
134
- # ── Legally relevant software (R 91-1, 7.10.1) ───────────────────────
135
-
136
- - id: software_version
137
- target: software_version
138
- statement:
139
- - spelling: eng-Latn
140
- value: "The certificate identifies the type's legally relevant software by its declared version."
141
- source: { doc: urn:oiml:pub:r:91-1:2025, clause: "7.10.1" }
142
- certificate: { attribute: software_version, type: string, label: [{spelling: eng-Latn, value: "Legally relevant software identification (R 91-1, 7.10.1; R 91-4 identification block)"}], obligation: optional }