@oimlsmart/primmel-packages
v0.24.1
Published
The OIML SMART platform's authoritative model content: every Recommendation, the OIML-CS scheme, the CASCO foundations, the shared modules, and the product/program reference packages as Primmel (.prl) packages — the single source of truth the platform's d
Readme
oimlsmart/primmel-packages — the single source of truth
Every normative model in the OIML SMART platform — standards,
instruments, products, programs — is a .prl package in this
repository. Everything downstream regenerates from these files. You
never edit a generated artifact; you edit a package here, release a
version, and the platform regenerates at the new pin
(cd browser && npm run gen:data in oimlsmart/smart).
This repo carries the authoritative model CONTENT with its own
governance cadence (the PRL freeze discipline) and its own release
line (@oimlsmart/primmel-packages on npm, tagged v* on the
content's freeze rhythm). The platform consumes it at a pinned version —
a content change reaches the platform ONLY by a deliberate bump here
plus a pin bump there (TODO.repos/02, the extraction record).
The packages, in six families
- Recommendations:
oiml-r60(load cells),oiml-r91(radar speed meters),oiml-r129(multi-dimensional instruments),oiml-r144(gas analyzers). - Core:
oiml-smart-core— the shared metamodel (workflow entities, state machines, process skeletons). - Modules (
oiml-smart-module-*): shared test/form skeletons — emc-disturbances, env-iec60068, software-d31, reference-materials, specimen-governance, report-headers, examination-docs. - CASCO foundations:
iso-iec-17000,-17025,-17065,-17067. - OIML-CS:
oiml-cs— the B 18:2025 framework + the documents corpus;oiml-cs-dataspace— the dataspace definition. - Products & programs:
acme-lc500,acme-cgm-200,acme-rs180,acme-md3xx,acme-cgm-system(fictional product reference packages),quarry-belt-scale(the consumer),oiml-twin-cert(the certification program),oiml-integrated-ref(the multi-standard integrated reference),ims-demo+qms-ref+isms-ref(view/lens fixtures).
Prove it works
npm ci
npm test # primmel check --strict --audit over every package
# (KNOWN allowlists printed) + the serializer-fixpoint
# codec leg — the content standalone, no appThe integration proofs live with the consumer: the smart monorepo's
npm run test:ssot (packages ≡ data trees, byte-clean across the repo
boundary at the pinned version) and npm run test:from-packages (the
release proof — the platform builds from these packages alone).
The conventions that matter
- Provenance: normative content carries
source: { doc, clause }to a published OIML clause (the clause-URN rule). - Product packages map to their Recommendation (C21 aliases; C82 — every block-form promise mapped).
- The packages are the SSOT; the smart repo's
data/andbrowser/src/data/generated/trees are generated artifacts, guarded byte-clean against this repo at the pinned version. - Releases follow the content's freeze cadence: land content on
main, bumpversioninpackage.json, tagv*— the release workflow publishes to npm via trusted publishing.
Read next
- The consumer side:
oimlsmart/smart—AGENTS.d/05-data-conventions.md,AGENTS.d/10-primmel-prl-packages.md, docs/architecture/03-the-packages.md
