@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,1157 @@
|
|
|
1
|
+
state_machine Application {
|
|
2
|
+
initial DRAFT
|
|
3
|
+
states {
|
|
4
|
+
DRAFT
|
|
5
|
+
SUBMITTED
|
|
6
|
+
SAMPLES_REQUESTED
|
|
7
|
+
SAMPLES_RECEIVED
|
|
8
|
+
UNDER_REVIEW
|
|
9
|
+
ACCEPTED
|
|
10
|
+
REJECTED
|
|
11
|
+
CHANGES_REQUESTED
|
|
12
|
+
WITHDRAWN
|
|
13
|
+
COMPLETED
|
|
14
|
+
}
|
|
15
|
+
transition DRAFT -> SUBMITTED action submit {
|
|
16
|
+
}
|
|
17
|
+
transition SUBMITTED -> SAMPLES_REQUESTED action ia_requests_samples {
|
|
18
|
+
}
|
|
19
|
+
transition SAMPLES_REQUESTED -> SAMPLES_RECEIVED action ia_logs_samples {
|
|
20
|
+
}
|
|
21
|
+
transition SAMPLES_RECEIVED -> UNDER_REVIEW action ia_starts_review {
|
|
22
|
+
}
|
|
23
|
+
transition UNDER_REVIEW -> ACCEPTED action ia_accepts {
|
|
24
|
+
}
|
|
25
|
+
transition UNDER_REVIEW -> REJECTED action ia_rejects {
|
|
26
|
+
}
|
|
27
|
+
transition [SUBMITTED, SAMPLES_REQUESTED, SAMPLES_RECEIVED, UNDER_REVIEW] -> CHANGES_REQUESTED action ia_requests_changes {
|
|
28
|
+
}
|
|
29
|
+
transition CHANGES_REQUESTED -> UNDER_REVIEW action applicant_resubmits {
|
|
30
|
+
}
|
|
31
|
+
transition [SUBMITTED, SAMPLES_REQUESTED, SAMPLES_RECEIVED, UNDER_REVIEW, CHANGES_REQUESTED] -> WITHDRAWN action applicant_withdraws {
|
|
32
|
+
}
|
|
33
|
+
transition DRAFT -> ACCEPTED action register_offline {
|
|
34
|
+
cascade Application {
|
|
35
|
+
set {
|
|
36
|
+
status: "ACCEPTED"
|
|
37
|
+
reviewed_date: "now"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
transition ACCEPTED -> COMPLETED action ia_marks_completed {
|
|
42
|
+
guard "completion_settled"
|
|
43
|
+
cascade Application {
|
|
44
|
+
set {
|
|
45
|
+
status: "COMPLETED"
|
|
46
|
+
completed_date: "now"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
cascade AuditEvent {
|
|
50
|
+
action record
|
|
51
|
+
with {
|
|
52
|
+
entity_type: "applications"
|
|
53
|
+
entity_id: "${this.id}"
|
|
54
|
+
action: "completed"
|
|
55
|
+
user_id: "user"
|
|
56
|
+
basis: "The Issuing Authority marks the Evaluation Project completed — the completion gate's settling conditions all held (the demo-flows program's settling doctrine: every fee marked paid, the samples' custody closed, the review threads resolved, the reports finalized, the certificate issued and registered; specification/constraints.prl carries the gate's rule as subject-intrinsic inv constraints, and the completion_settled guard refuses with the open items named) — declared transition side-effect; actor/timestamp from the cascade context"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
state_machine TestRequest {
|
|
63
|
+
initial DRAFT
|
|
64
|
+
states {
|
|
65
|
+
DRAFT
|
|
66
|
+
ISSUED
|
|
67
|
+
QUOTED
|
|
68
|
+
ACCEPTED_BY_LAB
|
|
69
|
+
REJECTED_BY_LAB
|
|
70
|
+
IN_PROGRESS
|
|
71
|
+
COMPLETED
|
|
72
|
+
WITHDRAWN
|
|
73
|
+
}
|
|
74
|
+
transition DRAFT -> ISSUED action ia_issues {
|
|
75
|
+
cascade TestRequest {
|
|
76
|
+
set {
|
|
77
|
+
status: "ISSUED"
|
|
78
|
+
issued_date: "now"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
cascade AuditEvent {
|
|
82
|
+
action record
|
|
83
|
+
with {
|
|
84
|
+
entity_type: "testRequests"
|
|
85
|
+
entity_id: "${this.id}"
|
|
86
|
+
action: "issued"
|
|
87
|
+
user_id: "user"
|
|
88
|
+
basis: "IA issues the test request to the laboratory (PD-05 §4.3 dispatch) — declared transition side-effect (TODO.roadmap/52); actor/timestamp from the cascade context"
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
transition ISSUED -> QUOTED action lab_quotes {
|
|
93
|
+
cascade TestRequest {
|
|
94
|
+
set {
|
|
95
|
+
status: "QUOTED"
|
|
96
|
+
quoted_date: "now"
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
cascade AuditEvent {
|
|
100
|
+
action record
|
|
101
|
+
with {
|
|
102
|
+
entity_type: "testRequests"
|
|
103
|
+
entity_id: "${this.id}"
|
|
104
|
+
action: "quotation_issued"
|
|
105
|
+
user_id: "user"
|
|
106
|
+
basis: "The laboratory responds to the dispatched request with a quotation (TODO.adoption/07's quote leg on the PD-05 §4.3 dispatch: price, currency, timeline, conditions and validity ride the Quotation record; the step is optional, a laboratory that does not quote accepts directly) — declared transition side-effect; actor/timestamp from the cascade context"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
transition QUOTED -> ACCEPTED_BY_LAB action ia_accepts_quotation {
|
|
111
|
+
cascade TestRequest {
|
|
112
|
+
set {
|
|
113
|
+
status: "ACCEPTED_BY_LAB"
|
|
114
|
+
accepted_date: "now"
|
|
115
|
+
accepted_by: "user"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
cascade AuditEvent {
|
|
119
|
+
action record
|
|
120
|
+
with {
|
|
121
|
+
entity_type: "testRequests"
|
|
122
|
+
entity_id: "${this.id}"
|
|
123
|
+
action: "quotation_accepted"
|
|
124
|
+
user_id: "user"
|
|
125
|
+
basis: "The Issuing Authority accepts the laboratory's quotation (TODO.adoption/07): the work proceeds exactly as after a direct acceptance — declared transition side-effect; actor/timestamp from the cascade context"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
transition QUOTED -> REJECTED_BY_LAB action ia_declines_quotation {
|
|
130
|
+
cascade TestRequest {
|
|
131
|
+
set {
|
|
132
|
+
status: "REJECTED_BY_LAB"
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
cascade AuditEvent {
|
|
136
|
+
action record
|
|
137
|
+
with {
|
|
138
|
+
entity_type: "testRequests"
|
|
139
|
+
entity_id: "${this.id}"
|
|
140
|
+
action: "quotation_declined"
|
|
141
|
+
user_id: "user"
|
|
142
|
+
basis: "The Issuing Authority declines the laboratory's quotation (TODO.adoption/07): the request closes and the reason rides the quotation record and the audit trail, never silently dropped — declared transition side-effect; actor/timestamp from the cascade context"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
transition ISSUED -> ACCEPTED_BY_LAB action lab_accepts {
|
|
147
|
+
cascade TestRequest {
|
|
148
|
+
set {
|
|
149
|
+
status: "ACCEPTED_BY_LAB"
|
|
150
|
+
accepted_date: "now"
|
|
151
|
+
accepted_by: "user"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
transition ISSUED -> REJECTED_BY_LAB action lab_declines {
|
|
156
|
+
cascade TestRequest {
|
|
157
|
+
set {
|
|
158
|
+
status: "REJECTED_BY_LAB"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
transition ACCEPTED_BY_LAB -> IN_PROGRESS action lab_starts_testing {
|
|
163
|
+
cascade TestRequest {
|
|
164
|
+
set {
|
|
165
|
+
status: "IN_PROGRESS"
|
|
166
|
+
started_date: "now"
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
cascade TestAssignment {
|
|
170
|
+
where "test_request_id = ${this.id}"
|
|
171
|
+
via start
|
|
172
|
+
set {
|
|
173
|
+
status: "IN_PROGRESS"
|
|
174
|
+
started_date: "now"
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
transition IN_PROGRESS -> COMPLETED action lab_issues_test_report {
|
|
179
|
+
cascade TestRequest {
|
|
180
|
+
set {
|
|
181
|
+
status: "COMPLETED"
|
|
182
|
+
completed_date: "now"
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
cascade TestReport {
|
|
186
|
+
action submit
|
|
187
|
+
where "test_request_id = ${this.id}"
|
|
188
|
+
via lab_submits
|
|
189
|
+
}
|
|
190
|
+
cascade TestAssignment {
|
|
191
|
+
where "test_request_id = ${this.id} AND status != OMITTED"
|
|
192
|
+
via complete
|
|
193
|
+
set {
|
|
194
|
+
status: "COMPLETED"
|
|
195
|
+
completed_date: "now"
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
transition [DRAFT, ISSUED, QUOTED] -> WITHDRAWN action ia_cancels {
|
|
200
|
+
cascade TestRequest {
|
|
201
|
+
set {
|
|
202
|
+
status: "WITHDRAWN"
|
|
203
|
+
withdrawn_date: "now"
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
cascade TestAssignment {
|
|
207
|
+
where "test_request_id = ${this.id} AND status != COMPLETED"
|
|
208
|
+
via omit
|
|
209
|
+
set {
|
|
210
|
+
status: "OMITTED"
|
|
211
|
+
omit_reason: "TR withdrawn"
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
state_machine TestReport {
|
|
218
|
+
initial DRAFT
|
|
219
|
+
states {
|
|
220
|
+
DRAFT
|
|
221
|
+
SUBMITTED
|
|
222
|
+
UNDER_REVIEW
|
|
223
|
+
CONSULTATION
|
|
224
|
+
ACCEPTED
|
|
225
|
+
REJECTED
|
|
226
|
+
}
|
|
227
|
+
transition DRAFT -> SUBMITTED action lab_submits {
|
|
228
|
+
cascade TestReport {
|
|
229
|
+
set {
|
|
230
|
+
status: "SUBMITTED"
|
|
231
|
+
submitted_date: "now"
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
cascade FormInstance {
|
|
235
|
+
action lock
|
|
236
|
+
where "test_report_id = ${this.id} AND status != LOCKED"
|
|
237
|
+
via test_report_issued
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
transition SUBMITTED -> UNDER_REVIEW action ia_starts_review {
|
|
241
|
+
cascade TestReport {
|
|
242
|
+
set {
|
|
243
|
+
status: "UNDER_REVIEW"
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
transition UNDER_REVIEW -> ACCEPTED action ia_accepts {
|
|
248
|
+
cascade TestReport {
|
|
249
|
+
set {
|
|
250
|
+
status: "ACCEPTED"
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
transition UNDER_REVIEW -> REJECTED action ia_rejects {
|
|
255
|
+
cascade TestReport {
|
|
256
|
+
set {
|
|
257
|
+
status: "REJECTED"
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
cascade FormInstance {
|
|
261
|
+
where "test_report_id = ${this.id} AND status = LOCKED"
|
|
262
|
+
via ia_accepts
|
|
263
|
+
set {
|
|
264
|
+
status: "ACCEPTED"
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
transition UNDER_REVIEW -> CONSULTATION action ia_opens_consultation {
|
|
269
|
+
cascade TestReport {
|
|
270
|
+
set {
|
|
271
|
+
status: "CONSULTATION"
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
cascade AuditEvent {
|
|
275
|
+
action record
|
|
276
|
+
with {
|
|
277
|
+
entity_type: "testReports"
|
|
278
|
+
entity_id: "${this.id}"
|
|
279
|
+
action: "consultation_opened"
|
|
280
|
+
user_id: "user"
|
|
281
|
+
basis: "The Issuing Authority opens the review period on the test report (the demo-flows program's flow 04, step 4: the Evaluation Project's participants comment on the report — the threads of entities/comments.prl — before its finalization completes; the consultation_resolved guard gates the decision hops) — declared transition side-effect; actor/timestamp from the cascade context"
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
transition CONSULTATION -> ACCEPTED action ia_accepts {
|
|
286
|
+
guard "consultation_resolved"
|
|
287
|
+
cascade TestReport {
|
|
288
|
+
set {
|
|
289
|
+
status: "ACCEPTED"
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
transition CONSULTATION -> REJECTED action ia_rejects {
|
|
294
|
+
guard "consultation_resolved"
|
|
295
|
+
cascade TestReport {
|
|
296
|
+
set {
|
|
297
|
+
status: "REJECTED"
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
cascade FormInstance {
|
|
301
|
+
where "test_report_id = ${this.id} AND status = LOCKED"
|
|
302
|
+
via ia_accepts
|
|
303
|
+
set {
|
|
304
|
+
status: "ACCEPTED"
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
transition CONSULTATION -> DRAFT action ia_returns_to_lab {
|
|
309
|
+
cascade TestReport {
|
|
310
|
+
set {
|
|
311
|
+
status: "DRAFT"
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
cascade FormInstance {
|
|
315
|
+
where "test_report_id = ${this.id} AND status = LOCKED"
|
|
316
|
+
via test_report_recalled
|
|
317
|
+
set {
|
|
318
|
+
status: "SUBMITTED"
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
transition SUBMITTED -> DRAFT action lab_withdraws_for_edit {
|
|
323
|
+
cascade TestReport {
|
|
324
|
+
set {
|
|
325
|
+
status: "DRAFT"
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
cascade FormInstance {
|
|
329
|
+
where "test_report_id = ${this.id} AND status = LOCKED"
|
|
330
|
+
via test_report_recalled
|
|
331
|
+
set {
|
|
332
|
+
status: "SUBMITTED"
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
transition UNDER_REVIEW -> DRAFT action ia_returns_to_lab {
|
|
337
|
+
cascade TestReport {
|
|
338
|
+
set {
|
|
339
|
+
status: "DRAFT"
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
cascade FormInstance {
|
|
343
|
+
where "test_report_id = ${this.id} AND status = LOCKED"
|
|
344
|
+
via test_report_recalled
|
|
345
|
+
set {
|
|
346
|
+
status: "SUBMITTED"
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
transition DRAFT -> SUBMITTED action register_offline {
|
|
351
|
+
cascade TestReport {
|
|
352
|
+
set {
|
|
353
|
+
status: "SUBMITTED"
|
|
354
|
+
submitted_date: "now"
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
state_machine FormInstance {
|
|
361
|
+
initial DRAFT
|
|
362
|
+
states {
|
|
363
|
+
DRAFT
|
|
364
|
+
IN_PROGRESS
|
|
365
|
+
SUBMITTED
|
|
366
|
+
LOCKED
|
|
367
|
+
ACCEPTED
|
|
368
|
+
REJECTED
|
|
369
|
+
}
|
|
370
|
+
transition DRAFT -> IN_PROGRESS action lab_starts_filling {
|
|
371
|
+
}
|
|
372
|
+
transition [DRAFT, IN_PROGRESS] -> SUBMITTED action lab_submits_with_report {
|
|
373
|
+
}
|
|
374
|
+
transition SUBMITTED -> LOCKED action test_report_issued {
|
|
375
|
+
}
|
|
376
|
+
transition LOCKED -> SUBMITTED action test_report_recalled {
|
|
377
|
+
}
|
|
378
|
+
transition LOCKED -> ACCEPTED action ia_accepts {
|
|
379
|
+
}
|
|
380
|
+
transition LOCKED -> REJECTED action ia_rejects {
|
|
381
|
+
}
|
|
382
|
+
transition ACCEPTED -> LOCKED action ia_reopens {
|
|
383
|
+
}
|
|
384
|
+
transition [IN_PROGRESS, SUBMITTED] -> DRAFT action run_redone {
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
state_machine EvaluationReport {
|
|
389
|
+
initial DRAFT
|
|
390
|
+
states {
|
|
391
|
+
DRAFT
|
|
392
|
+
IN_REVIEW
|
|
393
|
+
ALL_TR_REVIEWED
|
|
394
|
+
CONSULTATION
|
|
395
|
+
APPROVED
|
|
396
|
+
REJECTED
|
|
397
|
+
CONDITIONALLY_APPROVED
|
|
398
|
+
}
|
|
399
|
+
transition DRAFT -> IN_REVIEW action ia_opens_first_tr {
|
|
400
|
+
}
|
|
401
|
+
transition IN_REVIEW -> ALL_TR_REVIEWED action last_tr_determined {
|
|
402
|
+
}
|
|
403
|
+
transition ALL_TR_REVIEWED -> CONSULTATION action ia_opens_consultation {
|
|
404
|
+
cascade AuditEvent {
|
|
405
|
+
action record
|
|
406
|
+
with {
|
|
407
|
+
entity_type: "evaluationReports"
|
|
408
|
+
entity_id: "${this.id}"
|
|
409
|
+
action: "consultation_opened"
|
|
410
|
+
user_id: "user"
|
|
411
|
+
basis: "The Issuing Authority opens the review period on the evaluation report (the demo-flows program's flow 04, step 4: every report's finalization runs the participants' comment round — the threads of entities/comments.prl — and the consultation_resolved guard gates the terminal decision hops, so the threads resolve before the finalization completes) — declared transition side-effect; actor/timestamp from the cascade context"
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
transition CONSULTATION -> APPROVED action ia_approves {
|
|
416
|
+
guard "consultation_resolved"
|
|
417
|
+
cascade EvaluationReport {
|
|
418
|
+
set {
|
|
419
|
+
overall_decision: "APPROVED"
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
transition CONSULTATION -> REJECTED action ia_rejects {
|
|
424
|
+
guard "consultation_resolved"
|
|
425
|
+
cascade EvaluationReport {
|
|
426
|
+
set {
|
|
427
|
+
overall_decision: "REJECTED"
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
transition CONSULTATION -> CONDITIONALLY_APPROVED action ia_approves_with_conditions {
|
|
432
|
+
guard "consultation_resolved"
|
|
433
|
+
cascade EvaluationReport {
|
|
434
|
+
set {
|
|
435
|
+
overall_decision: "CONDITIONALLY_APPROVED"
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
transition CONSULTATION -> IN_REVIEW action ia_reopens {
|
|
440
|
+
cascade EvaluationReport {
|
|
441
|
+
set {
|
|
442
|
+
overall_decision: "PENDING"
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
transition ALL_TR_REVIEWED -> APPROVED action ia_approves {
|
|
447
|
+
cascade EvaluationReport {
|
|
448
|
+
set {
|
|
449
|
+
overall_decision: "APPROVED"
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
transition ALL_TR_REVIEWED -> REJECTED action ia_rejects {
|
|
454
|
+
cascade EvaluationReport {
|
|
455
|
+
set {
|
|
456
|
+
overall_decision: "REJECTED"
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
transition ALL_TR_REVIEWED -> CONDITIONALLY_APPROVED action ia_approves_with_conditions {
|
|
461
|
+
cascade EvaluationReport {
|
|
462
|
+
set {
|
|
463
|
+
overall_decision: "CONDITIONALLY_APPROVED"
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
transition [APPROVED, REJECTED, CONDITIONALLY_APPROVED] -> IN_REVIEW action ia_reopens {
|
|
468
|
+
cascade EvaluationReport {
|
|
469
|
+
set {
|
|
470
|
+
overall_decision: "PENDING"
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
transition DRAFT -> APPROVED action register_offline_approved {
|
|
475
|
+
cascade EvaluationReport {
|
|
476
|
+
set {
|
|
477
|
+
overall_decision: "APPROVED"
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
transition DRAFT -> REJECTED action register_offline_rejected {
|
|
482
|
+
cascade EvaluationReport {
|
|
483
|
+
set {
|
|
484
|
+
overall_decision: "REJECTED"
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
transition DRAFT -> CONDITIONALLY_APPROVED action register_offline_conditionally_approved {
|
|
489
|
+
cascade EvaluationReport {
|
|
490
|
+
set {
|
|
491
|
+
overall_decision: "CONDITIONALLY_APPROVED"
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
state_machine Certificate {
|
|
498
|
+
initial DRAFT
|
|
499
|
+
states {
|
|
500
|
+
DRAFT
|
|
501
|
+
PENDING_REGISTRATION
|
|
502
|
+
ACTIVE
|
|
503
|
+
EXPIRED
|
|
504
|
+
WITHDRAWN
|
|
505
|
+
SUSPENDED
|
|
506
|
+
UNDER_INVESTIGATION
|
|
507
|
+
}
|
|
508
|
+
transition DRAFT -> PENDING_REGISTRATION action submit {
|
|
509
|
+
}
|
|
510
|
+
transition PENDING_REGISTRATION -> ACTIVE action register {
|
|
511
|
+
}
|
|
512
|
+
transition ACTIVE -> EXPIRED action expire {
|
|
513
|
+
}
|
|
514
|
+
transition ACTIVE -> WITHDRAWN action withdraw {
|
|
515
|
+
}
|
|
516
|
+
transition ACTIVE -> SUSPENDED action suspend {
|
|
517
|
+
}
|
|
518
|
+
transition SUSPENDED -> ACTIVE action reinstate {
|
|
519
|
+
}
|
|
520
|
+
transition SUSPENDED -> WITHDRAWN action withdraw {
|
|
521
|
+
}
|
|
522
|
+
transition ACTIVE -> UNDER_INVESTIGATION action investigate {
|
|
523
|
+
}
|
|
524
|
+
transition UNDER_INVESTIGATION -> ACTIVE action clear {
|
|
525
|
+
}
|
|
526
|
+
transition UNDER_INVESTIGATION -> SUSPENDED action suspend {
|
|
527
|
+
}
|
|
528
|
+
transition UNDER_INVESTIGATION -> WITHDRAWN action withdraw {
|
|
529
|
+
}
|
|
530
|
+
transition [ACTIVE, EXPIRED] -> PENDING_REGISTRATION action renew {
|
|
531
|
+
}
|
|
532
|
+
transition [ACTIVE, EXPIRED] -> PENDING_REGISTRATION action revise {
|
|
533
|
+
}
|
|
534
|
+
transition [ACTIVE, EXPIRED] -> PENDING_REGISTRATION action transfer_ownership {
|
|
535
|
+
}
|
|
536
|
+
transition DRAFT -> ACTIVE action issue {
|
|
537
|
+
}
|
|
538
|
+
transition [ACTIVE, EXPIRED] -> ACTIVE action renew {
|
|
539
|
+
}
|
|
540
|
+
transition [ACTIVE, EXPIRED] -> ACTIVE action revise {
|
|
541
|
+
}
|
|
542
|
+
transition [ACTIVE, EXPIRED] -> ACTIVE action transfer_ownership {
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
state_machine CertificateRegistration {
|
|
547
|
+
initial ANNOUNCED
|
|
548
|
+
states {
|
|
549
|
+
ANNOUNCED
|
|
550
|
+
SUBMITTED
|
|
551
|
+
PUBLISHED
|
|
552
|
+
REFUSED
|
|
553
|
+
}
|
|
554
|
+
transition ANNOUNCED -> SUBMITTED action intake_verifies {
|
|
555
|
+
cascade CertificateRegistration {
|
|
556
|
+
set {
|
|
557
|
+
status: "SUBMITTED"
|
|
558
|
+
submitted_at: "now"
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
cascade AuditEvent {
|
|
562
|
+
action record
|
|
563
|
+
with {
|
|
564
|
+
entity_type: "certificateRegistrations"
|
|
565
|
+
entity_id: "${this.id}"
|
|
566
|
+
action: "submitted"
|
|
567
|
+
user_id: "user"
|
|
568
|
+
basis: "The signed registration package passed the register's intake verification (TODO.federation/06's registration sequence: the signature verified against the submitting IA's registered org key, the standing check, and the registrant correlation's orphan check — the trust registry's verification runs at intake) — declared transition side-effect; actor/timestamp from the cascade context"
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
transition SUBMITTED -> PUBLISHED action auto_publishes {
|
|
573
|
+
cascade CertificateRegistration {
|
|
574
|
+
set {
|
|
575
|
+
status: "PUBLISHED"
|
|
576
|
+
published_at: "now"
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
cascade AuditEvent {
|
|
580
|
+
action record
|
|
581
|
+
with {
|
|
582
|
+
entity_type: "certificateRegistrations"
|
|
583
|
+
entity_id: "${this.id}"
|
|
584
|
+
action: "published"
|
|
585
|
+
user_id: "user"
|
|
586
|
+
basis: "The verified, receipt-tracked registration submission publishes to the public register with NO human gate (the decided register doctrine — the demo-flows program owner, 2026-08-28: the register's trust is in the signature + the receipt machinery and the published record is exactly what the IA signed and sent; the human review surfaces remain as the operator's read postures, never a gate) — declared transition side-effect; actor/timestamp from the cascade context"
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
transition [ANNOUNCED, SUBMITTED] -> REFUSED action intake_refuses {
|
|
591
|
+
cascade CertificateRegistration {
|
|
592
|
+
set {
|
|
593
|
+
status: "REFUSED"
|
|
594
|
+
refused_at: "now"
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
cascade AuditEvent {
|
|
598
|
+
action record
|
|
599
|
+
with {
|
|
600
|
+
entity_type: "certificateRegistrations"
|
|
601
|
+
entity_id: "${this.id}"
|
|
602
|
+
action: "refused"
|
|
603
|
+
user_id: "user"
|
|
604
|
+
basis: "The intake verification refused the registration submission — the signature did not verify, the registrant correlation mismatched, or the standing check failed; the written reason rides the record's refusal_reason (PD-05 §6 decisions are stated, never silent) — declared transition side-effect; actor/timestamp from the cascade context"
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
state_machine TestAssignment {
|
|
611
|
+
initial PENDING
|
|
612
|
+
states {
|
|
613
|
+
PENDING
|
|
614
|
+
ACCEPTED
|
|
615
|
+
IN_PROGRESS
|
|
616
|
+
COMPLETED
|
|
617
|
+
OMITTED
|
|
618
|
+
FAILED
|
|
619
|
+
}
|
|
620
|
+
transition PENDING -> ACCEPTED action lab_accepts {
|
|
621
|
+
cascade TestAssignment {
|
|
622
|
+
set {
|
|
623
|
+
accepted_date: "now"
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
transition [PENDING, ACCEPTED] -> IN_PROGRESS action start {
|
|
628
|
+
cascade TestAssignment {
|
|
629
|
+
set {
|
|
630
|
+
started_date: "now"
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
transition [PENDING, ACCEPTED, IN_PROGRESS] -> COMPLETED action complete {
|
|
635
|
+
cascade TestAssignment {
|
|
636
|
+
set {
|
|
637
|
+
completed_date: "now"
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
transition IN_PROGRESS -> FAILED action invalidate {
|
|
642
|
+
cascade TestAssignment {
|
|
643
|
+
set {
|
|
644
|
+
completed_date: "now"
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
transition FAILED -> IN_PROGRESS action redo {
|
|
649
|
+
}
|
|
650
|
+
transition [PENDING, ACCEPTED, IN_PROGRESS, FAILED] -> OMITTED action omit {
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
state_machine TestRun {
|
|
655
|
+
initial PLANNED
|
|
656
|
+
states {
|
|
657
|
+
PLANNED
|
|
658
|
+
IN_PROGRESS
|
|
659
|
+
COMPLETED
|
|
660
|
+
INVALIDATED
|
|
661
|
+
}
|
|
662
|
+
transition PLANNED -> IN_PROGRESS action record_evidence {
|
|
663
|
+
}
|
|
664
|
+
transition [PLANNED, IN_PROGRESS] -> COMPLETED action complete {
|
|
665
|
+
guard "admissible"
|
|
666
|
+
cascade FormInstance {
|
|
667
|
+
where "id = ${this.form_instance_id} AND status != SUBMITTED"
|
|
668
|
+
via lab_submits_with_report
|
|
669
|
+
set {
|
|
670
|
+
status: "SUBMITTED"
|
|
671
|
+
result: "PASS"
|
|
672
|
+
submitted_at: "now"
|
|
673
|
+
modified: "now"
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
cascade TestAssignment {
|
|
677
|
+
where "id = ${this.test_assignment_id}"
|
|
678
|
+
via complete
|
|
679
|
+
set {
|
|
680
|
+
status: "COMPLETED"
|
|
681
|
+
completed_date: "now"
|
|
682
|
+
form_instance_id: "${this.form_instance_id}"
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
transition [PLANNED, IN_PROGRESS] -> INVALIDATED action invalidate {
|
|
687
|
+
cascade TestAssignment {
|
|
688
|
+
where "id = ${this.test_assignment_id}"
|
|
689
|
+
via invalidate
|
|
690
|
+
set {
|
|
691
|
+
status: "FAILED"
|
|
692
|
+
completed_date: "now"
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
transition INVALIDATED -> PLANNED action redo {
|
|
697
|
+
cascade TestAssignment {
|
|
698
|
+
where "id = ${this.test_assignment_id} AND status = FAILED"
|
|
699
|
+
via redo
|
|
700
|
+
set {
|
|
701
|
+
status: "IN_PROGRESS"
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
cascade FormInstance {
|
|
705
|
+
where "id = ${this.form_instance_id} AND status != DRAFT"
|
|
706
|
+
via run_redone
|
|
707
|
+
set {
|
|
708
|
+
status: "DRAFT"
|
|
709
|
+
modified: "now"
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
state_machine MeasuringInstrumentSample {
|
|
716
|
+
initial REQUESTED
|
|
717
|
+
states {
|
|
718
|
+
REQUESTED
|
|
719
|
+
IN_TRANSIT
|
|
720
|
+
RECEIVED
|
|
721
|
+
IN_TESTING
|
|
722
|
+
TESTING_COMPLETE
|
|
723
|
+
RETURNED
|
|
724
|
+
RETAINED
|
|
725
|
+
DESTROYED
|
|
726
|
+
DISPOSED
|
|
727
|
+
}
|
|
728
|
+
transition REQUESTED -> IN_TRANSIT action manufacturer_ships {
|
|
729
|
+
}
|
|
730
|
+
transition IN_TRANSIT -> RECEIVED action ia_logs_receipt {
|
|
731
|
+
}
|
|
732
|
+
transition RECEIVED -> IN_TRANSIT action ia_dispatches_to_lab {
|
|
733
|
+
}
|
|
734
|
+
transition IN_TRANSIT -> RECEIVED action lab_acknowledges_receipt {
|
|
735
|
+
}
|
|
736
|
+
transition RECEIVED -> IN_TESTING action lab_starts_test {
|
|
737
|
+
}
|
|
738
|
+
transition IN_TESTING -> TESTING_COMPLETE action lab_test_complete {
|
|
739
|
+
}
|
|
740
|
+
transition TESTING_COMPLETE -> IN_TRANSIT action ia_recalls {
|
|
741
|
+
}
|
|
742
|
+
transition IN_TRANSIT -> RECEIVED action ia_logs_return {
|
|
743
|
+
}
|
|
744
|
+
transition RECEIVED -> RETURNED action ia_returns_to_manufacturer {
|
|
745
|
+
}
|
|
746
|
+
transition RECEIVED -> RETAINED action ia_retains {
|
|
747
|
+
}
|
|
748
|
+
transition RECEIVED -> DESTROYED action ia_destroys {
|
|
749
|
+
}
|
|
750
|
+
transition RECEIVED -> DISPOSED action ia_disposes {
|
|
751
|
+
}
|
|
752
|
+
transition RETAINED -> DESTROYED action ia_destroys {
|
|
753
|
+
}
|
|
754
|
+
transition RETAINED -> DISPOSED action ia_disposes {
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
state_machine VerificationRecord {
|
|
759
|
+
initial DRAFT
|
|
760
|
+
states {
|
|
761
|
+
DRAFT
|
|
762
|
+
IN_PROGRESS
|
|
763
|
+
ASSESSED
|
|
764
|
+
PASSED
|
|
765
|
+
FAILED
|
|
766
|
+
MARKED
|
|
767
|
+
}
|
|
768
|
+
transition DRAFT -> IN_PROGRESS action verification_starts {
|
|
769
|
+
}
|
|
770
|
+
transition IN_PROGRESS -> ASSESSED action tests_completed {
|
|
771
|
+
}
|
|
772
|
+
transition ASSESSED -> PASSED action conformity_passed {
|
|
773
|
+
}
|
|
774
|
+
transition ASSESSED -> FAILED action conformity_failed {
|
|
775
|
+
}
|
|
776
|
+
transition PASSED -> MARKED action marks_applied {
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
state_machine SampleVerification {
|
|
781
|
+
initial NOT_VERIFIED
|
|
782
|
+
states {
|
|
783
|
+
NOT_VERIFIED
|
|
784
|
+
VERIFIED
|
|
785
|
+
REVERIFICATION_DUE
|
|
786
|
+
INVALIDATED
|
|
787
|
+
}
|
|
788
|
+
transition NOT_VERIFIED -> VERIFIED action initial_verification_passed {
|
|
789
|
+
}
|
|
790
|
+
transition VERIFIED -> REVERIFICATION_DUE action validity_elapsed {
|
|
791
|
+
}
|
|
792
|
+
transition VERIFIED -> INVALIDATED action invalidating_signal_received {
|
|
793
|
+
}
|
|
794
|
+
transition [REVERIFICATION_DUE, INVALIDATED] -> VERIFIED action subsequent_verification_passed {
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
state_machine ParticipantApplication {
|
|
799
|
+
initial SUBMITTED
|
|
800
|
+
states {
|
|
801
|
+
SUBMITTED
|
|
802
|
+
ASSESSMENT
|
|
803
|
+
RC_REVIEW
|
|
804
|
+
MC_VOTE
|
|
805
|
+
DECLARATION_PENDING
|
|
806
|
+
REJECTED
|
|
807
|
+
ACTIVE
|
|
808
|
+
SUSPENDED
|
|
809
|
+
WITHDRAWN
|
|
810
|
+
}
|
|
811
|
+
transition SUBMITTED -> ASSESSMENT action competence_evidence_recorded {
|
|
812
|
+
}
|
|
813
|
+
transition ASSESSMENT -> RC_REVIEW action referred_to_rc {
|
|
814
|
+
}
|
|
815
|
+
transition RC_REVIEW -> MC_VOTE action rc_recommendation_recorded {
|
|
816
|
+
}
|
|
817
|
+
transition MC_VOTE -> DECLARATION_PENDING action mc_approves {
|
|
818
|
+
}
|
|
819
|
+
transition MC_VOTE -> REJECTED action mc_rejects {
|
|
820
|
+
}
|
|
821
|
+
transition DECLARATION_PENDING -> ACTIVE action declaration_signed {
|
|
822
|
+
}
|
|
823
|
+
transition ACTIVE -> SUSPENDED action mc_suspends {
|
|
824
|
+
}
|
|
825
|
+
transition SUSPENDED -> ACTIVE action mc_reinstates {
|
|
826
|
+
}
|
|
827
|
+
transition [ACTIVE, SUSPENDED, DECLARATION_PENDING] -> WITHDRAWN action participant_withdraws {
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
state_machine ParticipantDeclaration {
|
|
832
|
+
initial draft
|
|
833
|
+
states {
|
|
834
|
+
draft
|
|
835
|
+
signed
|
|
836
|
+
suspended
|
|
837
|
+
withdrawn
|
|
838
|
+
}
|
|
839
|
+
transition draft -> signed action sign {
|
|
840
|
+
}
|
|
841
|
+
transition signed -> draft action amend {
|
|
842
|
+
}
|
|
843
|
+
transition signed -> suspended action suspend {
|
|
844
|
+
}
|
|
845
|
+
transition suspended -> signed action reinstate {
|
|
846
|
+
}
|
|
847
|
+
transition [draft, signed, suspended] -> withdrawn action withdraw {
|
|
848
|
+
}
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
state_machine AnrDeclaration {
|
|
852
|
+
initial DRAFT
|
|
853
|
+
states {
|
|
854
|
+
DRAFT
|
|
855
|
+
SUBMITTED
|
|
856
|
+
APPROVED
|
|
857
|
+
REJECTED
|
|
858
|
+
WITHDRAWN
|
|
859
|
+
}
|
|
860
|
+
transition DRAFT -> SUBMITTED action submit_for_review {
|
|
861
|
+
}
|
|
862
|
+
transition SUBMITTED -> APPROVED action cs_approves {
|
|
863
|
+
}
|
|
864
|
+
transition SUBMITTED -> REJECTED action cs_rejects {
|
|
865
|
+
}
|
|
866
|
+
transition REJECTED -> DRAFT action revise {
|
|
867
|
+
}
|
|
868
|
+
transition APPROVED -> DRAFT action amend {
|
|
869
|
+
}
|
|
870
|
+
transition [DRAFT, SUBMITTED, REJECTED, APPROVED] -> WITHDRAWN action withdraw {
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
state_machine AppealCase {
|
|
875
|
+
initial LODGED
|
|
876
|
+
states {
|
|
877
|
+
LODGED
|
|
878
|
+
CIRCULATED
|
|
879
|
+
CONSIDERED
|
|
880
|
+
DECIDED
|
|
881
|
+
INADMISSIBLE
|
|
882
|
+
}
|
|
883
|
+
transition LODGED -> CIRCULATED action information_circulated {
|
|
884
|
+
}
|
|
885
|
+
transition CIRCULATED -> CONSIDERED action boa_considers {
|
|
886
|
+
}
|
|
887
|
+
transition CONSIDERED -> DECIDED action boa_decides {
|
|
888
|
+
}
|
|
889
|
+
transition LODGED -> INADMISSIBLE action rule_inadmissible {
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
state_machine ComplaintCase {
|
|
894
|
+
initial RECEIVED
|
|
895
|
+
states {
|
|
896
|
+
RECEIVED
|
|
897
|
+
INVESTIGATION
|
|
898
|
+
UPHELD
|
|
899
|
+
DISMISSED
|
|
900
|
+
}
|
|
901
|
+
transition RECEIVED -> INVESTIGATION action investigation_opened {
|
|
902
|
+
}
|
|
903
|
+
transition INVESTIGATION -> UPHELD action complaint_upheld {
|
|
904
|
+
}
|
|
905
|
+
transition INVESTIGATION -> DISMISSED action complaint_dismissed {
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
state_machine MisuseCase {
|
|
910
|
+
initial EVIDENCED
|
|
911
|
+
states {
|
|
912
|
+
EVIDENCED
|
|
913
|
+
WARNED
|
|
914
|
+
CLOSED
|
|
915
|
+
DEREGISTERED
|
|
916
|
+
}
|
|
917
|
+
transition EVIDENCED -> WARNED action owner_warned {
|
|
918
|
+
}
|
|
919
|
+
transition WARNED -> CLOSED action case_closed {
|
|
920
|
+
}
|
|
921
|
+
transition WARNED -> DEREGISTERED action biml_deregisters {
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
state_machine Marking {
|
|
926
|
+
initial DRAFT
|
|
927
|
+
states {
|
|
928
|
+
DRAFT
|
|
929
|
+
AFFIXED
|
|
930
|
+
INSPECTED
|
|
931
|
+
SUPERSEDED
|
|
932
|
+
}
|
|
933
|
+
transition DRAFT -> AFFIXED action marking_affixed {
|
|
934
|
+
}
|
|
935
|
+
transition AFFIXED -> INSPECTED action marking_inspected {
|
|
936
|
+
}
|
|
937
|
+
transition [DRAFT, AFFIXED, INSPECTED] -> SUPERSEDED action marking_superseded {
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
state_machine Sealing {
|
|
942
|
+
initial DRAFT
|
|
943
|
+
states {
|
|
944
|
+
DRAFT
|
|
945
|
+
AFFIXED
|
|
946
|
+
INSPECTED
|
|
947
|
+
SUPERSEDED
|
|
948
|
+
}
|
|
949
|
+
transition DRAFT -> AFFIXED action sealing_affixed {
|
|
950
|
+
}
|
|
951
|
+
transition AFFIXED -> INSPECTED action sealing_inspected {
|
|
952
|
+
}
|
|
953
|
+
transition [DRAFT, AFFIXED, INSPECTED] -> SUPERSEDED action sealing_superseded {
|
|
954
|
+
}
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
state_machine CalibrationRecord {
|
|
958
|
+
initial DRAFT
|
|
959
|
+
states {
|
|
960
|
+
DRAFT
|
|
961
|
+
AFFIXED
|
|
962
|
+
INSPECTED
|
|
963
|
+
SUPERSEDED
|
|
964
|
+
}
|
|
965
|
+
transition DRAFT -> AFFIXED action calibration_record_affixed {
|
|
966
|
+
}
|
|
967
|
+
transition AFFIXED -> INSPECTED action calibration_record_inspected {
|
|
968
|
+
}
|
|
969
|
+
transition [DRAFT, AFFIXED, INSPECTED] -> SUPERSEDED action calibration_record_superseded {
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
state_machine Engagement {
|
|
974
|
+
initial INQUIRY
|
|
975
|
+
states {
|
|
976
|
+
INQUIRY
|
|
977
|
+
QUOTED
|
|
978
|
+
AGREED
|
|
979
|
+
CONVERTED
|
|
980
|
+
DECLINED
|
|
981
|
+
WITHDRAWN
|
|
982
|
+
PENDING_EXTERNAL
|
|
983
|
+
}
|
|
984
|
+
transition INQUIRY -> QUOTED action provider_issues_quotation {
|
|
985
|
+
cascade Engagement {
|
|
986
|
+
set {
|
|
987
|
+
status: "QUOTED"
|
|
988
|
+
quoted_date: "now"
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
cascade AuditEvent {
|
|
992
|
+
action record
|
|
993
|
+
with {
|
|
994
|
+
entity_type: "engagements"
|
|
995
|
+
entity_id: "${this.id}"
|
|
996
|
+
action: "quotation_issued"
|
|
997
|
+
user_id: "user"
|
|
998
|
+
basis: "The provider issues the quotation against the inquiry (TODO.adoption/07: the provider is the Issuing Authority on ia_applicant, the Test Laboratory on ia_tl and tl_applicant; ISO/IEC 17065:2012, 7.2/7.3.1; the fee content per PD-05 §4.2.8) — declared transition side-effect; actor/timestamp from the cascade context"
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
transition QUOTED -> AGREED action agreement_signed {
|
|
1003
|
+
cascade Engagement {
|
|
1004
|
+
set {
|
|
1005
|
+
status: "AGREED"
|
|
1006
|
+
agreed_date: "now"
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
cascade AuditEvent {
|
|
1010
|
+
action record
|
|
1011
|
+
with {
|
|
1012
|
+
entity_type: "engagements"
|
|
1013
|
+
entity_id: "${this.id}"
|
|
1014
|
+
action: "agreement_signed"
|
|
1015
|
+
user_id: "user"
|
|
1016
|
+
basis: "The agreement carries both signatures (ISO/IEC 17065:2012, 4.1.2) — the completing signature fires the hop; actor/timestamp from the cascade context"
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
transition AGREED -> CONVERTED action convert_to_application {
|
|
1021
|
+
guard "conversion_offered"
|
|
1022
|
+
cascade Engagement {
|
|
1023
|
+
set {
|
|
1024
|
+
status: "CONVERTED"
|
|
1025
|
+
converted_date: "now"
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
cascade AuditEvent {
|
|
1029
|
+
action record
|
|
1030
|
+
with {
|
|
1031
|
+
entity_type: "engagements"
|
|
1032
|
+
entity_id: "${this.id}"
|
|
1033
|
+
action: "converted"
|
|
1034
|
+
user_id: "user"
|
|
1035
|
+
basis: "The ia_applicant negotiation converts into the technical Application (converted_application_id) and turns read-only (TODO.federation/02; the conversion_offered guard holds the kind: ia_tl and tl_applicant negotiations never convert) — declared transition side-effect; actor/timestamp from the cascade context"
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
transition INQUIRY -> DECLINED action provider_declines {
|
|
1040
|
+
cascade Engagement {
|
|
1041
|
+
set {
|
|
1042
|
+
status: "DECLINED"
|
|
1043
|
+
declined_date: "now"
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
cascade AuditEvent {
|
|
1047
|
+
action record
|
|
1048
|
+
with {
|
|
1049
|
+
entity_type: "engagements"
|
|
1050
|
+
entity_id: "${this.id}"
|
|
1051
|
+
action: "declined"
|
|
1052
|
+
user_id: "user"
|
|
1053
|
+
basis: "The provider declines the inquiry (ISO/IEC 17065:2012, 7.3.4: e.g. without competence); the reason rides on the record's decline_reason — declared transition side-effect; actor/timestamp from the cascade context"
|
|
1054
|
+
}
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
transition QUOTED -> DECLINED action requester_declines {
|
|
1058
|
+
cascade Engagement {
|
|
1059
|
+
set {
|
|
1060
|
+
status: "DECLINED"
|
|
1061
|
+
declined_date: "now"
|
|
1062
|
+
}
|
|
1063
|
+
}
|
|
1064
|
+
cascade AuditEvent {
|
|
1065
|
+
action record
|
|
1066
|
+
with {
|
|
1067
|
+
entity_type: "engagements"
|
|
1068
|
+
entity_id: "${this.id}"
|
|
1069
|
+
action: "declined"
|
|
1070
|
+
user_id: "user"
|
|
1071
|
+
basis: "The requester declines the quotation; the reason rides on the record's decline_reason — declared transition side-effect; actor/timestamp from the cascade context"
|
|
1072
|
+
}
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1075
|
+
transition [INQUIRY, QUOTED, PENDING_EXTERNAL] -> WITHDRAWN action requester_withdraws {
|
|
1076
|
+
cascade Engagement {
|
|
1077
|
+
set {
|
|
1078
|
+
status: "WITHDRAWN"
|
|
1079
|
+
withdrawn_date: "now"
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
cascade AuditEvent {
|
|
1083
|
+
action record
|
|
1084
|
+
with {
|
|
1085
|
+
entity_type: "engagements"
|
|
1086
|
+
entity_id: "${this.id}"
|
|
1087
|
+
action: "withdrawn"
|
|
1088
|
+
user_id: "user"
|
|
1089
|
+
basis: "The requester withdraws the inquiry before agreement; the reason rides on the record's withdrawal_reason — declared transition side-effect; actor/timestamp from the cascade context"
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1092
|
+
}
|
|
1093
|
+
transition [INQUIRY, QUOTED] -> PENDING_EXTERNAL action park_external {
|
|
1094
|
+
cascade Engagement {
|
|
1095
|
+
set {
|
|
1096
|
+
status: "PENDING_EXTERNAL"
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
cascade AuditEvent {
|
|
1100
|
+
action record
|
|
1101
|
+
with {
|
|
1102
|
+
entity_type: "engagements"
|
|
1103
|
+
entity_id: "${this.id}"
|
|
1104
|
+
action: "parked_external"
|
|
1105
|
+
user_id: "user"
|
|
1106
|
+
basis: "The negotiation parks while the parties settle off-platform (TODO.adoption/07's pending-external pattern: a phone negotiation, a legal review; what is being settled rides the record's external_note) — declared transition side-effect; actor/timestamp from the cascade context"
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1110
|
+
transition PENDING_EXTERNAL -> AGREED action external_agreement_recorded {
|
|
1111
|
+
cascade Engagement {
|
|
1112
|
+
set {
|
|
1113
|
+
status: "AGREED"
|
|
1114
|
+
agreed_date: "now"
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1117
|
+
cascade AuditEvent {
|
|
1118
|
+
action record
|
|
1119
|
+
with {
|
|
1120
|
+
entity_type: "engagements"
|
|
1121
|
+
entity_id: "${this.id}"
|
|
1122
|
+
action: "external_outcome_recorded"
|
|
1123
|
+
user_id: "user"
|
|
1124
|
+
basis: "A party records the off-platform outcome: agreement claimed, the signed terms attached to the agreement record, the claimant named on external_recorded_by (TODO.adoption/07: the platform records the claimed outcome with the claimant's provenance, it never pretends to have witnessed the act) — declared transition side-effect; actor/timestamp from the cascade context"
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
transition PENDING_EXTERNAL -> DECLINED action external_decline_recorded {
|
|
1129
|
+
cascade Engagement {
|
|
1130
|
+
set {
|
|
1131
|
+
status: "DECLINED"
|
|
1132
|
+
declined_date: "now"
|
|
1133
|
+
}
|
|
1134
|
+
}
|
|
1135
|
+
cascade AuditEvent {
|
|
1136
|
+
action record
|
|
1137
|
+
with {
|
|
1138
|
+
entity_type: "engagements"
|
|
1139
|
+
entity_id: "${this.id}"
|
|
1140
|
+
action: "external_outcome_recorded"
|
|
1141
|
+
user_id: "user"
|
|
1142
|
+
basis: "A party records the off-platform outcome: the negotiation collapsed, the reason rides on decline_reason and the claimant is named on external_recorded_by (TODO.adoption/07) — declared transition side-effect; actor/timestamp from the cascade context"
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
state_machine PaymentRecord {
|
|
1149
|
+
initial INVOICED
|
|
1150
|
+
states {
|
|
1151
|
+
INVOICED
|
|
1152
|
+
MARKED_PAID
|
|
1153
|
+
}
|
|
1154
|
+
transition INVOICED -> MARKED_PAID action mark_paid {
|
|
1155
|
+
}
|
|
1156
|
+
}
|
|
1157
|
+
|