Skip to main content

Warning-first unit and range checker for EML-style contract sidecars.

Project description

eml-units

eml-units is a lightweight unit/range/domain checker for EML-style JSON contract sidecars.

It loads contract JSON, walks common Monogate contract sections, and emits warning-level diagnostics for missing units, unknown units, missing ranges, suspicious normalized ranges, latency unit gaps, boolean/unit mismatches, trace unit gaps, and guard unit gaps.

It does not modify Forge compiler behavior, certify engineering safety, or provide formal dimensional proof.

CLI

eml-units validate examples/darpa_kernel_contract.json
eml-units summary examples/darpa_kernel_contract.json
eml-units vocabulary
eml-units validate-examples

validate exits nonzero only for malformed JSON or invalid contract shape. Unit hygiene findings are emitted as diagnostics so teams can improve sidecars without treating this v0 checker as a certification tool.

Python

from pathlib import Path
from eml_units import check_contract

report = check_contract(Path("examples/darpa_kernel_contract.json"))
print(report.status)

Diagnostic Shape

{
  "severity": "warn",
  "path": "inputs[0].unit",
  "field": "unit",
  "message": "unit is missing",
  "suggested_fix": "add a recognized unit such as unitless, normalized, Hz, seconds, volts, count, or unknown",
  "code": "UNIT_MISSING"
}

Boundaries

  • warning-first unit/range checker;
  • no Forge compiler changes;
  • no hardware interaction;
  • no certified engineering or safety claim;
  • no formal dimensional proof claim.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eml_units-0.1.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eml_units-0.1.0-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file eml_units-0.1.0.tar.gz.

File metadata

  • Download URL: eml_units-0.1.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for eml_units-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bc8a34a500dd530fe337d8ff4ea7d6f22784400cd508f8e7b1ca7687d1e9261f
MD5 8e005e636ee889f6d870cee2654f18fd
BLAKE2b-256 0eec474a2c0700372c537b8a683fc3adf5676bad799a28ad2d3ccf9e1f9bd6f5

See more details on using hashes here.

File details

Details for the file eml_units-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: eml_units-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for eml_units-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e33b307a37aa82bc8e2c37409ef425c1e19c87c1e4ea71f3364c8cf1c2e9e4a
MD5 245e35c0a31fda2961fd2536e391c017
BLAKE2b-256 63164240865c9e4180ec4c00c9a343286befba591498e450c739ac4fe231d948

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page