@oimlsmart/primmel-packages 0.5.0 → 0.7.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.
Files changed (32) hide show
  1. package/oiml-cs/execution/test-report-checklist.prl +134 -0
  2. package/oiml-cs/framework/documents.prl +2 -2
  3. package/oiml-cs/package.primmel +1 -1
  4. package/oiml-r129/.primmel-allowlist.prl +30 -0
  5. package/oiml-r129/evaluation/approvals.prl +48 -0
  6. package/oiml-r129/evaluation/gateways.prl +31 -0
  7. package/oiml-r129/evaluation/processes.prl +205 -24
  8. package/oiml-r129/evaluation/workflow.prl +25 -15
  9. package/oiml-r129/execution/test-report-checklist.prl +20 -0
  10. package/oiml-r129/package.primmel +1 -1
  11. package/oiml-r144/.primmel-allowlist.prl +36 -0
  12. package/oiml-r144/evaluation/approvals.prl +48 -0
  13. package/oiml-r144/evaluation/gateways.prl +36 -0
  14. package/oiml-r144/evaluation/processes.prl +205 -24
  15. package/oiml-r144/evaluation/workflow.prl +25 -15
  16. package/oiml-r144/execution/test-report-checklist.prl +20 -0
  17. package/oiml-r144/package.primmel +1 -1
  18. package/oiml-r60/.primmel-allowlist.prl +42 -0
  19. package/oiml-r60/evaluation/approvals.prl +48 -0
  20. package/oiml-r60/evaluation/gateways.prl +30 -0
  21. package/oiml-r60/evaluation/processes.prl +205 -24
  22. package/oiml-r60/evaluation/workflow.prl +25 -15
  23. package/oiml-r60/execution/test-report-checklist.prl +20 -0
  24. package/oiml-r60/package.primmel +1 -1
  25. package/oiml-r91/.primmel-allowlist.prl +42 -0
  26. package/oiml-r91/evaluation/approvals.prl +48 -0
  27. package/oiml-r91/evaluation/gateways.prl +34 -0
  28. package/oiml-r91/evaluation/processes.prl +205 -24
  29. package/oiml-r91/evaluation/workflow.prl +25 -15
  30. package/oiml-r91/execution/test-report-checklist.prl +23 -0
  31. package/oiml-r91/package.primmel +1 -1
  32. package/package.json +2 -2
@@ -1,48 +1,58 @@
1
1
  process application {
2
- note "phase: intake"
2
+ name "Type Evaluation Application"
3
+ summary "Applicant (manufacturer, distributor, or end user) submits Application declaring the instrument model family, the requested scope (matrix of model-family members per the Recommendation's specimen-selection rules), requested ANR countries, scheme (A/B), and supporting documentation."
3
4
  actor applicant
4
- description "Applicant (manufacturer, distributor, or end user) submits Application declaring the instrument model family, the requested scope (matrix of model-family members per the Recommendation's specimen-selection rules), requested ANR countries, scheme (A/B), and supporting documentation."
5
- validate_provision { applicant_info model_family_matrix documentation }
5
+ phase intake
6
6
  guard "Application.status = SUBMITTED"
7
7
  guard "Application.model_family_id is not null OR Application.model_ids.length >= 1"
8
+ validate_provision { applicant_info model_family_matrix documentation }
9
+ output { Application }
8
10
  }
9
11
 
10
12
  process test-request-dispatch {
11
- note "phase: dispatch"
13
+ name "Test request dispatch"
14
+ summary "IA selects one or more Test Laboratories (by accreditation scope, equipment capability, capacity) and issues a TestRequest to each, specifying which samples are shipped, which of the Recommendation's Test Report Forms the lab must complete, and the test conditions."
12
15
  actor issuing-authority
13
- description "IA selects one or more Test Laboratories (by accreditation scope, equipment capability, capacity) and issues a TestRequest to each, specifying which samples are shipped, which of the Recommendation's Test Report Forms the lab must complete, and the test conditions."
14
- validate_provision { Application MeasuringInstrumentSample TestLaboratory }
16
+ phase dispatch
15
17
  guard "Each TestRequest references >= 1 MeasuringInstrumentSample"
16
18
  guard "Each TestRequest.required_forms subset of R 91-3 form identifiers"
17
19
  guard "TestRequest.assigned_laboratory_id is accredited for the requested accuracy classes"
20
+ validate_provision { Application MeasuringInstrumentSample TestLaboratory }
21
+ output { TestRequest }
18
22
  }
19
23
 
20
24
  process test-performance {
21
- note "phase: testing"
25
+ name "Test performance and report"
26
+ summary "Test Lab accepts the TestRequest (which implies physical sample receipt), performs the tests per the Recommendation's test procedures, fills in the required Test Report Forms (one FormInstance per sample per form), and issues a TestReport that bundles all FormInstances."
22
27
  actor test-laboratory
23
- description "Test Lab accepts the TestRequest (which implies physical sample receipt), performs the tests per the Recommendation's test procedures, fills in the required Test Report Forms (one FormInstance per sample per form), and issues a TestReport that bundles all FormInstances."
24
- validate_provision { TestRequest MeasuringInstrumentSample }
28
+ phase testing
25
29
  guard "TestReport.test_request_id references the TestRequest"
26
30
  guard "TestReport contains one FormInstance per (requiredForm × sample) pair"
27
31
  guard "TestReport.status = SUBMITTED"
32
+ validate_provision { TestRequest MeasuringInstrumentSample }
33
+ output { "TestReport containing FormInstance" }
28
34
  }
29
35
 
30
36
  process evaluation {
31
- note "phase: evaluation"
37
+ name "Evaluation and determination"
38
+ summary "IA staff review every submitted TestReport. For each TestReport, a TestReportDetermination is recorded (ACCEPTED / REJECTED / CONDITIONALLY_ACCEPTED). For each FormInstance, a FormDetermination is recorded. The aggregate of all TestReportDeterminations determines the EvaluationReport overall_decision. Finalization requires every TestReport in test_report_ids[] to have a corresponding determination."
32
39
  actor issuing-authority
33
- description "IA staff review every submitted TestReport. For each TestReport, a TestReportDetermination is recorded (ACCEPTED / REJECTED / CONDITIONALLY_ACCEPTED). For each FormInstance, a FormDetermination is recorded. The aggregate of all TestReportDeterminations determines the EvaluationReport overall_decision. Finalization requires every TestReport in test_report_ids[] to have a corresponding determination."
34
- validate_provision { TestReport FormInstance }
40
+ phase evaluation
35
41
  guard "All TestReport entries in test_report_ids[] have a TestReportDetermination"
36
42
  guard "EvaluationReport.status = ALL_TR_REVIEWED before finalization"
37
43
  guard "overall_decision derivable from test_report_determinations[]"
44
+ validate_provision { TestReport FormInstance }
45
+ output { "EvaluationReport containing FormDetermination" TestReportDetermination }
38
46
  }
39
47
 
40
48
  process certificate-issuance {
41
- note "phase: issuance"
49
+ name "OIML Certificate of Conformity"
50
+ summary "If EvaluationReport.overall_decision = APPROVED, IA issues a Certificate whose scope covers the original Application's matrix. BIML registers the certificate."
42
51
  actor issuing-authority
43
- description "If EvaluationReport.overall_decision = APPROVED, IA issues a Certificate whose scope covers the original Application's matrix. BIML registers the certificate."
44
- validate_provision { EvaluationReport Application.model_family_id }
52
+ phase issuance
45
53
  guard "EvaluationReport.overall_decision = APPROVED"
46
54
  guard "Certificate.scope matches Application scope (model family + approved members)"
55
+ validate_provision { EvaluationReport Application.model_family_id }
56
+ output { Certificate }
47
57
  }
48
58
 
@@ -0,0 +1,23 @@
1
+ # OIML R 91 — OVERLAY on the OIML-CS test-report checklist (TODO.roadmap/13/15
2
+ # + TODO.roadmap/19). The R 91-bound source strings of the four checklist
3
+ # entries that name rec forms. R 91-3 form ids land in phase 2 — no
4
+ # form_contains() validation is resolvable yet, so these entries carry prose
5
+ # sources naming the R 91-3 report sections (never R 60/R 129 form ids — the
6
+ # residue burn of task 19). Kernel-native overlay (overlay true): NOT a
7
+ # standalone definition — the composer merges these scalars onto the oiml-cs
8
+ # base register at load time.
9
+ test_report_checklist oiml-cs-trf {
10
+ overlay true
11
+ entry sample_identification {
12
+ source "test_report sample block → MeasuringInstrumentSample serial numbers (R 91-4 sample identification; R 91-3 form ids land in phase 2 — no form reference is resolvable yet)"
13
+ }
14
+ entry test_facility {
15
+ source "R 91-3 'Information concerning the test equipment used for type evaluation' section (equipment table: name/manufacturer/type/serial/test references — form id lands in phase 2)"
16
+ }
17
+ entry instrument_setup {
18
+ source "R 91-3 instrument identification form (form ids land in phase 2 — TODO.refactor/13)"
19
+ }
20
+ entry adjustments {
21
+ source "R 91-3 'Adjustments or modifications' section (authorized adjustments/modifications to the sample during evaluation, R 91-1, 8.1.2 — form id lands in phase 2)"
22
+ }
23
+ }
@@ -6,7 +6,7 @@ package {
6
6
  editions { 2025 1990 }
7
7
  baseUrn "urn:oiml:pub:r:91:2025"
8
8
  uses { iso-iec-17000 iso-iec-17065 iso-iec-17025 iso-iec-17067 oiml-cs oiml-smart-core oiml-smart-module-specimen-governance }
9
- requires { core subject-chain-entities party-entities workflow-entities evaluation-skeleton iso-iec-17000 ca-terminology-17000 iso-iec-17025 lab-requirements-17025 ca-terminology-17025 iso-iec-17065 cb-requirements-17065 ca-terminology-17065 iso-iec-17067 scheme-content-requirements-17067 ca-terminology-17067 oiml-cs cs-process-requirements cs-abstract-processes cs-certificate-requirements cs-framework-participants cs-framework-schemes cs-framework-declarations cs-framework-documents cs-framework-governance cs-document-pd-03 cs-document-pd-04 cs-document-pd-02 cs-document-pd-01 cs-document-pd-06 cs-document-pd-07 cs-document-pd-08 cs-document-pd-09 cs-document-cid-01 cs-document-od-01 cs-document-od-02 sample-selection-rules eut-continuity-contract test-execution-entities }
9
+ requires { core subject-chain-entities party-entities workflow-entities evaluation-skeleton iso-iec-17000 ca-terminology-17000 iso-iec-17025 lab-requirements-17025 ca-terminology-17025 iso-iec-17065 cb-requirements-17065 ca-terminology-17065 iso-iec-17067 scheme-content-requirements-17067 ca-terminology-17067 oiml-cs cs-process-requirements cs-abstract-processes cs-trf-checklist cs-certificate-requirements cs-framework-participants cs-framework-schemes cs-framework-declarations cs-framework-documents cs-framework-governance cs-document-pd-03 cs-document-pd-04 cs-document-pd-02 cs-document-pd-01 cs-document-pd-06 cs-document-pd-07 cs-document-pd-08 cs-document-pd-09 cs-document-cid-01 cs-document-od-01 cs-document-od-02 sample-selection-rules eut-continuity-contract test-execution-entities }
10
10
  status preview
11
11
  default_spelling eng-Latn
12
12
  description "Traffic speed meters — metrological and technical requirements, test procedures, test report format, and type evaluation report format for speed enforcement instruments (preview edition 2025)."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oimlsmart/primmel-packages",
3
- "version": "0.5.0",
3
+ "version": "0.7.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.13.0"
15
+ "@primmel/primmel": "^1.17.0"
16
16
  }
17
17
  }