@oimlsmart/primmel-packages 0.1.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/AGENTS.md +60 -0
- package/LICENSE +21 -0
- package/README.md +68 -0
- package/acme-cgm-200/model/cgm200.prl +284 -0
- package/acme-cgm-200/model/r144-map.prl +337 -0
- package/acme-cgm-200/package.primmel +39 -0
- package/acme-cgm-system/model/cgm-system.prl +125 -0
- package/acme-cgm-system/model/r144-map.prl +75 -0
- package/acme-cgm-system/model/sample-line.prl +42 -0
- package/acme-cgm-system/package.primmel +23 -0
- package/acme-lc500/model/lc500.prl +218 -0
- package/acme-lc500/model/passport.prl +43 -0
- package/acme-lc500/model/r60-map.prl +161 -0
- package/acme-lc500/model/twin-cert-map.prl +114 -0
- package/acme-lc500/package.primmel +35 -0
- package/acme-md3xx/model/md350.prl +317 -0
- package/acme-md3xx/model/r129-map.prl +346 -0
- package/acme-md3xx/package.primmel +49 -0
- package/acme-rs180/model/r91-map.prl +234 -0
- package/acme-rs180/model/rs180.prl +236 -0
- package/acme-rs180/package.primmel +47 -0
- package/ims-demo/model/ims.prl +23 -0
- package/ims-demo/model/isms-map.prl +60 -0
- package/ims-demo/model/qms-map.prl +73 -0
- package/ims-demo/package.primmel +42 -0
- package/isms-ref/model/isms.prl +34 -0
- package/isms-ref/package.primmel +35 -0
- package/iso-iec-17000/package.primmel +8 -0
- package/iso-iec-17000/terminology.prl +268 -0
- package/iso-iec-17025/package.primmel +10 -0
- package/iso-iec-17025/specification/requirements/lab.prl +474 -0
- package/iso-iec-17025/terminology.prl +72 -0
- package/iso-iec-17065/package.primmel +10 -0
- package/iso-iec-17065/specification/requirements/body.prl +446 -0
- package/iso-iec-17065/terminology.prl +103 -0
- package/iso-iec-17067/package.primmel +10 -0
- package/iso-iec-17067/specification/requirements/scheme-content.prl +300 -0
- package/iso-iec-17067/terminology.prl +24 -0
- package/oiml-cs/package.primmel +10 -0
- package/oiml-cs/specification/discrepancies.prl +26 -0
- package/oiml-cs/specification/requirements/cs.prl +515 -0
- package/oiml-cs-dataspace/.primmel-allowlist.prl +25 -0
- package/oiml-cs-dataspace/package.primmel +9 -0
- package/oiml-cs-dataspace/specification/dataspace.prl +73 -0
- package/oiml-cs-dataspace/specification/policies.prl +68 -0
- package/oiml-integrated-ref/model/probe-pairing.prl +71 -0
- package/oiml-integrated-ref/package.primmel +10 -0
- package/oiml-r129/.primmel-allowlist.prl +2 -0
- package/oiml-r129/evaluation/processes.prl +152 -0
- package/oiml-r129/evaluation/workflow.prl +48 -0
- package/oiml-r129/execution/forms/admin/adjustments-modifications.prl +30 -0
- package/oiml-r129/execution/forms/admin/checklist.prl +70 -0
- package/oiml-r129/execution/forms/admin/configuration.prl +31 -0
- package/oiml-r129/execution/forms/admin/equipment-info.prl +27 -0
- package/oiml-r129/execution/forms/admin/general-info.prl +63 -0
- package/oiml-r129/execution/forms/admin/identification.prl +49 -0
- package/oiml-r129/execution/forms/admin/sample-selection.prl +30 -0
- package/oiml-r129/execution/forms/admin/summary-results.prl +50 -0
- package/oiml-r129/execution/forms/emc/bursts.prl +88 -0
- package/oiml-r129/execution/forms/emc/esd.prl +66 -0
- package/oiml-r129/execution/forms/emc/low-voltage-battery.prl +58 -0
- package/oiml-r129/execution/forms/emc/rf-immunity-conducted.prl +59 -0
- package/oiml-r129/execution/forms/emc/rf-immunity-radiated.prl +59 -0
- package/oiml-r129/execution/forms/emc/surge.prl +61 -0
- package/oiml-r129/execution/forms/emc/voltage-dips.prl +62 -0
- package/oiml-r129/execution/forms/emc/voltage-variation.prl +58 -0
- package/oiml-r129/execution/forms/env/damp-heat-cyclic.prl +43 -0
- package/oiml-r129/execution/forms/env/damp-heat-steady.prl +50 -0
- package/oiml-r129/execution/forms/env/static-temperatures.prl +61 -0
- package/oiml-r129/execution/forms/shared/headers.prl +86 -0
- package/oiml-r129/execution/forms/tests/acoustics.prl +44 -0
- package/oiml-r129/execution/forms/tests/ambient-light.prl +46 -0
- package/oiml-r129/execution/forms/tests/construction-examination.prl +46 -0
- package/oiml-r129/execution/forms/tests/examination-checklist.prl +51 -0
- package/oiml-r129/execution/forms/tests/object-shape.prl +43 -0
- package/oiml-r129/execution/forms/tests/orientation-position.prl +31 -0
- package/oiml-r129/execution/forms/tests/repeatability.prl +65 -0
- package/oiml-r129/execution/forms/tests/speed-movement.prl +59 -0
- package/oiml-r129/execution/forms/tests/surface-characteristics.prl +44 -0
- package/oiml-r129/execution/forms/tests/warm-up-time.prl +35 -0
- package/oiml-r129/execution/subforms/dimension-measurement.prl +93 -0
- package/oiml-r129/layers.prl +50 -0
- package/oiml-r129/model/attributes.prl +243 -0
- package/oiml-r129/model/behaviors.prl +79 -0
- package/oiml-r129/model/capabilities.prl +29 -0
- package/oiml-r129/model/characteristics.prl +8 -0
- package/oiml-r129/model/conditions.prl +23 -0
- package/oiml-r129/model/instrument.prl +67 -0
- package/oiml-r129/model/state.prl +22 -0
- package/oiml-r129/model/twin.prl +23 -0
- package/oiml-r129/package.primmel +15 -0
- package/oiml-r129/payload/application.yaml +40 -0
- package/oiml-r129/payload/conditions-common-test.yaml +8 -0
- package/oiml-r129/payload/formulas-variants.yaml +33 -0
- package/oiml-r129/payload/promises.yaml +102 -0
- package/oiml-r129/payload/sample-data.yaml +300 -0
- package/oiml-r129/references.prl +306 -0
- package/oiml-r129/sources-prd/coverage.json +59 -0
- package/oiml-r129/sources-prd/r129-1.sentences.json +4238 -0
- package/oiml-r129/sources-prd/r129-2.sentences.json +1139 -0
- package/oiml-r129/sources-prd/r129-3.sentences.json +3809 -0
- package/oiml-r129/sources-prd/r129-4.sentences.json +1227 -0
- package/oiml-r129/specification/calculations.prl +83 -0
- package/oiml-r129/specification/conformance/disturbance-tests.prl +212 -0
- package/oiml-r129/specification/conformance/effect-tests.prl +70 -0
- package/oiml-r129/specification/conformance/examinations.prl +83 -0
- package/oiml-r129/specification/conformance/metrological-tests.prl +178 -0
- package/oiml-r129/specification/formulas.prl +9 -0
- package/oiml-r129/specification/requirements/electronic.prl +46 -0
- package/oiml-r129/specification/requirements/metrological.prl +83 -0
- package/oiml-r129/specification/requirements/object-limitations.prl +99 -0
- package/oiml-r129/specification/requirements/software.prl +57 -0
- package/oiml-r129/specification/requirements/technical.prl +134 -0
- package/oiml-r129/specification/symbols.prl +187 -0
- package/oiml-r129/specification/tables.prl +74 -0
- package/oiml-r129/terminology.prl +415 -0
- package/oiml-r129/value-types.prl +40 -0
- package/oiml-r144/.primmel-allowlist.prl +2 -0
- package/oiml-r144/entities/instrument.prl +360 -0
- package/oiml-r144/entities/test-execution.prl +228 -0
- package/oiml-r144/entities/workflow.prl +2075 -0
- package/oiml-r144/evaluation/processes.prl +152 -0
- package/oiml-r144/evaluation/workflow.prl +48 -0
- package/oiml-r144/execution/forms/sec-3-report/03-01-laboratory-info.prl +19 -0
- package/oiml-r144/execution/forms/sec-3-report/03-02-test-location.prl +14 -0
- package/oiml-r144/execution/forms/sec-3-report/03-03-manufacturer-info.prl +18 -0
- package/oiml-r144/execution/forms/sec-3-report/03-04-applicant-info.prl +19 -0
- package/oiml-r144/execution/forms/sec-3-report/03-05-type-identification.prl +80 -0
- package/oiml-r144/execution/forms/sec-3-report/03-06-type-composition.prl +31 -0
- package/oiml-r144/execution/forms/sec-3-report/03-07-visual-examination.prl +46 -0
- package/oiml-r144/execution/forms/sec-3-report/03-08-test-conclusions.prl +46 -0
- package/oiml-r144/execution/forms/sec-3-report/03-09-general-conclusion.prl +19 -0
- package/oiml-r144/execution/forms/sec-3-report/03-10-responsible-persons.prl +27 -0
- package/oiml-r144/execution/forms/sec-tests/ambient-pressure-test.prl +59 -0
- package/oiml-r144/execution/forms/sec-tests/bursts-mains-test.prl +52 -0
- package/oiml-r144/execution/forms/sec-tests/bursts-signal-test.prl +55 -0
- package/oiml-r144/execution/forms/sec-tests/cold-test.prl +48 -0
- package/oiml-r144/execution/forms/sec-tests/cross-sensitivity-test.prl +92 -0
- package/oiml-r144/execution/forms/sec-tests/damp-heat-test.prl +50 -0
- package/oiml-r144/execution/forms/sec-tests/documentation-examination.prl +52 -0
- package/oiml-r144/execution/forms/sec-tests/drift-test.prl +83 -0
- package/oiml-r144/execution/forms/sec-tests/dry-heat-test.prl +53 -0
- package/oiml-r144/execution/forms/sec-tests/error-determination.prl +37 -0
- package/oiml-r144/execution/forms/sec-tests/esd-test.prl +53 -0
- package/oiml-r144/execution/forms/sec-tests/flow-spillover-test.prl +83 -0
- package/oiml-r144/execution/forms/sec-tests/leakproofness-test.prl +41 -0
- package/oiml-r144/execution/forms/sec-tests/low-battery-test.prl +48 -0
- package/oiml-r144/execution/forms/sec-tests/power-reduction-test.prl +49 -0
- package/oiml-r144/execution/forms/sec-tests/power-supply-test.prl +57 -0
- package/oiml-r144/execution/forms/sec-tests/repeatability-test.prl +60 -0
- package/oiml-r144/execution/forms/sec-tests/response-time-test.prl +43 -0
- package/oiml-r144/execution/forms/sec-tests/rf-emf-test.prl +47 -0
- package/oiml-r144/execution/forms/sec-tests/shock-test.prl +50 -0
- package/oiml-r144/execution/forms/sec-tests/surge-test.prl +52 -0
- package/oiml-r144/execution/forms/sec-tests/vibration-test.prl +58 -0
- package/oiml-r144/execution/forms/sec-tests/warm-up-time-test.prl +69 -0
- package/oiml-r144/execution/forms/shared/headers.prl +132 -0
- package/oiml-r144/execution/subforms/cgm-point.prl +99 -0
- package/oiml-r144/layers.prl +44 -0
- package/oiml-r144/model/attributes.prl +679 -0
- package/oiml-r144/model/behaviors.prl +117 -0
- package/oiml-r144/model/capabilities.prl +99 -0
- package/oiml-r144/model/characteristics.prl +27 -0
- package/oiml-r144/model/conditions.prl +46 -0
- package/oiml-r144/model/instrument.prl +85 -0
- package/oiml-r144/model/state.prl +18 -0
- package/oiml-r144/model/twin.prl +25 -0
- package/oiml-r144/package.primmel +15 -0
- package/oiml-r144/payload/application.yaml +80 -0
- package/oiml-r144/payload/attributes-pair-list.yaml +18 -0
- package/oiml-r144/payload/conditions-common-test.yaml +74 -0
- package/oiml-r144/payload/formulas-variants.yaml +32 -0
- package/oiml-r144/payload/promises.yaml +118 -0
- package/oiml-r144/payload/sample-data.yaml +643 -0
- package/oiml-r144/references.prl +594 -0
- package/oiml-r144/sources-prd/coverage.json +114 -0
- package/oiml-r144/sources-prd/r144-1.sentences.json +2797 -0
- package/oiml-r144/sources-prd/r144-2.sentences.json +1627 -0
- package/oiml-r144/sources-prd/r144-3.sentences.json +838 -0
- package/oiml-r144/specification/calculations.prl +123 -0
- package/oiml-r144/specification/conformance/examination.prl +87 -0
- package/oiml-r144/specification/conformance/performance-tests.prl +755 -0
- package/oiml-r144/specification/formulas.prl +37 -0
- package/oiml-r144/specification/reference-materials.prl +87 -0
- package/oiml-r144/specification/requirements/controls.prl +51 -0
- package/oiml-r144/specification/requirements/metrological.prl +299 -0
- package/oiml-r144/specification/requirements/report.prl +35 -0
- package/oiml-r144/specification/requirements/technical.prl +455 -0
- package/oiml-r144/specification/symbols.prl +357 -0
- package/oiml-r144/specification/tables.prl +95 -0
- package/oiml-r144/specification/test-point-sets.prl +15 -0
- package/oiml-r144/terminology.prl +308 -0
- package/oiml-r144/value-types.prl +49 -0
- package/oiml-r60/.primmel-allowlist.prl +2 -0
- package/oiml-r60/entities/workflow.prl +2079 -0
- package/oiml-r60/evaluation/processes.prl +152 -0
- package/oiml-r60/evaluation/workflow.prl +48 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-01-authority-info.prl +76 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-02-synopsis.prl +20 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-01-examinations.prl +27 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-02-a-performance-general.prl +81 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-02-b-performance-digital.prl +104 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-01-manufacturer.prl +21 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-02-applicant.prl +44 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-03-testing-laboratories.prl +69 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-05-load-cell-type-info.prl +83 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-06-accessories.prl +41 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-07-sample-selection.prl +71 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-01-general-info.prl +103 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-02-performance-info.prl +66 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-03-digital-info.prl +35 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-04-photographs.prl +12 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-05-documentation.prl +27 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-06-inscriptions.prl +126 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-07-model-range.prl +143 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-12-previous-tests.prl +26 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-01-force-generating-system.prl +89 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-02-weights.prl +61 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-03-temperature-chamber.prl +96 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-04-climate-chamber.prl +96 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-05-indicator.prl +92 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-06-terminal.prl +86 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-07-barometric-pressure-meter.prl +62 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-08-thermometer.prl +62 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-09-moisture-analyser.prl +62 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-10-additional-test-equipment.prl +69 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-11-remarks.prl +11 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/test-usage-matrix.prl +85 -0
- package/oiml-r60/execution/forms/sec-5-examination/documentation-examination.prl +53 -0
- package/oiml-r60/execution/forms/sec-5-examination/marking-examination.prl +104 -0
- package/oiml-r60/execution/forms/sec-5-examination/software-examination.prl +86 -0
- package/oiml-r60/execution/forms/sec-5-examination/suitability-examination.prl +56 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/barometric-pressure.prl +176 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/bursts.prl +129 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/conducted-emc.prl +170 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/creep-dr.prl +327 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/emc-susceptibility.prl +115 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/esd.prl +224 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/humidity-ch.prl +300 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/humidity-sh.prl +235 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/initial-tests.prl +129 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/load-cell-errors.prl +280 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/load-test.prl +29 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/performance-test-summary.prl +82 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/power-voltage.prl +166 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/repeatability.prl +189 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/short-time-power.prl +98 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/span-stability.prl +242 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/surge.prl +142 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/temperature-mdlo.prl +180 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/warm-up-time.prl +207 -0
- package/oiml-r60/execution/forms/shared/headers.prl +255 -0
- package/oiml-r60/execution/subforms/load-test-row.prl +55 -0
- package/oiml-r60/execution/subforms/test-procedures.prl +33 -0
- package/oiml-r60/layers.prl +46 -0
- package/oiml-r60/model/attributes.prl +642 -0
- package/oiml-r60/model/behaviors.prl +165 -0
- package/oiml-r60/model/capabilities.prl +57 -0
- package/oiml-r60/model/characteristics.prl +27 -0
- package/oiml-r60/model/conditions.prl +50 -0
- package/oiml-r60/model/instrument.prl +96 -0
- package/oiml-r60/model/processes.prl +54 -0
- package/oiml-r60/model/state.prl +22 -0
- package/oiml-r60/model/twin.prl +16 -0
- package/oiml-r60/package.primmel +16 -0
- package/oiml-r60/payload/annexes-part4.yaml +122 -0
- package/oiml-r60/payload/application.yaml +83 -0
- package/oiml-r60/payload/conditions-common-test.yaml +121 -0
- package/oiml-r60/payload/formulas-variants.yaml +55 -0
- package/oiml-r60/payload/promises.yaml +224 -0
- package/oiml-r60/payload/sample-data.yaml +5025 -0
- package/oiml-r60/payload/symbols-formula-notes.yaml +21 -0
- package/oiml-r60/references.prl +549 -0
- package/oiml-r60/sources-prd/coverage.json +740 -0
- package/oiml-r60/sources-prd/r60-1.sentences.json +2173 -0
- package/oiml-r60/sources-prd/r60-2.sentences.json +2961 -0
- package/oiml-r60/sources-prd/r60-3.sentences.json +4212 -0
- package/oiml-r60/sources-prd/r60-a.sentences.json +3361 -0
- package/oiml-r60/specification/calculations.prl +318 -0
- package/oiml-r60/specification/conformance/class-specific.prl +1120 -0
- package/oiml-r60/specification/conformance/electronic.prl +483 -0
- package/oiml-r60/specification/conformance/examination.prl +183 -0
- package/oiml-r60/specification/conformance/metrological.prl +478 -0
- package/oiml-r60/specification/constraints.prl +58 -0
- package/oiml-r60/specification/formulas-used.prl +43 -0
- package/oiml-r60/specification/formulas.prl +20 -0
- package/oiml-r60/specification/requirements/class-specific.prl +655 -0
- package/oiml-r60/specification/requirements/classification.prl +114 -0
- package/oiml-r60/specification/requirements/electronic.prl +222 -0
- package/oiml-r60/specification/requirements/metrological.prl +381 -0
- package/oiml-r60/specification/requirements/technical.prl +146 -0
- package/oiml-r60/specification/symbols.prl +599 -0
- package/oiml-r60/specification/tables.prl +182 -0
- package/oiml-r60/specification/test-sequences.prl +72 -0
- package/oiml-r60/terminology.prl +920 -0
- package/oiml-r60/value-types.prl +46 -0
- package/oiml-r91/.primmel-allowlist.prl +3 -0
- package/oiml-r91/entities/instrument.prl +359 -0
- package/oiml-r91/entities/workflow.prl +2075 -0
- package/oiml-r91/evaluation/processes.prl +152 -0
- package/oiml-r91/evaluation/workflow.prl +48 -0
- package/oiml-r91/execution/forms/evidence-file.prl +41 -0
- package/oiml-r91/execution/forms/report-evaluation/appraisal.prl +30 -0
- package/oiml-r91/execution/forms/report-evaluation/checklist-summary.prl +43 -0
- package/oiml-r91/execution/forms/report-evaluation/checklist.prl +76 -0
- package/oiml-r91/execution/forms/report-evaluation/configuration-samples.prl +22 -0
- package/oiml-r91/execution/forms/report-evaluation/corrective-actions.prl +24 -0
- package/oiml-r91/execution/forms/report-evaluation/descriptions.prl +47 -0
- package/oiml-r91/execution/forms/report-evaluation/evaluation-identification.prl +219 -0
- package/oiml-r91/execution/forms/report-evaluation/test-report-summary.prl +33 -0
- package/oiml-r91/execution/forms/report-general/adjustments.prl +12 -0
- package/oiml-r91/execution/forms/report-general/alignment-aiming.prl +17 -0
- package/oiml-r91/execution/forms/report-general/checking-facility.prl +17 -0
- package/oiml-r91/execution/forms/report-general/configuration.prl +12 -0
- package/oiml-r91/execution/forms/report-general/identification.prl +216 -0
- package/oiml-r91/execution/forms/report-general/indications-controls.prl +17 -0
- package/oiml-r91/execution/forms/report-general/sealing.prl +21 -0
- package/oiml-r91/execution/forms/report-general/software-description.prl +26 -0
- package/oiml-r91/execution/forms/report-general/summary-environmental.prl +35 -0
- package/oiml-r91/execution/forms/report-general/summary-tests.prl +35 -0
- package/oiml-r91/execution/forms/report-general/test-equipment.prl +36 -0
- package/oiml-r91/execution/forms/report-general/test-interface.prl +16 -0
- package/oiml-r91/execution/forms/report-tests/01-01-field-test.prl +84 -0
- package/oiml-r91/execution/forms/report-tests/01-02-statistical-analysis.prl +76 -0
- package/oiml-r91/execution/forms/report-tests/01-03-image-evidence.prl +30 -0
- package/oiml-r91/execution/forms/report-tests/02-01-dynamic-performance.prl +92 -0
- package/oiml-r91/execution/forms/report-tests/02-02-speed-linearity.prl +23 -0
- package/oiml-r91/execution/forms/report-tests/02-03-distance-linearity.prl +67 -0
- package/oiml-r91/execution/forms/report-tests/02-04-angle-linearity.prl +59 -0
- package/oiml-r91/execution/forms/report-tests/03-01-dry-heat-operating.prl +38 -0
- package/oiml-r91/execution/forms/report-tests/03-02-dry-heat-storage.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-03-cold-operating.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-04-cold-storage.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-05-damp-heat-cyclic.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-06-water.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-07-sand-and-dust.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-08-salt-mist.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-09-vibration-random.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-10-mechanical-shock.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-11-dc-mains-voltage-variation.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-12-ripple-on-dc-mains.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-13-ac-mains-voltage-variation.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-14-ac-mains-frequency-variation.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-15-dc-mains-voltage-dips.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-16-ac-mains-voltage-dips.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-17-ac-mains-frequency-harmonics.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-18-vlf-lf-disturbances.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-19-bursts-ac-dc-mains.prl +44 -0
- package/oiml-r91/execution/forms/report-tests/03-20-surges-ac-dc-mains.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-21-bursts-signal-lines.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-22-surges-signal-lines.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-23-ac-mains-magnetic-field.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-24-conducted-rf-common-mode.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-25-rf-electromagnetic-fields.prl +49 -0
- package/oiml-r91/execution/forms/report-tests/03-26-electrostatic-discharges.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-27-internal-battery-low-voltage.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-28-road-vehicle-battery.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-29-transient-supply-lines.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-30-transient-other-lines.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-31-battery-cranking.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-32-load-dump.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-33-acceleration.prl +66 -0
- package/oiml-r91/execution/forms/report-tests/03-34-further-influence.prl +60 -0
- package/oiml-r91/execution/forms/report-tests/03-35-installation-alignment.prl +29 -0
- package/oiml-r91/execution/forms/report-tests/04-01-doppler-radar.prl +43 -0
- package/oiml-r91/execution/forms/report-tests/04-02-range-finding.prl +42 -0
- package/oiml-r91/execution/forms/report-tests/04-03-average-speed.prl +41 -0
- package/oiml-r91/execution/forms/report-tests/04-04-fixed-distance.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/04-05-image-based.prl +41 -0
- package/oiml-r91/execution/forms/report-tests/04-06-across-road.prl +42 -0
- package/oiml-r91/execution/forms/report-tests/05-01-moving-field-test.prl +29 -0
- package/oiml-r91/execution/forms/report-tests/05-02-ego-field-test.prl +57 -0
- package/oiml-r91/execution/forms/report-tests/05-03-moving-traffic-simulation.prl +31 -0
- package/oiml-r91/execution/forms/report-tests/06-01-software-general.prl +25 -0
- package/oiml-r91/execution/forms/report-tests/06-02-software-protection.prl +25 -0
- package/oiml-r91/execution/forms/report-tests/06-03-software-hardware-support.prl +24 -0
- package/oiml-r91/execution/forms/report-tests/06-04-software-separation.prl +25 -0
- package/oiml-r91/execution/forms/report-tests/06-05-software-maintenance.prl +24 -0
- package/oiml-r91/execution/forms/report-tests/07-general-remarks.prl +11 -0
- package/oiml-r91/execution/forms/shared/header-a.prl +63 -0
- package/oiml-r91/execution/subforms/software-matrix-row.prl +30 -0
- package/oiml-r91/execution/subforms/speed-measurement-row.prl +38 -0
- package/oiml-r91/layers.prl +46 -0
- package/oiml-r91/model/artifacts.prl +29 -0
- package/oiml-r91/model/attributes.prl +698 -0
- package/oiml-r91/model/behaviors.prl +142 -0
- package/oiml-r91/model/capabilities.prl +88 -0
- package/oiml-r91/model/characteristics.prl +27 -0
- package/oiml-r91/model/conditions.prl +37 -0
- package/oiml-r91/model/instrument.prl +147 -0
- package/oiml-r91/model/state.prl +22 -0
- package/oiml-r91/model/twin.prl +17 -0
- package/oiml-r91/package.primmel +14 -0
- package/oiml-r91/payload/application.yaml +201 -0
- package/oiml-r91/payload/conditions-common-test.yaml +19 -0
- package/oiml-r91/payload/promises.yaml +142 -0
- package/oiml-r91/payload/sample-data.yaml +464 -0
- package/oiml-r91/references.prl +72 -0
- package/oiml-r91/sources-prd/coverage.json +106 -0
- package/oiml-r91/sources-prd/r91-1.sentences.json +4696 -0
- package/oiml-r91/sources-prd/r91-2.sentences.json +2067 -0
- package/oiml-r91/sources-prd/r91-3.sentences.json +5210 -0
- package/oiml-r91/sources-prd/r91-4.sentences.json +474 -0
- package/oiml-r91/specification/calculations.prl +26 -0
- package/oiml-r91/specification/conformance/influence-disturbance.prl +1792 -0
- package/oiml-r91/specification/conformance/metrological.prl +906 -0
- package/oiml-r91/specification/formulas.prl +10 -0
- package/oiml-r91/specification/requirements/class-specific.prl +308 -0
- package/oiml-r91/specification/requirements/metrological.prl +176 -0
- package/oiml-r91/specification/requirements/technical.prl +173 -0
- package/oiml-r91/specification/symbols.prl +323 -0
- package/oiml-r91/specification/tables.prl +136 -0
- package/oiml-r91/terminology.prl +535 -0
- package/oiml-r91/value-types.prl +26 -0
- package/oiml-smart-core/entities/comments.prl +101 -0
- package/oiml-smart-core/entities/cs-operations.prl +492 -0
- package/oiml-smart-core/entities/cs-participants.prl +470 -0
- package/oiml-smart-core/entities/engagement.prl +323 -0
- package/oiml-smart-core/entities/instrument.prl +359 -0
- package/oiml-smart-core/entities/module-b.prl +214 -0
- package/oiml-smart-core/entities/operated-schemes.prl +141 -0
- package/oiml-smart-core/entities/parties.prl +429 -0
- package/oiml-smart-core/entities/payment-records.prl +92 -0
- package/oiml-smart-core/entities/verification.prl +187 -0
- package/oiml-smart-core/entities/workflow.prl +2075 -0
- package/oiml-smart-core/evaluation/roles.prl +65 -0
- package/oiml-smart-core/evaluation/state-machines.prl +1157 -0
- package/oiml-smart-core/package.primmel +10 -0
- package/oiml-smart-core/specification/competence-kinds.prl +64 -0
- package/oiml-smart-core/specification/constraints.prl +40 -0
- package/oiml-smart-core/specification/invariants.prl +90 -0
- package/oiml-smart-core/specification/predicates.prl +116 -0
- package/oiml-smart-module-emc-disturbances/package.primmel +10 -0
- package/oiml-smart-module-env-iec60068/package.primmel +10 -0
- package/oiml-smart-module-examination-docs/package.primmel +10 -0
- package/oiml-smart-module-reference-materials/package.primmel +10 -0
- package/oiml-smart-module-report-headers/package.primmel +10 -0
- package/oiml-smart-module-software-d31/package.primmel +10 -0
- package/oiml-smart-module-specimen-governance/entities/test-execution.prl +228 -0
- package/oiml-smart-module-specimen-governance/package.primmel +10 -0
- package/oiml-twin-cert/documents/tw-1/document.yaml +454 -0
- package/oiml-twin-cert/evaluation/roles.prl +15 -0
- package/oiml-twin-cert/execution/forms/probe-creep.prl +179 -0
- package/oiml-twin-cert/execution/forms/probe.prl +99 -0
- package/oiml-twin-cert/execution/forms/static-conformance.prl +50 -0
- package/oiml-twin-cert/model/attributes.prl +243 -0
- package/oiml-twin-cert/model/behaviors.prl +8 -0
- package/oiml-twin-cert/model/characteristics.prl +18 -0
- package/oiml-twin-cert/model/monitors.prl +16 -0
- package/oiml-twin-cert/package.primmel +16 -0
- package/oiml-twin-cert/specification/conformance/twin-fidelity.prl +176 -0
- package/oiml-twin-cert/specification/requirements/twin-fidelity.prl +137 -0
- package/oiml-twin-cert/specification/symbols.prl +36 -0
- package/oiml-twin-cert/terminology.prl +8 -0
- package/oimlsmart-primmel-packages-0.1.0.tgz +0 -0
- package/package.json +17 -0
- package/qms-ref/model/qms.prl +31 -0
- package/qms-ref/package.primmel +38 -0
- package/quarry-belt-scale/model/ops.prl +115 -0
- package/quarry-belt-scale/package.primmel +36 -0
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
# GENERATED package payload (TODO.v2/01 TCD-6) — the program's governing-document
|
|
2
|
+
# module. The authoring draft is data/oiml-twin-cert/documents/tw-1/document.yaml (document prose has no
|
|
3
|
+
# PRL construct); migrated by build-prl-package. Do not edit by hand.
|
|
4
|
+
# OIML SMART TWIN-CERT DOCUMENT MODULE TW-1 — THE PROGRAM'S GOVERNING
|
|
5
|
+
# DOCUMENT (urn:oiml:pub:cs:twin-1:2027)
|
|
6
|
+
# -----------------------------------------------------------------------------
|
|
7
|
+
# TW-1 "Digital-Twin Fidelity Certification Program — Governing Document",
|
|
8
|
+
# edition 2027 — the normative text every /req/twin-fidelity/* requirement,
|
|
9
|
+
# /conf/twin-fidelity/* conformance test, model register, symbol, behavior,
|
|
10
|
+
# characteristic, term and D2 form of the oiml-twin-cert package cites by
|
|
11
|
+
# clause anchor (TODO.v2/01 TCD-6 work item 1 — the TCD-1 review's backfill
|
|
12
|
+
# contract).
|
|
13
|
+
#
|
|
14
|
+
# ANCHOR CONTRACT (cite-integrity — browser/src/__tests__/
|
|
15
|
+
# twin-1-cite-integrity.test.ts pins it): the cited anchors are EXACTLY
|
|
16
|
+
# 3.1 — the VIML naming record (twin-fidelity evaluation)
|
|
17
|
+
# 4.1–4.4 — the twin-fidelity model (the two-channel relation, the
|
|
18
|
+
# served registers, the probe channel, the declared tolerance)
|
|
19
|
+
# 5.1–5.6 — the normative requirements
|
|
20
|
+
# 6.1–6.5 — the twin-fidelity evaluation (admission + the probe schedule)
|
|
21
|
+
# Every citation in primmel-packages/oiml-twin-cert/ (source { doc … clause },
|
|
22
|
+
# source "urn, clause", <urn>#clause-<c>, and the forms' section "TW-1, <c>"
|
|
23
|
+
# facets) resolves to a section declared here, and every leaf section
|
|
24
|
+
# numbered 3–6 declared here is cited. The clause-6 lead-in carries the
|
|
25
|
+
# certification decision + certificate + surveillance semantics (the
|
|
26
|
+
# subsections are the determination procedures).
|
|
27
|
+
#
|
|
28
|
+
# STATUS: a DECLARED governing document of the platform's own program — the
|
|
29
|
+
# scheme operator's publication, styled on the OIML-CS document pattern
|
|
30
|
+
# (data/oiml-cs/documents/<doc>/), not an OIML publication. The OIML-CS is
|
|
31
|
+
# the program's recorded long-term home (controller decision 4: a new
|
|
32
|
+
# category scheme inside the B 18 framework model when the OIML-CS adopts
|
|
33
|
+
# it — modelled as nothing yet). Pilot values (the LC-500-class register,
|
|
34
|
+
# δ = 0.1 kg, the mtl_f_001 / p_weber register citations) are the scheme's
|
|
35
|
+
# DECLARED pilot parameters — declared examples of the fictional pilot
|
|
36
|
+
# (primmel-packages/acme-lc500), never measured fact.
|
|
37
|
+
#
|
|
38
|
+
# Provenance: analysis/twin-certification-design.md (Q1–Q5 + the five
|
|
39
|
+
# controller decisions, 2026-07-28); the normative content mirrors the
|
|
40
|
+
# landed package — specification/requirements/twin-fidelity.prl,
|
|
41
|
+
# specification/conformance/twin-fidelity.prl, model/*.prl,
|
|
42
|
+
# terminology.prl, execution/forms/*.prl.
|
|
43
|
+
#
|
|
44
|
+
# Data conventions: hand-authored app configuration (no PRL construct for
|
|
45
|
+
# document prose — the oiml-cs documents/<doc>/ module pattern); migrated
|
|
46
|
+
# into the package by the authoring aid (browser/scripts/build-prl-package.ts
|
|
47
|
+
# ships documents/** for certification_program layers verbatim).
|
|
48
|
+
# ---
|
|
49
|
+
document:
|
|
50
|
+
id: tw-1
|
|
51
|
+
urn: urn:oiml:pub:cs:twin-1:2027
|
|
52
|
+
doc: TW-1
|
|
53
|
+
title: "Digital-Twin Fidelity Certification Program — Governing Document"
|
|
54
|
+
edition: 2027
|
|
55
|
+
year: 2027
|
|
56
|
+
status: current
|
|
57
|
+
validity:
|
|
58
|
+
from: '2027-01-01'
|
|
59
|
+
foreword: >
|
|
60
|
+
This document is the governing document of the Digital-Twin Fidelity
|
|
61
|
+
Certification Program operated by the scheme operator (the twin
|
|
62
|
+
certification body). The Program confirms that a digital twin provided
|
|
63
|
+
by a measuring instrument faithfully reflects the physical instrument's
|
|
64
|
+
status — the served value equivalent to the physical state, within
|
|
65
|
+
declared bounds and freshness, continuously. The Program is a per-unit
|
|
66
|
+
certification scheme with surveillance, self-classified as scheme
|
|
67
|
+
type 5 against the ISO/IEC 17067 register; the twin certificate stands
|
|
68
|
+
alone from type evaluation but prerequisites a valid type certificate
|
|
69
|
+
of the underlying instrument. The Program is related to the OIML
|
|
70
|
+
Recommendations by mapping only (maps_to oiml-r60 for the pilot
|
|
71
|
+
register set), composes no Recommendation content, and is recorded as
|
|
72
|
+
a candidate category scheme of the OIML Certification System (OIML-CS)
|
|
73
|
+
— its long-term home.
|
|
74
|
+
sections:
|
|
75
|
+
- clause: "1"
|
|
76
|
+
title: Scope
|
|
77
|
+
prose: >
|
|
78
|
+
This document specifies the Digital-Twin Fidelity Certification
|
|
79
|
+
Program: the twin-fidelity model (clause 4), the program
|
|
80
|
+
requirements a certified twin shall meet (clause 5), and the
|
|
81
|
+
twin-fidelity evaluation — the determination activities, the
|
|
82
|
+
certification decision, the certificate and the surveillance
|
|
83
|
+
regime (clause 6). The object of certification is the serving
|
|
84
|
+
layer of a digital twin of an individual measuring instrument
|
|
85
|
+
(the certified unit): the governed projection of the instrument's
|
|
86
|
+
status the twin serves — declared registers with declared
|
|
87
|
+
freshness and provenance. The Program certifies the fidelity of
|
|
88
|
+
that projection, never the completeness of any larger
|
|
89
|
+
representation the provider operates. Certification of the
|
|
90
|
+
underlying instrument type is outside the scope of this document;
|
|
91
|
+
a valid type certificate is an admission prerequisite (6.1).
|
|
92
|
+
- clause: "2"
|
|
93
|
+
title: Normative references
|
|
94
|
+
prose: >
|
|
95
|
+
The following documents are indispensable for the application of
|
|
96
|
+
this document: ISO/IEC 17000:2020 (conformity assessment —
|
|
97
|
+
vocabulary and general principles, in particular determination
|
|
98
|
+
A.3.2 and attestation A.4.3); ISO/IEC 17065 (requirements for
|
|
99
|
+
bodies certifying products, processes and services); ISO/IEC 17025
|
|
100
|
+
(requirements for the competence of testing and calibration
|
|
101
|
+
laboratories, in particular the personnel-authorization records of
|
|
102
|
+
6.2.6); ISO/IEC 17067 (product certification schemes — the scheme
|
|
103
|
+
type register against which this Program classifies itself as
|
|
104
|
+
type 5); the OIML Recommendation the Program maps to for the
|
|
105
|
+
certified register set (OIML R 60 for the pilot registers — the
|
|
106
|
+
metrological definitions of the served aspects live there, never
|
|
107
|
+
restated here); OIML B 18 (the OIML-CS framework — the Program's
|
|
108
|
+
recorded long-term home).
|
|
109
|
+
- clause: "3"
|
|
110
|
+
title: Terms and definitions
|
|
111
|
+
prose: >
|
|
112
|
+
For the purposes of this document, the terms and definitions of
|
|
113
|
+
ISO/IEC 17000, the International Vocabulary of Metrology (VIM)
|
|
114
|
+
and the International Vocabulary of Terms in Legal Metrology
|
|
115
|
+
(VIML) apply, together with the following. VIML names no
|
|
116
|
+
twin-verification kind: VIML 2.09 and 2.12–2.14 are verifications
|
|
117
|
+
of the instrument itself (initial, subsequent, in-service), so the
|
|
118
|
+
twin-fidelity discipline is defined by this Program. The naming
|
|
119
|
+
decision and its record are 3.1.
|
|
120
|
+
- clause: "3.1"
|
|
121
|
+
title: twin-fidelity evaluation
|
|
122
|
+
prose: >
|
|
123
|
+
determination activity, and its attestation, confirming that a
|
|
124
|
+
digital twin provided by a measuring instrument faithfully
|
|
125
|
+
reflects the physical instrument's status — the served value
|
|
126
|
+
equivalent to the physical state, within declared bounds and
|
|
127
|
+
freshness, continuously. NOTE — The term is this Program's naming
|
|
128
|
+
decision (accepted 2026-07-28): VIML 2.09 and 2.12–2.14 name
|
|
129
|
+
instrument verifications and no twin-verification kind, so the
|
|
130
|
+
new verification kind is named here — a determination activity
|
|
131
|
+
per ISO/IEC 17000:2020, A.3.2 with attestation per A.4.3, a new
|
|
132
|
+
kind alongside initial, subsequent and in-service verification.
|
|
133
|
+
This entry is the naming decision record.
|
|
134
|
+
- clause: "4"
|
|
135
|
+
title: The twin-fidelity model
|
|
136
|
+
prose: >
|
|
137
|
+
Clause 4 declares the model the requirements of clause 5 and the
|
|
138
|
+
evaluation of clause 6 operate on: the two-channel fidelity
|
|
139
|
+
relation (4.1), the served registers the Program reads (4.2), the
|
|
140
|
+
physical-side probe channel with its sources, timestamps and
|
|
141
|
+
pairing window (4.3), and the declared twin tolerance (4.4). The
|
|
142
|
+
metrological definitions of the served aspects live in the
|
|
143
|
+
Recommendation the Program maps to; this clause declares only the
|
|
144
|
+
binding slots and the evidence registers the Program reads.
|
|
145
|
+
- clause: "4.1"
|
|
146
|
+
title: The two-channel fidelity relation
|
|
147
|
+
prose: >
|
|
148
|
+
Twin fidelity is a TWO-channel relation between the twin's served
|
|
149
|
+
channel and a physical-side reference channel. The serving
|
|
150
|
+
behavior under evaluation is the twin's served indication in
|
|
151
|
+
response to the physical instrument's applied load; the deviation
|
|
152
|
+
the relation judges is the characteristic Δ_ind = |served −
|
|
153
|
+
reference|, quantity-typed over the served register (4.2) and the
|
|
154
|
+
reference register (4.3) paired at a probe point. The deviation
|
|
155
|
+
is derived once, as the declared characteristic
|
|
156
|
+
twin_deviation_indication; requirements and tests consume that
|
|
157
|
+
single derivation, never a restated copy. The relation is closed
|
|
158
|
+
only by the probe channel of 4.3 — a served value alone, however
|
|
159
|
+
fresh, is one channel of a two-channel claim.
|
|
160
|
+
- clause: "4.2"
|
|
161
|
+
title: The served channel — served registers
|
|
162
|
+
prose: >
|
|
163
|
+
The served channel is the set of registers the twin serves and
|
|
164
|
+
the Program reads, each bound at deployment through the Program's
|
|
165
|
+
gateway: the served indication I (the live output reading in
|
|
166
|
+
units of mass, quantity-kind mass, unit kg — the served channel
|
|
167
|
+
of the two-channel fidelity relation) and the served operational
|
|
168
|
+
state (the instrument's off/warming/ready/measuring/fault state
|
|
169
|
+
as served by the twin's state channel). The metrological
|
|
170
|
+
definition of each served aspect lives in the Recommendation the
|
|
171
|
+
Program maps to; this section declares only the binding slots.
|
|
172
|
+
Every served register carries a declared freshness window on its
|
|
173
|
+
serve binding (fresh_within) — the window the requirements of 5.3
|
|
174
|
+
inherit and never re-declare.
|
|
175
|
+
- clause: "4.3"
|
|
176
|
+
title: The reference channel — probe sources, timestamps and the pairing window
|
|
177
|
+
prose: >
|
|
178
|
+
The reference channel is the physical-side evidence register
|
|
179
|
+
family paired with the served registers at a probe point. A
|
|
180
|
+
reference reading arrives by exactly one of three declared probe
|
|
181
|
+
sources, recorded on the evidence with its register citation:
|
|
182
|
+
reference_instrument — a traceable reference instrument, cited by
|
|
183
|
+
equipment-register id with its calibration trace (PREFERRED);
|
|
184
|
+
observer_attestation — a verification officer reads the physical
|
|
185
|
+
instrument's display and records the reading with its observation
|
|
186
|
+
timestamp, attestation per ISO/IEC 17000:2020, A.4.3, admitted
|
|
187
|
+
with the DECLARED traceability limitation: attestation-only
|
|
188
|
+
evidence proves the twin serves what the instrument's own display
|
|
189
|
+
annunciates — twin ≡ display, not twin ≡ mass (the reference IS
|
|
190
|
+
the EUT's own indication, never an independent physical
|
|
191
|
+
standard); sim_ground_truth — ground truth of the declared
|
|
192
|
+
acceptance environment, never a production channel. Each paired
|
|
193
|
+
reading is timestamped on both sides: the twin's OWN served
|
|
194
|
+
timestamp t_srv (the served-timestamp source declared per
|
|
195
|
+
operation — freshness is judged against the twin's own timestamp,
|
|
196
|
+
never the platform's receipt clock) and the reference observation
|
|
197
|
+
timestamp t_obs captured at evidence-capture time; the pairing
|
|
198
|
+
skew Δt_pair = |t_srv − t_obs| is derived once at evidence
|
|
199
|
+
capture and recorded as evidence. A pair whose skew exceeds the
|
|
200
|
+
declared pairing window — at most the probed register's
|
|
201
|
+
fresh_within, declared per register with fresh_within as the
|
|
202
|
+
ceiling, never a fixed platform constant — is INVALID: the
|
|
203
|
+
probe's setup was wrong, never a fail of the twin.
|
|
204
|
+
- clause: "4.4"
|
|
205
|
+
title: The declared twin tolerance
|
|
206
|
+
prose: >
|
|
207
|
+
The twin tolerance δ is the maximum permitted absolute deviation
|
|
208
|
+
between the served and the reference reading at any probe point,
|
|
209
|
+
declared per register by the scheme as a declared fraction of the
|
|
210
|
+
underlying instrument's maximum permissible error — declared by
|
|
211
|
+
the scheme, never a platform constant. For the pilot indication
|
|
212
|
+
register (the LC-500-class load-cell register) the scheme declares
|
|
213
|
+
δ_indication = 0.1 kg (the declared pilot parameter: 25 times the
|
|
214
|
+
good cell's noise σ, so the faithful twin passes cleanly and a
|
|
215
|
+
0.25 kg lie is unmistakable).
|
|
216
|
+
- clause: "4.5"
|
|
217
|
+
title: The behavioral register family (the creep dwell)
|
|
218
|
+
prose: >
|
|
219
|
+
The behavioral registers close the behavioral fidelity relation
|
|
220
|
+
(5.6) over the creep dwell (6.5): the dwell parameters — the
|
|
221
|
+
declared dwell duration T_dw (the scheme's declaration per
|
|
222
|
+
register, the pilot's 900 s), the dwell load L_dw (≈90 % of
|
|
223
|
+
E_max, the lookupMPE load input), the certified type's accuracy
|
|
224
|
+
class (the lookupMPE class input) and the apportionment factor
|
|
225
|
+
p_lc (0.7 by default for load cells per R 60); the dwell
|
|
226
|
+
readings — the served indication at dwell start I_t0 (the drift
|
|
227
|
+
baseline) and at dwell end I_end, and the constant-reference
|
|
228
|
+
anchors I_ref,t0 and I_ref,end from the declared probe channel
|
|
229
|
+
(4.3); the derived maximum drift Δ_max — the maximum
|
|
230
|
+
|served sample − I_t0| over the recorded dwell series, derived
|
|
231
|
+
once at evidence capture from the recorded series (facts only,
|
|
232
|
+
auditable against it — the same derived-once discipline as the
|
|
233
|
+
pairing skew of 4.3); and the class creep allowance δ_cr =
|
|
234
|
+
lookupMPE(L_dw, accuracy_class, p_lc), the mapped Recommendation's
|
|
235
|
+
own apportioned maximum permissible error at the dwell load,
|
|
236
|
+
computed from the class tables, never a platform constant. The
|
|
237
|
+
behavioral judgment (5.6) is the canonical verdict
|
|
238
|
+
twin_creep_drift_indication read off the Δ_max register, judged
|
|
239
|
+
against δ_cr.
|
|
240
|
+
- clause: "5"
|
|
241
|
+
title: Program requirements
|
|
242
|
+
prose: >
|
|
243
|
+
Clause 5 states the normative requirements a certified twin shall
|
|
244
|
+
meet. A twin-fidelity requirement is, per served register, the
|
|
245
|
+
conjunction of value fidelity (5.2), freshness (5.3) and
|
|
246
|
+
provenance (5.4), plus state fidelity (5.5) and behavioral fidelity (5.6), gated by the
|
|
247
|
+
static-conformance admission (5.1). The requirements are cited by
|
|
248
|
+
the determination activities of clause 6 and judged through the
|
|
249
|
+
verdict chain of the Program's evaluation machinery.
|
|
250
|
+
- clause: "5.1"
|
|
251
|
+
title: Static conformance of the served twin interface (admission)
|
|
252
|
+
prose: >
|
|
253
|
+
A certified twin shall serve exactly the interface its certified
|
|
254
|
+
product package declares: the endpoint identifier, the served
|
|
255
|
+
operations with their payload schemas and quantity kinds, and the
|
|
256
|
+
access scopes shall equal the package's endpoint declaration. A
|
|
257
|
+
twin that mis-serves its declared contract shall not enter
|
|
258
|
+
value-fidelity probing. Verification: inspection — the
|
|
259
|
+
admission-time contract check against the pinned product
|
|
260
|
+
package's endpoint declaration, re-verified at every surveillance
|
|
261
|
+
cycle start.
|
|
262
|
+
- clause: "5.2"
|
|
263
|
+
title: Served indication within the declared twin tolerance
|
|
264
|
+
prose: >
|
|
265
|
+
The twin's served indication shall match the physical
|
|
266
|
+
instrument's indication within the declared tolerance
|
|
267
|
+
δ_indication at every probe point: |served − reference| ≤
|
|
268
|
+
δ_indication, the reference reading taken from a declared probe
|
|
269
|
+
channel (4.3) and paired with the served reading within the
|
|
270
|
+
pairing window. Verification: testing — the probe schedule's
|
|
271
|
+
range and envelope tests (6.2, 6.3): paired reference-vs-served
|
|
272
|
+
readings at the declared load points and envelope corners, each
|
|
273
|
+
pair timestamped within the pairing window.
|
|
274
|
+
- clause: "5.3"
|
|
275
|
+
title: Declared freshness on every fidelity register
|
|
276
|
+
prose: >
|
|
277
|
+
Every fidelity register shall be served under a declared
|
|
278
|
+
freshness window: the serve binding carries fresh_within, and a
|
|
279
|
+
served value older than its window degrades the fidelity verdict
|
|
280
|
+
to indeterminate — never a fail, never a silent pass. The Program
|
|
281
|
+
inherits the window from the serve declaration and never
|
|
282
|
+
re-declares it on the binding. Verification: definitional —
|
|
283
|
+
satisfied by the serve declaration the Program reuses and
|
|
284
|
+
enforced continuously by the verdict machinery's freshness gate.
|
|
285
|
+
- clause: "5.4"
|
|
286
|
+
title: Served-timestamp provenance on every fidelity register
|
|
287
|
+
prose: >
|
|
288
|
+
A certified twin shall serve a parseable timestamp on every
|
|
289
|
+
fidelity register, and the deployment shall declare the
|
|
290
|
+
served-timestamp field per operation (the timestamp_fields
|
|
291
|
+
declaration) so freshness is judged against the twin's own served
|
|
292
|
+
timestamp — a declared-but-absent timestamp is unavailable, never
|
|
293
|
+
invented. Every fidelity fact shall carry provenance: the
|
|
294
|
+
endpoint identifier bound to the certified unit's serial, the
|
|
295
|
+
serving operation, and the definition version pin. Verification:
|
|
296
|
+
definitional — a declaration requirement gated at admission and
|
|
297
|
+
enforced continuously by the freshness gate.
|
|
298
|
+
- clause: "5.5"
|
|
299
|
+
title: Served operational state equals the physical state
|
|
300
|
+
prose: >
|
|
301
|
+
The twin's served operational state shall equal the physical
|
|
302
|
+
instrument's state at every state transition, including fault
|
|
303
|
+
annunciation: a served fault state faithfully reporting the
|
|
304
|
+
instrument's fault is not infidelity — it passes fidelity and
|
|
305
|
+
triggers service. A twin that serves a healthy state over a
|
|
306
|
+
faulted instrument, or a fault state over a healthy one, fails
|
|
307
|
+
state fidelity. Verification: testing — the probe schedule's
|
|
308
|
+
transition test (6.4): the served operational state is compared
|
|
309
|
+
with the reference state at each declared transition.
|
|
310
|
+
- clause: "5.6"
|
|
311
|
+
title: Behavioral fidelity — the creep envelope (class-parameterized)
|
|
312
|
+
prose: >
|
|
313
|
+
Under a CONSTANT reference load held for the declared dwell, the
|
|
314
|
+
twin's served indication shall drift no more than the instrument's
|
|
315
|
+
accuracy-class creep allowance — the behavioral fidelity
|
|
316
|
+
requirement: the twin's dynamics track the physical instrument's,
|
|
317
|
+
not merely its single points. The allowance is parameterized per
|
|
318
|
+
accuracy class through the mapped Recommendation's own apportioned
|
|
319
|
+
maximum permissible error — creep_allowance = lookupMPE(dwell_load,
|
|
320
|
+
accuracy_class, p_lc), the same computation the Recommendation's
|
|
321
|
+
creep test uses (for R 60 the apportionment factor p_lc = 0.7 by
|
|
322
|
+
default). A twin whose creep response exceeds the class envelope
|
|
323
|
+
is unfaithful however cleanly its point probes pass; a reference
|
|
324
|
+
that itself drifts beyond one third of the allowance (the U:MPE
|
|
325
|
+
≤ 1:3 discipline) voids the setup — INVALID, never a fail.
|
|
326
|
+
Verification: testing — the behavioral probe program (6.5): a
|
|
327
|
+
constant-load dwell with served samples over the dwell and
|
|
328
|
+
constant-reference anchors at both ends.
|
|
329
|
+
- clause: "6"
|
|
330
|
+
title: Twin-fidelity evaluation and certification
|
|
331
|
+
prose: >
|
|
332
|
+
Clause 6 specifies the twin-fidelity evaluation — the Program's
|
|
333
|
+
determination activities — and the certification decision,
|
|
334
|
+
certificate and surveillance regime. The determination set is the
|
|
335
|
+
static-conformance admission (6.1) and the probe schedule (6.2
|
|
336
|
+
the measuring range, 6.3 the operational envelope, 6.4 the
|
|
337
|
+
operational transitions, 6.5 the behavioral creep dwell); every probe test is gated on the
|
|
338
|
+
admission and carries the pairing-window INVALID precondition of
|
|
339
|
+
4.3, and each probe execution is recorded in the Program's probe
|
|
340
|
+
record — served value and timestamp, reference value and
|
|
341
|
+
observation timestamp, the channel and its register citation, the
|
|
342
|
+
carried traceability limitation when the channel is observer
|
|
343
|
+
attestation, and the pairing skew. The certification decision
|
|
344
|
+
certifies when every fidelity register passes and the admission,
|
|
345
|
+
the timestamp-provenance declaration and the type-certificate
|
|
346
|
+
prerequisite hold; any register fail refuses; anything unprovable
|
|
347
|
+
is inconclusive — silence is not evidence and never a silent
|
|
348
|
+
certify. The twin certificate claims a scoped, conditional
|
|
349
|
+
relation: for the certified unit, the twin served at the
|
|
350
|
+
certified endpoint via the certified operations reflects the
|
|
351
|
+
physical state of the certified registers within the declared
|
|
352
|
+
tolerance and freshness per register, verified by the probe
|
|
353
|
+
schedule on the verification date with served-timestamp
|
|
354
|
+
provenance declared — validity conditional on continuous
|
|
355
|
+
surveillance; a sustained fail suspends; an unresolved fail
|
|
356
|
+
withdraws. Surveillance is the Program's continuous half (scheme
|
|
357
|
+
type 5 — non-dischargeable): the same fidelity requirements are
|
|
358
|
+
re-judged continuously by the Program's monitor over the
|
|
359
|
+
certified-twin fleet, and post-certification infidelity walks the
|
|
360
|
+
certificate machine — a monitor fail flags the certificate and
|
|
361
|
+
opens a service case (investigate), a case unresolved past the
|
|
362
|
+
declared cure window or the declared count of consecutive failed
|
|
363
|
+
cycles suspends, rectification (a re-probe pass, or a re-judged
|
|
364
|
+
surveillance window under the same tolerance returning pass on
|
|
365
|
+
stored snapshots — the twin never re-queried) reinstates, and an
|
|
366
|
+
unresolved fail withdraws. A served fault state faithfully
|
|
367
|
+
reporting the instrument's fault is not infidelity: the
|
|
368
|
+
state-triggered rule opens a service case without flagging the
|
|
369
|
+
certificate — a twin lying about a healthy instrument fails
|
|
370
|
+
fidelity; a twin truthfully serving a fault state passes fidelity
|
|
371
|
+
and triggers service.
|
|
372
|
+
- clause: "6.1"
|
|
373
|
+
title: Static conformance admission
|
|
374
|
+
prose: >
|
|
375
|
+
The admission determination verifies that the twin serves exactly
|
|
376
|
+
the interface its certified product package declares — endpoint
|
|
377
|
+
identifier, operations, payload schemas and quantity kinds,
|
|
378
|
+
access scopes — before any value-fidelity probing: read the
|
|
379
|
+
twin's served schema, operations, access scopes and payload
|
|
380
|
+
semantics and compare them against the pinned product package's
|
|
381
|
+
endpoint declaration; any mismatch is an admission failure and a
|
|
382
|
+
twin that mis-serves its contract never reaches value probes. The
|
|
383
|
+
admission is an inspection determination and is re-verified at
|
|
384
|
+
every surveillance cycle start; its evidence record is the
|
|
385
|
+
Program's static-conformance admission record.
|
|
386
|
+
- clause: "6.2"
|
|
387
|
+
title: Twin-fidelity probe — the measuring range
|
|
388
|
+
prose: >
|
|
389
|
+
The range probe closes the two-channel fidelity relation across
|
|
390
|
+
the measuring range: minimum load, then approximately 25 %, 50 %,
|
|
391
|
+
75 % and 100 % of E_max, increasing and, where the physics
|
|
392
|
+
demands, decreasing — the load-point discipline of the mapped
|
|
393
|
+
Recommendation's maximum-permissible-error test. At each load
|
|
394
|
+
point, record the reference reading from the declared probe
|
|
395
|
+
channel (4.3) and the served reading fetched through the gateway
|
|
396
|
+
at probe time, each timestamped, and pair the readings within the
|
|
397
|
+
pairing window — a pair whose skew exceeds it is INVALID, never a
|
|
398
|
+
fail. Value fidelity at each point is judged per 5.2 through the
|
|
399
|
+
declared deviation characteristic, and each execution is recorded
|
|
400
|
+
in the Program's probe record (the report format of this
|
|
401
|
+
determination).
|
|
402
|
+
- clause: "6.3"
|
|
403
|
+
title: Twin-fidelity probe — the operational envelope
|
|
404
|
+
prose: >
|
|
405
|
+
The envelope probe closes the two-channel fidelity relation
|
|
406
|
+
across the operational envelope: condition the instrument at each
|
|
407
|
+
declared envelope corner — the rated temperature corners of the
|
|
408
|
+
certified product's declared envelope, and the declared humidity
|
|
409
|
+
corner where the certified product declares a humidity class (the
|
|
410
|
+
corner is the scheme's declaration, never an assumption) — probe
|
|
411
|
+
the paired reading per the range probe's channel discipline (6.2)
|
|
412
|
+
at each corner, each pair timestamped within the pairing window,
|
|
413
|
+
and return to reference conditions for the closing pair. Value
|
|
414
|
+
fidelity at each corner is judged per 5.2 — fidelity holds at
|
|
415
|
+
the envelope extremes, not only at reference conditions.
|
|
416
|
+
- clause: "6.4"
|
|
417
|
+
title: Twin-fidelity probe — the operational transitions
|
|
418
|
+
prose: >
|
|
419
|
+
The transition probe closes the two-channel fidelity relation
|
|
420
|
+
across the operational transitions: the warm-up leg
|
|
421
|
+
(off→warming→ready), the measurement leg (ready→measuring), and
|
|
422
|
+
the fault-annunciation leg and clear. At each declared
|
|
423
|
+
transition, record the physical state from the declared probe
|
|
424
|
+
channel (4.3 — observer attestation: the verification officer
|
|
425
|
+
reads the instrument's own state annunciation, admitted with the
|
|
426
|
+
declared traceability limitation) and the served operational
|
|
427
|
+
state delivered on the twin's state channel, each timestamped,
|
|
428
|
+
and pair within the pairing window of the state register — a
|
|
429
|
+
violating pair is INVALID, never a fail. State fidelity at each
|
|
430
|
+
transition is judged per 5.5: a served fault faithfully reporting
|
|
431
|
+
the instrument's fault passes fidelity and triggers service,
|
|
432
|
+
never a fidelity fail.
|
|
433
|
+
- clause: "6.5"
|
|
434
|
+
title: Twin-fidelity behavioral probe — the creep dwell
|
|
435
|
+
prose: >
|
|
436
|
+
The behavioral probe closes the behavioral fidelity relation
|
|
437
|
+
(5.6): apply the declared dwell load (≈90 % of E_max) and hold it
|
|
438
|
+
CONSTANT for the declared dwell. Record the reference reading at
|
|
439
|
+
dwell start and dwell end from the declared probe channel (4.3) —
|
|
440
|
+
each anchor a timestamped reference-vs-served pair within the
|
|
441
|
+
pairing window (a violating anchor pair is INVALID, never a fail)
|
|
442
|
+
— and sample the served indication through the gateway at the
|
|
443
|
+
declared instants over the dwell. The served drift is derived once
|
|
444
|
+
at evidence capture as the maximum |sample − served at dwell
|
|
445
|
+
start| over the recorded series (facts only — auditable against
|
|
446
|
+
the recorded series), and the creep allowance is computed from the
|
|
447
|
+
class tables as lookupMPE(dwell_load, accuracy_class, p_lc) — the
|
|
448
|
+
mapped Recommendation's own apportioned MPE at the dwell load,
|
|
449
|
+
never a platform constant. A reference that itself drifts beyond
|
|
450
|
+
one third of the allowance (the U:MPE ≤ 1:3 discipline) INVALIDATES
|
|
451
|
+
the setup — never a fail. Behavioral fidelity is judged per 5.6:
|
|
452
|
+
the maximum drift against the class allowance. Each execution is
|
|
453
|
+
recorded in the Program's behavioral probe record (the report
|
|
454
|
+
format of this determination).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
role scheme_operator {
|
|
2
|
+
label "Scheme Operator"
|
|
3
|
+
description "The twin certification body operating the program (the ISO/IEC 17067 scheme owner): admits twins to certification, issues the twin certificate, and runs surveillance — including the suspension, reinstatement and withdrawal of certificates."
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
role twin_provider {
|
|
7
|
+
label "Twin Provider"
|
|
8
|
+
description "The instrument owner (or manufacturer) providing the digital twin and applying for its certification — the certified unit's serving layer is the object of certification; a valid type certificate of the underlying instrument is a hard admission prerequisite."
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
role verification_officer {
|
|
12
|
+
label "Verification Officer"
|
|
13
|
+
description "The probe agent of the observer-attestation channel: reads the physical instrument's display at a probe point and records the reference reading (with its observation timestamp) into the probe form — attestation per ISO/IEC 17000 A.4.3, admitted with recorded traceability limits. ROLE-LINK DECISION (TCD-3, the R45 review minor — decided and pinned): the linker's R45 leg resolves the attestation citation to a lab personnel register entry — IDENTITY only. The person⇄verification_officer role link is a JUDGMENT the certification decision weighs (D3), declared as data: the citing lab's ISO/IEC 17025 6.2.6 authorization activity verification_attestation on the officer's personnel entry. Attestation-channel probe evidence from an officer WITHOUT the declared authorization is INADMISSIBLE at decision time (the admissibility doctrine — it grounds no certification decision, never a fidelity fail of the twin); the program's own roles register declares the role kind, never the person."
|
|
14
|
+
}
|
|
15
|
+
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
form twin-1/probe-creep {
|
|
2
|
+
name "Twin-Fidelity Behavioral Probe Record (Creep Dwell)"
|
|
3
|
+
description "The D2 evidence record of one behavioral probe execution (TODO.v3/02): the constant-load creep dwell — the declared program parameters (dwell duration, dwell load, accuracy class, apportionment factor), the constant-reference anchors at dwell start and end, the served readings at both ends, the RECORDED served series over the dwell, the derived maximum drift (derived ONCE at evidence capture from that series — auditable against it) and the computed class creep allowance (lookupMPE from the Recommendation's class tables, never a platform constant). Facts only — the behavioral fidelity judgment is the verdict chain's (the canonical creep-drift verdict), never the form's."
|
|
4
|
+
data_class FormInstance#data
|
|
5
|
+
conformance_process /conf/twin-fidelity/probe-creep
|
|
6
|
+
section "TW-1, 6.5"
|
|
7
|
+
requirements { /req/twin-fidelity/creep-envelope }
|
|
8
|
+
ref requirement "urn:oiml:pub:cs:twin-1:2027#clause-5.6"
|
|
9
|
+
ref test-procedure "urn:oiml:pub:cs:twin-1:2027#clause-6.5"
|
|
10
|
+
ref report-format "urn:oiml:pub:cs:twin-1:2027#clause-6.5"
|
|
11
|
+
field probe_point : string {
|
|
12
|
+
label "Probe point"
|
|
13
|
+
description "The behavioral schedule point (e.g. 'creep dwell 90% E_max')."
|
|
14
|
+
required true
|
|
15
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
16
|
+
}
|
|
17
|
+
field channel : enum {
|
|
18
|
+
label "Probe channel"
|
|
19
|
+
description "The physical-side channel the reference anchors arrived by — the three-source vocabulary (reference_instrument PREFERRED; observer_attestation admitted with the declared traceability limitation; sim_ground_truth in the acceptance environment only, never a production channel)."
|
|
20
|
+
required true
|
|
21
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
22
|
+
values { reference_instrument { label "Reference instrument" } observer_attestation { label "Observer attestation" } sim_ground_truth { label "Sim ground truth (acceptance only)" } }
|
|
23
|
+
}
|
|
24
|
+
field channel_ref : string {
|
|
25
|
+
label "Channel register citation"
|
|
26
|
+
description "The citation of the channel actually used: the equipment-register id with its calibration trace (reference_instrument), the personnel/participant id of the verification officer (observer_attestation), or the sim deployment id (sim_ground_truth)."
|
|
27
|
+
required true
|
|
28
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
29
|
+
}
|
|
30
|
+
field traceability_limitation : text {
|
|
31
|
+
label "Declared traceability limitation"
|
|
32
|
+
description "The DECLARED limitation the evidence carries when the channel is observer_attestation (twin ≡ display, not twin ≡ mass). Declared data, never a comment; empty only on the instrument and sim channels."
|
|
33
|
+
measurement_method declared
|
|
34
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
35
|
+
}
|
|
36
|
+
field dwell_s : number {
|
|
37
|
+
label "Dwell duration"
|
|
38
|
+
description "The declared dwell duration (the scheme's declaration per register — the pilot's 900 s)."
|
|
39
|
+
unit "s"
|
|
40
|
+
required true
|
|
41
|
+
measurement_method declared
|
|
42
|
+
bind model.parameters.dwell_s
|
|
43
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
44
|
+
}
|
|
45
|
+
field dwell_load : number {
|
|
46
|
+
label "Dwell load"
|
|
47
|
+
description "The applied dwell load (≈90 % E_max — 450 kg for the LC-500-class pilot), held constant over the dwell."
|
|
48
|
+
unit "kg"
|
|
49
|
+
required true
|
|
50
|
+
measurement_method declared
|
|
51
|
+
bind model.parameters.dwell_load
|
|
52
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
53
|
+
}
|
|
54
|
+
field accuracy_class : string {
|
|
55
|
+
label "Accuracy class"
|
|
56
|
+
description "The certified type's accuracy class (C for the LC-500-class pilot) — the lookupMPE class input."
|
|
57
|
+
required true
|
|
58
|
+
measurement_method declared
|
|
59
|
+
bind model.parameters.accuracy_class
|
|
60
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
61
|
+
}
|
|
62
|
+
field p_lc : number {
|
|
63
|
+
label "Apportionment factor"
|
|
64
|
+
description "The apportionment factor (0.7 by default for load cells per R 60) — the lookupMPE apportionment input."
|
|
65
|
+
required true
|
|
66
|
+
measurement_method declared
|
|
67
|
+
bind model.parameters.p_lc
|
|
68
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
69
|
+
}
|
|
70
|
+
field reference_indication_t0 : number {
|
|
71
|
+
label "Reference indication at dwell start"
|
|
72
|
+
description "The reference reading at dwell start (the constant-load anchor)."
|
|
73
|
+
unit "kg"
|
|
74
|
+
required true
|
|
75
|
+
bind sample.test_context.reference_indication_t0
|
|
76
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
77
|
+
}
|
|
78
|
+
field reference_indication_end : number {
|
|
79
|
+
label "Reference indication at dwell end"
|
|
80
|
+
description "The reference reading at dwell end (the constant-load confirmation — |end − start| ≤ allowance/3 or the setup is INVALID)."
|
|
81
|
+
unit "kg"
|
|
82
|
+
required true
|
|
83
|
+
bind sample.test_context.reference_indication_end
|
|
84
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
85
|
+
}
|
|
86
|
+
field served_t0 : number {
|
|
87
|
+
label "Served indication at dwell start"
|
|
88
|
+
description "The served indication at dwell start (the drift baseline)."
|
|
89
|
+
unit "kg"
|
|
90
|
+
required true
|
|
91
|
+
bind sample.test_context.served_t0
|
|
92
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
93
|
+
}
|
|
94
|
+
field served_end : number {
|
|
95
|
+
label "Served indication at dwell end"
|
|
96
|
+
description "The served indication at dwell end."
|
|
97
|
+
unit "kg"
|
|
98
|
+
required true
|
|
99
|
+
bind sample.test_context.served_end
|
|
100
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
101
|
+
}
|
|
102
|
+
field served_at_t0 : number {
|
|
103
|
+
label "Served timestamp at dwell start"
|
|
104
|
+
description "The twin's OWN served timestamp at dwell start (timestamp_fields), epoch seconds — the series' first served_at."
|
|
105
|
+
unit "s"
|
|
106
|
+
required true
|
|
107
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
108
|
+
}
|
|
109
|
+
field observed_at_t0 : number {
|
|
110
|
+
label "Observation timestamp at dwell start"
|
|
111
|
+
description "The t0 anchor's reference observation timestamp, epoch seconds."
|
|
112
|
+
unit "s"
|
|
113
|
+
required true
|
|
114
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
115
|
+
}
|
|
116
|
+
field served_at_end : number {
|
|
117
|
+
label "Served timestamp at dwell end"
|
|
118
|
+
description "The twin's OWN served timestamp at dwell end (timestamp_fields), epoch seconds — the series' last served_at."
|
|
119
|
+
unit "s"
|
|
120
|
+
required true
|
|
121
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
122
|
+
}
|
|
123
|
+
field observed_at_end : number {
|
|
124
|
+
label "Observation timestamp at dwell end"
|
|
125
|
+
description "The end anchor's reference observation timestamp, epoch seconds."
|
|
126
|
+
unit "s"
|
|
127
|
+
required true
|
|
128
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
129
|
+
}
|
|
130
|
+
field pair_skew_t0 : number {
|
|
131
|
+
label "Pairing skew at dwell start"
|
|
132
|
+
description "The t0 anchor's pairing skew |served_at_t0 − observed_at_t0| — a skew beyond the pairing window INVALIDATES the execution, never a fail."
|
|
133
|
+
unit "s"
|
|
134
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
135
|
+
calculation "ocl{abs(served_at_t0 - observed_at_t0)}"
|
|
136
|
+
}
|
|
137
|
+
field pair_skew_end : number {
|
|
138
|
+
label "Pairing skew at dwell end"
|
|
139
|
+
description "The end anchor's pairing skew |served_at_end − observed_at_end| — a skew beyond the pairing window INVALIDATES the execution, never a fail."
|
|
140
|
+
unit "s"
|
|
141
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
142
|
+
calculation "ocl{abs(served_at_end - observed_at_end)}"
|
|
143
|
+
}
|
|
144
|
+
field served_series : array {
|
|
145
|
+
label "Served dwell series"
|
|
146
|
+
description "The RECORDED served samples over the dwell — one row per declared instant: the served value and its own served timestamp. The raw behavioral evidence; the maximum drift derives from this series, auditable against it."
|
|
147
|
+
required true
|
|
148
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
149
|
+
items { object fields {
|
|
150
|
+
field served_at : number {
|
|
151
|
+
label "Served timestamp"
|
|
152
|
+
unit "s"
|
|
153
|
+
required true
|
|
154
|
+
}
|
|
155
|
+
field value : number {
|
|
156
|
+
label "Served indication"
|
|
157
|
+
unit "kg"
|
|
158
|
+
required true
|
|
159
|
+
}
|
|
160
|
+
} }
|
|
161
|
+
min_items 2
|
|
162
|
+
}
|
|
163
|
+
field max_drift : number {
|
|
164
|
+
label "Maximum drift"
|
|
165
|
+
description "The maximum |served sample − served_t0| over the recorded series — derived ONCE at evidence capture (auditable against served_series)."
|
|
166
|
+
unit "kg"
|
|
167
|
+
bind sample.test_context.max_drift
|
|
168
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
169
|
+
}
|
|
170
|
+
field creep_allowance : number {
|
|
171
|
+
label "Creep allowance"
|
|
172
|
+
description "The accuracy-class creep allowance — lookupMPE(dwell_load, accuracy_class, p_lc) from the Recommendation's class tables (never a platform constant)."
|
|
173
|
+
unit "kg"
|
|
174
|
+
bind sample.test_context.creep_allowance
|
|
175
|
+
targets { /req/twin-fidelity/creep-envelope }
|
|
176
|
+
}
|
|
177
|
+
pass_fail { criteria "The execution is admissible: BOTH anchors paired within the pairing window (5 s — a violating pair is INVALID, never a fail) AND the reference constant within one third of the allowance (|reference_end − reference_t0| ≤ creep_allowance / 3 — a drifting reference INVALIDATES the setup, never a fail) — the behavioral judgment itself is the verdict chain's." pass_if "ocl{pair_skew_t0 <= 5 and pair_skew_end <= 5 and abs(reference_indication_end - reference_indication_t0) <= creep_allowance / 3}" }
|
|
178
|
+
}
|
|
179
|
+
|