@oimlsmart/primmel-packages 0.13.0 → 0.15.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,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 }