@oimlsmart/primmel-packages 0.2.1 → 0.3.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.
@@ -0,0 +1,145 @@
1
+ # OIML-CS FRAMEWORK — THE DECLARATION MODEL (B 18:2025 §5.5–5.6; PD-08)
2
+ # -----------------------------------------------------------------------------
3
+ # The OIML-CS Declaration as a first-class model (TODO.roadmap/40): the
4
+ # participation register of the scheme (PD-08 clause 4 — every IA, Utilizer
5
+ # and Associate shall sign a Declaration; the Executive Secretary records
6
+ # them). Three declaration kinds, their content slots, the status model
7
+ # (PD-08 cl. 5: a Declaration is initiated, signed, kept current through
8
+ # scope extensions/reductions and periodic-review changes, and recorded by
9
+ # the Executive Secretary), and the SIGNING-GATE invariant (PD-08 clause 5):
10
+ # an OIML Issuing Authority must have signed its Declaration before issuing
11
+ # any OIML certificate or OIML type evaluation report.
12
+ #
13
+ # This file closes the §4.6.7 documented exclusion of
14
+ # specification/requirements/cs.prl: the scheme-governance constraint
15
+ # (who may certify what, and only after a signed Declaration) now has its
16
+ # model home here — the gate references the abstract processes it blocks
17
+ # (the consumer's evaluation/abstract-processes.yaml, still YAML-only).
18
+ #
19
+ # Declaration semantics (PD-08, verified against the corpus audit
20
+ # analysis/oiml-cs-corpus-audit-2026-07.md, corpus C):
21
+ # - IA Declaration scope = instrument categories × Schemes (certificates
22
+ # and type evaluation reports under Scheme A and/or B — PD-08 cl. 4 a);
23
+ # - Utilizer/Associate Declaration scope = acceptance per Scheme PLUS any
24
+ # additional national requirements (3.2) deviating from the
25
+ # Recommendation (PD-08 cl. 4 b; B 18:2025 §5.6.1–5.6.2);
26
+ # - Utilizers/Associates specify from which IAs and TLs they accept
27
+ # reports/test data and whether they accept MTL-based reports
28
+ # (§5.6.3 — MTL acceptance is voluntary and need not be justified);
29
+ # - acceptance of legacy MAA certificates + conditions SHALL be detailed
30
+ # in the Declaration (PD-08 cl. 6; B 18:2025 §15.10), Basic-certificate
31
+ # acceptance is voluntary (§15.11).
32
+ #
33
+ # Numbering: official published PDF (reference-docs/cs/docs/b018-e25.pdf).
34
+ #
35
+ # This file is the single source of truth; the consumer's
36
+ # data/oiml-cs/framework/declarations.yaml is its GENERATED YAML twin
37
+ # (cd browser && npm run gen:data; schema data/schemas/framework-declarations.yaml).
38
+ # Cross-references (holder kinds, the gate's declaration edge) are checked
39
+ # package-side by the kernel's C120 framework-references-resolve; the
40
+ # consumer's linker R25 still guards the regenerated YAML (incl. the
41
+ # signing-gate's blocks against the abstract-process ids). The gate
42
+ # calculus lives in browser/src/data/framework.ts; the seeded rejection
43
+ # proof in browser/src/__tests__/cs-framework.test.ts.
44
+ declaration_kind issuing_authority_declaration {
45
+ label "OIML Issuing Authority Declaration"
46
+ holder issuing_authority
47
+ clause "5.5.1"
48
+ procedure "PD-08"
49
+ definition "Declaration signed by an OIML Issuing Authority accepted for participation in the OIML-CS, indicating its scope for issuing OIML certificates and OIML type evaluation reports under Scheme A and/or Scheme B (§5.5.1)."
50
+ scope_model categories_x_schemes
51
+ scheme_a_obligation "When an OIML Issuing Authority is accepted under Scheme A, the OIML Member State shall designate at least one Utilizer for each instrument category concerned, unless the category is not regulated in that Member State (§5.5.1; PD-08 cl. 4 Note 2 — a written explanation to the Executive Secretary)."
52
+ source {
53
+ doc "urn:oiml:pub:b:18:2025"
54
+ clause "5.5.1"
55
+ }
56
+ }
57
+
58
+ declaration_kind utilizer_declaration {
59
+ label "Utilizer Declaration"
60
+ holder utilizer
61
+ clause "5.6.1"
62
+ procedure "PD-08"
63
+ definition "Declaration signed by a Utilizer indicating its scope of acceptance of OIML certificates and/or OIML type evaluation reports issued under Scheme A and/or Scheme B (§5.6.1)."
64
+ scope_model categories_x_schemes
65
+ content additional_national_requirements {
66
+ clause "5.6.1"
67
+ description "Additional national requirements (3.2) deviating from the Recommendation — the Utilizer may specify them; acceptance of additional-national-requirement test data is at the Utilizer's discretion and must be stated in the Declaration (PD-09, 4.1)."
68
+ }
69
+ content accepted_participants {
70
+ clause "5.6.3"
71
+ description "The OIML Issuing Authorities and Test Laboratories from which the Utilizer accepts evaluation reports, test reports and test data for additional national requirements (§5.6.3)."
72
+ }
73
+ content mtl_acceptance_policy {
74
+ clause "5.6.3"
75
+ description "Whether the Utilizer accepts OIML certificates and/or type evaluation reports issued on the basis of test reports from a Manufacturer's Test Laboratory (§5.6.3) — acceptance is voluntary and requires no justification (PD-08 cl. 6)."
76
+ }
77
+ content maa_certificate_acceptance {
78
+ clause "15.10"
79
+ description "Conditions for the acceptance of legacy OIML MAA certificates — SHALL be detailed in the Declaration when accepted (PD-08 cl. 6; §15.10). Legacy OIML Basic certificates remain valid and their acceptance is voluntary (§15.11)."
80
+ }
81
+ source {
82
+ doc "urn:oiml:pub:b:18:2025"
83
+ clause "5.6.1"
84
+ }
85
+ }
86
+
87
+ declaration_kind associate_declaration {
88
+ label "Associate Declaration"
89
+ holder associate
90
+ clause "5.6.2"
91
+ procedure "PD-08"
92
+ definition "Declaration signed by an Associate indicating its scope of acceptance of OIML certificates and/or OIML type evaluation reports issued under Scheme A and/or Scheme B (§5.6.2) — the same content slots as the Utilizer Declaration."
93
+ scope_model categories_x_schemes
94
+ content additional_national_requirements {
95
+ clause "5.6.2"
96
+ description "Additional national requirements (3.2), as for the Utilizer Declaration."
97
+ }
98
+ content accepted_participants {
99
+ clause "5.6.3"
100
+ description "The OIML Issuing Authorities and Test Laboratories from which the Associate accepts reports and test data (§5.6.3)."
101
+ }
102
+ content mtl_acceptance_policy {
103
+ clause "5.6.3"
104
+ description "Whether the Associate accepts MTL-based certificates/reports (§5.6.3) — voluntary, no justification needed (PD-08 cl. 6)."
105
+ }
106
+ content maa_certificate_acceptance {
107
+ clause "15.10"
108
+ description "Conditions for the acceptance of legacy OIML MAA certificates (PD-08 cl. 6; §15.10); Basic-certificate acceptance is voluntary (§15.11)."
109
+ }
110
+ source {
111
+ doc "urn:oiml:pub:b:18:2025"
112
+ clause "5.6.2"
113
+ }
114
+ }
115
+
116
+ declaration_status draft {
117
+ description "Initiated, not yet signed by the participant."
118
+ }
119
+
120
+ declaration_status signed {
121
+ description "Signed by the participant and recorded by the Executive Secretary — the only status that discharges the signing gate."
122
+ }
123
+
124
+ declaration_status suspended {
125
+ description "The participant is suspended by the Management Committee (§11.4) — no new applications (PD-03 cl. 8)."
126
+ }
127
+
128
+ declaration_status withdrawn {
129
+ description "Participation withdrawn; the Declaration no longer grounds issuance or acceptance."
130
+ }
131
+
132
+ declaration_gate declaration-signed-before-issuance {
133
+ clause "PD-08 cl. 5"
134
+ statement "An OIML Issuing Authority shall not issue any OIML certificate or OIML type evaluation report before its Declaration covering the instrument category and Scheme is signed (PD-08 clause 5; B 18:2025 §5.5.1). Evaluation and testing for an application received beforehand may proceed only after the Review Committee has made a positive, unconditional recommendation to the Management Committee — but the certificate/report still cannot be issued until the Declaration is signed or updated (PD-08 clause 5)."
135
+ holder issuing_authority
136
+ declaration issuing_authority_declaration
137
+ blocks { issue evaluation }
138
+ blocks_note "The gated abstract processes of the scheme process model (evaluation/abstract-processes.yaml): issue (certificate issuance) and evaluation (the OIML type evaluation report — its compilation and release are part of the evaluation step)."
139
+ scope_checked { category scheme }
140
+ source {
141
+ doc "urn:oiml:pub:b:18:2025"
142
+ clause "5.5.1"
143
+ }
144
+ }
145
+
@@ -0,0 +1,118 @@
1
+ # OIML-CS FRAMEWORK — GOVERNING-DOCUMENT HIERARCHY + AUTO-INCLUSION
2
+ # -----------------------------------------------------------------------------
3
+ # The governing-document hierarchy of the OIML-CS (B 18:2025, clause 6)
4
+ # with its precedence rule, and the automatic-inclusion conditions of
5
+ # clause 4 (§4.2): when a category of measuring instrument enters the
6
+ # OIML-CS — the precondition the scheme lifecycle's automatic Scheme B
7
+ # entry keys on (framework/schemes.prl, §15.1).
8
+ #
9
+ # The per-document models of the corpus (PD-01…PD-09, CID-01, OD-01/02)
10
+ # are tasks 42–43; this file models the HIERARCHY and the entry conditions
11
+ # only. PD-05 (the certification process) already has its model in this
12
+ # package (specification/requirements/cs.prl + the consumer's
13
+ # evaluation/abstract-processes.yaml + execution/test-report-checklist.yaml).
14
+ #
15
+ # Numbering: official published PDF (reference-docs/cs/docs/b018-e25.pdf).
16
+ #
17
+ # This file is the single source of truth; the consumer's
18
+ # data/oiml-cs/framework/documents.yaml is its GENERATED YAML twin
19
+ # (cd browser && npm run gen:data; schema data/schemas/framework-documents.yaml).
20
+ # The approved_by organ edges are checked package-side by the kernel's
21
+ # C120 framework-references-resolve; the consumer's linker R25 still
22
+ # guards the regenerated YAML.
23
+ framework_document b18 {
24
+ rank 1
25
+ doc "OIML B 18"
26
+ title "Framework for the OIML Certification System (OIML-CS)"
27
+ approved_by ciml
28
+ clause "6 a)"
29
+ source {
30
+ doc "urn:oiml:pub:b:18:2025"
31
+ clause "6"
32
+ }
33
+ }
34
+
35
+ framework_document cid-01 {
36
+ rank 2
37
+ doc "OIML-CS CID-01"
38
+ title "Clarification and Interpretation Document"
39
+ approved_by management_committee
40
+ clause "6 b)"
41
+ note "Clarifications and interpretations of OIML-CS documents intended as guidance and additional information; they do not supersede the text of the current editions (CID-01, clause 2)."
42
+ source {
43
+ doc "urn:oiml:pub:b:18:2025"
44
+ clause "6"
45
+ }
46
+ }
47
+
48
+ framework_document od {
49
+ rank 3
50
+ doc "OIML-CS OD-xx"
51
+ title "Operational Documents"
52
+ approved_by management_committee
53
+ clause "6 c)"
54
+ source {
55
+ doc "urn:oiml:pub:b:18:2025"
56
+ clause "6"
57
+ }
58
+ }
59
+
60
+ framework_document pd {
61
+ rank 4
62
+ doc "OIML-CS PD-xx"
63
+ title "Procedural Documents"
64
+ approved_by management_committee
65
+ clause "6 d)"
66
+ source {
67
+ doc "urn:oiml:pub:b:18:2025"
68
+ clause "6"
69
+ }
70
+ }
71
+
72
+ framework_document guidance {
73
+ rank 5
74
+ doc "OIML-CS Guidance, Forms and Templates"
75
+ title "Guidance, Forms and Templates"
76
+ approved_by management_committee
77
+ clause "6 e)"
78
+ source {
79
+ doc "urn:oiml:pub:b:18:2025"
80
+ clause "6"
81
+ }
82
+ }
83
+
84
+ document_precedence higher_position_prevails {
85
+ clause "6"
86
+ statement "In the event of a conflict, contradiction or inconsistency between the provisions of one of the governing documents and the provisions of another, the provisions of the document listed in a higher position take precedence over the provisions of the document listed in a lower position (clause 6)."
87
+ source {
88
+ doc "urn:oiml:pub:b:18:2025"
89
+ clause "6"
90
+ }
91
+ }
92
+
93
+ auto_inclusion auto_inclusion {
94
+ clause "4.2"
95
+ statement "Categories of measuring instruments (including families of instruments, modules, or families of modules) are automatically included in the OIML-CS when the relevant OIML Recommendation specifies all of the following (§4.2); the initial placement is Scheme B (§4.3, §15.1)."
96
+ condition metrological-technical-requirements {
97
+ clause "4.2 a)"
98
+ description "The Recommendation specifies the metrological and technical requirements for the category."
99
+ }
100
+ condition test-procedures {
101
+ clause "4.2 b)"
102
+ description "The Recommendation specifies the test procedures, including (where applicable) the selection of the instrument(s) or module(s) to be tested from the family (§4.4 — what counts as a family/module and the applicable requirements/test procedures for them)."
103
+ }
104
+ condition test-report-format {
105
+ clause "4.2 c)"
106
+ description "The Recommendation specifies the OIML test report format."
107
+ }
108
+ condition evaluation-report-format {
109
+ clause "4.2 d)"
110
+ description "The Recommendation specifies the OIML type evaluation report format."
111
+ }
112
+ note "The two report formats (conditions c and d) may be specified in separate Parts of a Recommendation or combined in one Part (§4.2 Note). The BIML maintains the list of the categories in the OIML-CS with references to the relevant Recommendations on the OIML website (§4.5)."
113
+ source {
114
+ doc "urn:oiml:pub:b:18:2025"
115
+ clause "4.2"
116
+ }
117
+ }
118
+
@@ -0,0 +1,124 @@
1
+ # OIML-CS FRAMEWORK — ORGANS AND DECISION RULES (B 18:2025, clauses 9–16)
2
+ # -----------------------------------------------------------------------------
3
+ # The decision mechanics of the OIML-CS organs (TODO.roadmap/40): the MC's
4
+ # 80 % participation decisions on RC recommendation, the TLF's advisory
5
+ # tasks (incl. inter-laboratory comparisons), the BoA's appeal rulings, the
6
+ # BIML's certificate registration with the REGISTERED-COPY VALIDITY
7
+ # principle (§15.8), the legacy-certificate rules (§15.10/§15.11), and the
8
+ # financing rule (§16.3 — no entrance fees).
9
+ #
10
+ # MECE: organ IDENTITY and mandates live in framework/participants.prl;
11
+ # this file holds the decision rules that bind organs to outcomes.
12
+ #
13
+ # Numbering: official published PDF (reference-docs/cs/docs/b018-e25.pdf).
14
+ #
15
+ # This file is the single source of truth; the consumer's
16
+ # data/oiml-cs/framework/governance.yaml is its GENERATED YAML twin
17
+ # (cd browser && npm run gen:data; schema data/schemas/framework-governance.yaml).
18
+ # Cross-references (organ ids, the no_entrance_fees_for participant kinds)
19
+ # are checked package-side by the kernel's C120 framework-references-resolve;
20
+ # the consumer's linker R25 still guards the regenerated YAML.
21
+ decision_rule ia-tl-participation-decisions {
22
+ organ management_committee
23
+ kind participation
24
+ on_recommendation_of review_committee
25
+ clause "11.4.2"
26
+ decides { ia_approval ia_reapproval ia_suspension tl_approval tl_reapproval tl_suspension }
27
+ description "The Management Committee decides the participation of OIML Issuing Authorities and Test Laboratories — approval, re-approval and suspension (§11.5 f) — on a recommendation of the Review Committee (§11.6.2), by the qualified 80 % majority of §11.4.2/§11.4.3; all other proposals pass by simple majority in a meeting or two-thirds of the votes cast by correspondence."
28
+ voting {
29
+ in_meeting {
30
+ threshold 0.8
31
+ base mc_members_from_member_states
32
+ clause "11.4.2"
33
+ description "Approval, re-approval or suspension of an OIML Issuing Authority or a Test Laboratory requires the support of at least 80 % of the Management Committee Members from OIML Member States (§11.4.2)."
34
+ }
35
+ by_correspondence {
36
+ threshold 0.8
37
+ base mc_members_from_member_states
38
+ clause "11.4.3"
39
+ description "The same 80 % threshold applies to decisions taken outside a meeting, when the Chairperson decides that voting takes place by correspondence (§11.4.3)."
40
+ }
41
+ other_proposals {
42
+ in_meeting 0.5
43
+ by_correspondence two_thirds_of_votes_cast
44
+ description "All other proposals require at least half of the MC Members from OIML Member States in a meeting (§11.4.2), or two-thirds of the votes cast by correspondence (§11.4.3)."
45
+ }
46
+ proxies_max 2
47
+ abstentions not_voting
48
+ reason_on_against_or_abstain true
49
+ }
50
+ source {
51
+ doc "urn:oiml:pub:b:18:2025"
52
+ clause "11.4"
53
+ }
54
+ }
55
+
56
+ decision_rule tlf-advisory-tasks {
57
+ organ test_laboratories_forum
58
+ kind advisory
59
+ clause "12.2"
60
+ description "The Test Laboratories Forum is the scheme's consensus platform of the Test Laboratories (one representative per TL, including MTLs, plus the Executive Secretary; no chairperson, no voting rule — its outputs are recommendations): it handles practical and technical questions on the test specifications, methods and equipment of the clause-7 standards (12.2 a), details how tests achieve the necessary reproducibility (12.2 b), draws up best-practice papers and proposes Recommendation amendments (12.2 c), and works towards the development of inter-laboratory comparison programs for the Test Laboratories (12.2 d)."
61
+ tasks { practical_testing_questions reproducibility_of_results best_practice_papers_and_amendments interlaboratory_comparisons }
62
+ source {
63
+ doc "urn:oiml:pub:b:18:2025"
64
+ clause "12.2"
65
+ }
66
+ }
67
+
68
+ decision_rule boa-appeal-rulings {
69
+ organ board_of_appeal
70
+ kind appeal_ruling
71
+ clause "13.2"
72
+ description "The Board of Appeal manages appeals against decisions of the Management Committee relating to participation in the OIML-CS and to Legal Metrology Experts and Management System Experts (13.2 a), and recommends solutions to any other dispute referred to it with regard to the application of the rules of the OIML-CS (13.2 b); its rulings on appeals bind the contested MC decision (the appeals procedure is specified in PD-01)."
73
+ independent_of management_committee
74
+ scope { participation_decisions expert_decisions }
75
+ source {
76
+ doc "urn:oiml:pub:b:18:2025"
77
+ clause "13.2"
78
+ }
79
+ }
80
+
81
+ decision_rule biml-certificate-registration {
82
+ organ biml
83
+ kind registration
84
+ clause "15.8"
85
+ description "The BIML registers and publishes OIML certificates (10.1). The only valid version of an OIML certificate is the printed or electronic version issued by an OIML Issuing Authority; the validity of any OIML certificate can be verified with the copy of the certificate registered and published on the OIML-CS pages of the OIML website by the BIML (§15.8) — the BIML-registered copy is the scheme's source of truth for validity (the platform's public register, /app/ register, is its implementation)."
86
+ principle registered_copy_validity
87
+ source {
88
+ doc "urn:oiml:pub:b:18:2025"
89
+ clause "15.8"
90
+ }
91
+ }
92
+
93
+ decision_rule legacy-certificate-validity {
94
+ organ biml
95
+ kind legacy_validity
96
+ clause "15.10"
97
+ description "Certificates issued under the legacy OIML certificate systems (the MAA Certificate System and the Basic Certificate System) remain valid under the OIML-CS (§15.10/§15.11); their acceptance regimes differ — MAA acceptance conditions are declared by Utilizers and Associates, Basic acceptance is voluntary."
98
+ legacy_kind maa {
99
+ clause "15.10"
100
+ description "OIML MAA certificates issued under the OIML MAA Certificate System are considered to remain valid; Utilizers and Associates may establish conditions for their acceptance, detailed in their Declarations (§15.10; framework/declarations.yaml maa_certificate_acceptance)."
101
+ }
102
+ legacy_kind basic {
103
+ clause "15.11"
104
+ description "OIML Basic certificates issued under the OIML Basic Certificate System are considered to remain valid; their acceptance by Utilizers, Associates and users is voluntary (§15.11)."
105
+ }
106
+ source {
107
+ doc "urn:oiml:pub:b:18:2025"
108
+ clause "15.10"
109
+ }
110
+ }
111
+
112
+ decision_rule scheme-financing {
113
+ organ biml
114
+ kind financing
115
+ clause "16.3"
116
+ description "The income of the OIML-CS consists of the fees from the registration of OIML certificates; no entrance fees are charged to OIML Issuing Authorities, Test Laboratories, Utilizers or Associates (§16.3). The BIML Director draws up the annual budget and accounts (§16.1), separately budgeted and consolidated into the OIML accounts (§16.2)."
117
+ income certificate_registration_fees
118
+ no_entrance_fees_for { issuing_authority test_laboratory utilizer associate }
119
+ source {
120
+ doc "urn:oiml:pub:b:18:2025"
121
+ clause "16.3"
122
+ }
123
+ }
124
+
@@ -0,0 +1,263 @@
1
+ # OIML-CS FRAMEWORK — PARTICIPANT REGISTRY MODEL (B 18:2025, clause 5)
2
+ # -----------------------------------------------------------------------------
3
+ # The participant KINDS of the OIML Certification System (TODO.roadmap/40) —
4
+ # the type-level registry: who may act in the scheme, on what competence
5
+ # basis, admitted by whom. Instances (actual IAs, TLs, Utilizers) are app
6
+ # data of the platform runtime (tasks 44–45), not modelled here.
7
+ #
8
+ # MECE: competence content is DELEGATED, never restated — B 18:2025 §5.2
9
+ # delegates Issuing-Authority competence to ISO/IEC 17065 (the
10
+ # iso-iec-17065 package, TODO.roadmap/39b) and §5.3 delegates
11
+ # Test-Laboratory competence to ISO/IEC 17025 (the iso-iec-17025
12
+ # package, TODO.roadmap/39c). The `delegates_to` facets below are
13
+ # REFERENCES to those layer packages (composed via the manifest's `uses`);
14
+ # no ISO provision text lives here. Organ IDENTITY and mandates live here;
15
+ # their decision RULES live in framework/governance.prl.
16
+ #
17
+ # certificate_owner carries no `term` facet on purpose: B 18:2025 clause 3
18
+ # defines no "certificate owner" term — the ownership concept is the 3.3
19
+ # Note ("Upon issuance of the OIML certificate, the applicant becomes the
20
+ # owner of the OIML certificate"); 3.26 is "OIML certificate", the
21
+ # document — not its owner.
22
+ #
23
+ # Numbering: every clause reference follows the OFFICIAL published PDF
24
+ # (reference-docs/cs/docs/b018-e25.pdf). The local presentation XML
25
+ # (data/oiml-b018-e25/ in the consumer) is numbered official−1 (its build
26
+ # drops the Introduction) — never cite it.
27
+ #
28
+ # This file is the single source of truth; the consumer's
29
+ # data/oiml-cs/framework/participants.yaml is its GENERATED YAML twin
30
+ # (cd browser && npm run gen:data; schema data/schemas/framework-participants.yaml).
31
+ # Cross-references (organ ids from governance, declaration kinds, the
32
+ # designated_by/becomes kind edges) are checked package-side by the
33
+ # kernel's C120 framework-references-resolve; the consumer's linker R25
34
+ # still guards the regenerated YAML.
35
+ participant_kind issuing_authority {
36
+ label "OIML Issuing Authority"
37
+ term "3.28"
38
+ clause "5.2"
39
+ definition "Certification body or inspection body from an OIML Member State approved by the Management Committee to issue OIML certificates and associated OIML type evaluation reports in accordance with Scheme A or Scheme B."
40
+ member member_state
41
+ competence {
42
+ delegates_to iso-iec-17065
43
+ clause "5.2"
44
+ note "Compliance with ISO/IEC 17065 (B 18:2025, §5.2) — the competence model itself lives in the iso-iec-17065 package; the method of DEMONSTRATING compliance differs per Scheme (framework/schemes.yaml, §5.4)."
45
+ }
46
+ approval {
47
+ decided_by management_committee
48
+ on_recommendation_of review_committee
49
+ procedure "PD-03"
50
+ clause "11.5 f)"
51
+ }
52
+ declaration issuing_authority_declaration
53
+ source {
54
+ doc "urn:oiml:pub:b:18:2025"
55
+ clause "5.2"
56
+ }
57
+ }
58
+
59
+ participant_kind test_laboratory {
60
+ label "Test Laboratory"
61
+ term "3.40"
62
+ clause "5.3"
63
+ definition "Laboratory that performs some or all of the tests of an OIML type evaluation, designated by an OIML Issuing Authority and approved by the Management Committee. The OIML Issuing Authority — never the Test Laboratory — issues the OIML type evaluation report (3.40 Note 3)."
64
+ competence {
65
+ delegates_to iso-iec-17025
66
+ clause "5.3"
67
+ note "Compliance with ISO/IEC 17025 (B 18:2025, §5.3) — the competence model itself lives in the iso-iec-17025 package."
68
+ }
69
+ approval {
70
+ decided_by management_committee
71
+ on_recommendation_of review_committee
72
+ procedure "PD-04"
73
+ clause "11.5 f)"
74
+ }
75
+ designated_by issuing_authority
76
+ subkind internal {
77
+ label "Internal Test Laboratory"
78
+ term "3.15"
79
+ definition "Test Laboratory that is part of the same organization as the OIML Issuing Authority."
80
+ }
81
+ subkind third_party {
82
+ label "Third-party Test Laboratory"
83
+ term "3.42"
84
+ definition "Test Laboratory that is designated by an OIML Issuing Authority, and registered in the Declaration, and which is independent from the OIML Issuing Authority."
85
+ }
86
+ subkind manufacturer {
87
+ label "Manufacturer's Test Laboratory (MTL)"
88
+ term "3.21"
89
+ definition "Test Laboratory that is part of the manufacturer's organization, testing for its parent company under controlled supervision (PD-04, 7.1); when testing for other parties it is treated as a third-party Test Laboratory."
90
+ data_flag "Test data originating from a Manufacturer's Test Laboratory shall be flagged as such on the OIML type evaluation report (PD-05)."
91
+ acceptance voluntary
92
+ acceptance_note "Acceptance of certificates/reports issued on the basis of MTL test reports is voluntary: each Utilizer and Associate declares whether it accepts them (B 18:2025, §5.6.3; PD-06). The MTL acceptance policy is a Declaration content slot (framework/declarations.yaml)."
93
+ }
94
+ source {
95
+ doc "urn:oiml:pub:b:18:2025"
96
+ clause "5.3"
97
+ }
98
+ }
99
+
100
+ participant_kind utilizer {
101
+ label "Utilizer"
102
+ term "3.45"
103
+ clause "5.6.1"
104
+ definition "National issuing authority or national responsible body from an OIML Member State that signs a Declaration indicating its scope of acceptance of OIML certificates and/or OIML type evaluation reports issued under Scheme A and/or Scheme B."
105
+ member member_state
106
+ declaration utilizer_declaration
107
+ admission "PD-09"
108
+ source {
109
+ doc "urn:oiml:pub:b:18:2025"
110
+ clause "5.6.1"
111
+ }
112
+ }
113
+
114
+ participant_kind associate {
115
+ label "Associate"
116
+ term "3.4"
117
+ clause "5.6.2"
118
+ definition "National issuing authority or national responsible body from an OIML Corresponding Member that signs a Declaration indicating its scope of acceptance of OIML certificates and/or OIML type evaluation reports issued under Scheme A and/or Scheme B."
119
+ member corresponding_member
120
+ declaration associate_declaration
121
+ admission "PD-09"
122
+ source {
123
+ doc "urn:oiml:pub:b:18:2025"
124
+ clause "5.6.2"
125
+ }
126
+ }
127
+
128
+ participant_kind applicant {
129
+ label "Applicant"
130
+ term "3.3"
131
+ clause "1.4"
132
+ definition "Manufacturer and/or authorized representative that applies for OIML type evaluation to an OIML Issuing Authority; the applicant becomes the owner of the OIML certificate on issuance (PD-05 §4.6.6)."
133
+ becomes certificate_owner
134
+ source {
135
+ doc "urn:oiml:pub:b:18:2025"
136
+ clause "3.3"
137
+ }
138
+ }
139
+
140
+ participant_kind certificate_owner {
141
+ label "OIML certificate owner"
142
+ clause "15.8"
143
+ definition "Holder of an OIML certificate — on issuance the applicant becomes the owner of the OIML certificate (3.3 Note); the certificate, the type evaluation report and the test report(s) are delivered to the applicant on issuance (PD-05 §4.6.6)."
144
+ source {
145
+ doc "urn:oiml:pub:b:18:2025"
146
+ clause "3.3"
147
+ }
148
+ }
149
+
150
+ participant_kind user {
151
+ label "User"
152
+ term "3.44"
153
+ clause "15.11"
154
+ definition "Any organization, other than a Utilizer or an Associate, that accepts and uses OIML certificates and/or OIML type evaluation reports."
155
+ source {
156
+ doc "urn:oiml:pub:b:18:2025"
157
+ clause "3.44"
158
+ }
159
+ }
160
+
161
+ participant_kind legal_metrology_expert {
162
+ label "Legal Metrology Expert"
163
+ term "3.16"
164
+ clause "11.5 i)"
165
+ definition "Expert approved by the Management Committee for the assessment of OIML Issuing Authorities and Test Laboratories (peer evaluations and peer assessments); the approval procedures are specified in PD-02."
166
+ approved_by management_committee
167
+ procedure "PD-02"
168
+ source {
169
+ doc "urn:oiml:pub:b:18:2025"
170
+ clause "3.16"
171
+ }
172
+ }
173
+
174
+ participant_kind management_system_expert {
175
+ label "Management System Expert"
176
+ term "3.19"
177
+ clause "11.5 i)"
178
+ definition "Person, approved by the Management Committee, who has overall responsibility for leading a peer assessment — the team-leader role (PD-02: \"Management System Experts (Team Leaders)\"); the approval procedures are specified in PD-02."
179
+ approved_by management_committee
180
+ procedure "PD-02"
181
+ source {
182
+ doc "urn:oiml:pub:b:18:2025"
183
+ clause "3.19"
184
+ }
185
+ }
186
+
187
+ governance_organ ciml {
188
+ label "International Committee of Legal Metrology (CIML)"
189
+ clause "9"
190
+ mandate "Appoints the MC Chairperson and Deputy Chairperson and the BoA Chairperson and members; approves B 18 revisions; decides all scheme-composition questions: inclusion of new categories, moves of a category from Scheme A back to Scheme B, extension or reduction of the two-year transition period, and withdrawal of earlier Recommendation editions."
191
+ source {
192
+ doc "urn:oiml:pub:b:18:2025"
193
+ clause "9"
194
+ }
195
+ }
196
+
197
+ governance_organ management_committee {
198
+ label "Management Committee (MC)"
199
+ term "3.17"
200
+ clause "11"
201
+ mandate "Manages the OIML-CS: decides the participation (approval, re-approval, suspension) of OIML Issuing Authorities and Test Laboratories (11.5 f), conducts periodic continuity reviews (11.5 g), appoints the Review Committee Chairperson (11.5 h), approves the Legal Metrology Expert and Management System Expert lists (11.5 i), and owns the OIML-CS rules, procedures and guidance (11.5 k–l)."
202
+ source {
203
+ doc "urn:oiml:pub:b:18:2025"
204
+ clause "11"
205
+ }
206
+ }
207
+
208
+ governance_organ review_committee {
209
+ label "Review Committee (RC)"
210
+ term "3.35"
211
+ clause "11.6"
212
+ mandate "Sub-committee of the Management Committee: reviews the documentation of candidate and existing OIML Issuing Authorities and Test Laboratories and recommends their acceptance or continuation to the MC; validates Legal Metrology Experts and Management System Experts; recommends on complaints."
213
+ sub_committee_of management_committee
214
+ source {
215
+ doc "urn:oiml:pub:b:18:2025"
216
+ clause "11.6"
217
+ }
218
+ }
219
+
220
+ governance_organ test_laboratories_forum {
221
+ label "Test Laboratories Forum (TLF)"
222
+ term "3.41"
223
+ clause "12"
224
+ mandate "Advisory platform of one representative per Test Laboratory (including Manufacturer's Test Laboratories) plus the Executive Secretary: practical questions on testing and the standards of clause 7, reproducibility of test results, best-practice papers and Recommendation amendment proposals, and the development of inter-laboratory comparison programs (12.2)."
225
+ source {
226
+ doc "urn:oiml:pub:b:18:2025"
227
+ clause "12"
228
+ }
229
+ }
230
+
231
+ governance_organ board_of_appeal {
232
+ label "Board of Appeal (BoA)"
233
+ term "3.5"
234
+ clause "13"
235
+ mandate "Appeals committee independent of the Management Committee (Chair and four members, all appointed by the CIML): manages appeals against MC decisions relating to participation and to experts, and recommends on disputes (13.2)."
236
+ independent_of management_committee
237
+ source {
238
+ doc "urn:oiml:pub:b:18:2025"
239
+ clause "13"
240
+ }
241
+ }
242
+
243
+ governance_organ biml {
244
+ label "International Bureau of Legal Metrology (BIML)"
245
+ clause "10"
246
+ mandate "Secretariat of the OIML-CS (10.1): registers and publishes OIML certificates, collects registration fees, maintains the OIML-CS pages of the OIML website, and maintains the lists of OIML Issuing Authorities, Utilizers and Associates (5.1.4) and of the instrument categories in the OIML-CS (4.5)."
247
+ source {
248
+ doc "urn:oiml:pub:b:18:2025"
249
+ clause "10"
250
+ }
251
+ }
252
+
253
+ governance_organ executive_secretary {
254
+ label "Executive Secretary"
255
+ term "3.11"
256
+ clause "10.2"
257
+ mandate "BIML staff member appointed by the BIML Director: day-to-day operation of the OIML-CS under MC direction — processes IA/TL applications, advises on peer (re)assessments, maintains the IA/TL records and the MC/TLF records and expert lists, and monitors the Declarations (10.2 a–j)."
258
+ source {
259
+ doc "urn:oiml:pub:b:18:2025"
260
+ clause "10.2"
261
+ }
262
+ }
263
+
@@ -0,0 +1,108 @@
1
+ # OIML-CS FRAMEWORK — THE TWO-SCHEME ARCHITECTURE + CATEGORY LIFECYCLE
2
+ # -----------------------------------------------------------------------------
3
+ # Scheme A vs Scheme B (B 18:2025, 3.37/3.38, §5.4) and the per-category
4
+ # scheme LIFECYCLE as an operational state machine (TODO.roadmap/40, using
5
+ # the task-07 machinery): automatic Scheme B participation on inclusion
6
+ # (§15.1, conditions of §4.2) → automatic transition to Scheme A two years
7
+ # after inclusion (§15.2), with the MC-proposed/CIML-decided variations
8
+ # (shorter §15.2, deferred §15.3, reversed §15.7).
9
+ #
10
+ # The competence REQUIREMENTS are identical in both Schemes (IA → ISO/IEC
11
+ # 17065, TL → ISO/IEC 17025 — framework/participants.prl); only the method
12
+ # of DEMONSTRATING compliance differs (§5.4): self-declaration (Scheme B,
13
+ # §5.4.2) vs peer evaluation on the basis of accreditation or peer
14
+ # assessment (Scheme A, §5.4.3; approval processes in PD-03/PD-04).
15
+ #
16
+ # Scheme membership attaches to the instrument CATEGORY (§4.3), not to the
17
+ # system as a whole — the lifecycle machine below runs per category: one
18
+ # machine instance per instrument category in the OIML-CS, ENTERING at
19
+ # SCHEME_B (§15.1/§4.3); transitions carry their deciding organ and the
20
+ # two-year timer is declared once, bound to the transition_period_elapsed
21
+ # action. The timer trigger is proven by the consumer's seeded test
22
+ # (browser/src/__tests__/cs-framework.test.ts); the trigger calculus lives
23
+ # in browser/src/data/framework.ts (one home, pure functions).
24
+ #
25
+ # Numbering: official published PDF (reference-docs/cs/docs/b018-e25.pdf);
26
+ # the local presentation XML is numbered official−1 — never cite it.
27
+ #
28
+ # This file is the single source of truth; the consumer's
29
+ # data/oiml-cs/framework/schemes.yaml is its GENERATED YAML twin
30
+ # (cd browser && npm run gen:data; schema data/schemas/framework-schemes.yaml).
31
+ # Cross-references (the transitions' decided_by organs, the trigger
32
+ # actions, the entry's conditions_ref) are checked package-side by the
33
+ # kernel's C120 framework-references-resolve; the consumer's linker R25
34
+ # still guards the regenerated YAML.
35
+ scheme_definition scheme_b {
36
+ label "Scheme B"
37
+ term "3.38"
38
+ clause "5.4.2"
39
+ definition "Introductory level of the OIML-CS where a self-declaration is used as the basis for demonstrating compliance."
40
+ demonstration {
41
+ method self_declaration
42
+ clause "5.4.2.1"
43
+ note "Self-declaration with additional supporting evidence (§5.4.2.1); the Scheme B application and approval process for IAs is specified in PD-03, for TLs in PD-04 (§5.4.1.1)."
44
+ }
45
+ source {
46
+ doc "urn:oiml:pub:b:18:2025"
47
+ clause "3.38"
48
+ }
49
+ }
50
+
51
+ scheme_definition scheme_a {
52
+ label "Scheme A"
53
+ term "3.37"
54
+ clause "5.4.3"
55
+ definition "Advanced level of the OIML-CS where accreditation or peer assessment is used as the basis for demonstrating compliance."
56
+ demonstration {
57
+ method peer_evaluation
58
+ clause "5.4.3.1"
59
+ basis { accreditation peer_assessment }
60
+ note "Compliance demonstrated by peer evaluation on the basis of an accreditation assessment or a peer assessment (§5.4.3.1). The accreditation route requires an Accreditation Body participating in a mutual recognition arrangement (IAF MLA for IAs, §5.4.3.2.1; ILAC MRA for TLs, §5.4.3.3.1 — with the 2025 footnote: IAF and ILAC are being replaced by the Global Accreditation Cooperation Incorporated, transition provisionally January 2026); assessment team requirements are specified in PD-03 (IAs, §5.4.3.2.2) and PD-04 (TLs, §5.4.3.3.2), and for peer assessment in PD-03 + PD-04 (§5.4.3.4.1)."
61
+ }
62
+ source {
63
+ doc "urn:oiml:pub:b:18:2025"
64
+ clause "3.37"
65
+ }
66
+ }
67
+
68
+ scheme_lifecycle category_scheme {
69
+ applies_to instrument_category
70
+ initial SCHEME_B
71
+ entry {
72
+ action category_included
73
+ automatic true
74
+ clause "15.1"
75
+ conditions_ref auto_inclusion
76
+ description "A category of measuring instrument covered by a new or existing OIML Recommendation is automatically included in the OIML-CS in Scheme B when the conditions of §4.2 are met (§15.1); the initial placement in Scheme B is §4.3."
77
+ }
78
+ transition SCHEME_B -> SCHEME_A action transition_period_elapsed {
79
+ clause "15.2"
80
+ description "Two years after inclusion in the OIML-CS, the category automatically transitions to Scheme A (§15.2) — the timer-driven transition."
81
+ }
82
+ transition SCHEME_B -> SCHEME_A action transition_advanced {
83
+ clause "15.2"
84
+ decided_by ciml
85
+ on_proposal_of management_committee
86
+ description "The Management Committee may propose to the CIML that a category transitions to Scheme A in a time period of less than two years (§15.2, second sentence; CIML decides, §9 e)."
87
+ }
88
+ transition SCHEME_A -> SCHEME_B action moved_to_scheme_b {
89
+ clause "15.7"
90
+ decided_by ciml
91
+ on_proposal_of management_committee
92
+ description "It may be proposed by the Management Committee and decided by the CIML to move a category of measuring instrument from Scheme A back to Scheme B (§15.7; §9 e)."
93
+ }
94
+ trigger two-year-transition {
95
+ kind timer
96
+ action transition_period_elapsed
97
+ window { years 2 }
98
+ clause "15.2"
99
+ deferrable true
100
+ deferral_note "The Management Committee may propose to the CIML that a category does not automatically transition after two years (§15.3 — e.g. suitable experts for assessments not yet available); a granted deferral extends this timer's window per the CIML decision (§9 e iii)."
101
+ description "The two-year Scheme-B window opened by the category's inclusion: when it elapses, transition_period_elapsed fires and the category moves to Scheme A automatically (§15.2)."
102
+ }
103
+ source {
104
+ doc "urn:oiml:pub:b:18:2025"
105
+ clause "15"
106
+ }
107
+ }
108
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oimlsmart/primmel-packages",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "The OIML SMART platform's authoritative model content: every Recommendation, the OIML-CS scheme, the CASCO foundations, the shared modules, and the product/program reference packages as Primmel (.prl) packages — the single source of truth the platform's data trees regenerate from. Consumed by the smart monorepo (oimlsmart/smart) at a pinned version (TODO.repos/02).",
5
5
  "type": "module",
6
6
  "repository": {
@@ -12,6 +12,6 @@
12
12
  },
13
13
  "license": "MIT",
14
14
  "devDependencies": {
15
- "@primmel/primmel": "^1.10.0"
15
+ "@primmel/primmel": "^1.11.1"
16
16
  }
17
17
  }