Skip to content

EMET 1.0.0 - frozen contract, four implementations

Choose a tag to compare

@HarperZ9 HarperZ9 released this 01 Jul 02:00
· 64 commits to main since this release

EMET is a small external witness for AI oversight: re-derive the bytes, get one of three verdicts (MATCH / DRIFT / UNVERIFIABLE), trust nothing in-band. There is no TRUSTED verdict.

What 1.0.0 asserts — exactly two things: the spec contract is frozen, and the reference implementations are production-grade. It does not claim re-derivability is proven: SPEC §12's independent, different-author implementation bar stays open, and the call for it stands.

Highlights

  • Four implementations — Python reference (membrane.py), Rust, Node.js, and a new clean-room Go port — pass the same 35 conformance vectors in CI. Their governed --json fields are byte-identical.
  • Exit-code split (SPEC §5): 0 held · 1 a difference found (DRIFT / VIEW_DIFFERS_FROM_SOURCE / QUARANTINE / BROKEN) · 2 UNVERIFIABLE · 3 markers · 64 usage.
  • --json canonical envelope (SPEC §13) — machine-readable, closed-lattice; the human grammar remains the default.
  • emet_self_sha256= selftest token (legacy membrane_self_sha256= alias through the 1.x window).
  • Packaging — pip install emet gives an emet console script, zero runtime dependencies; the run-from-checkout, stdlib-only story is preserved. Published to PyPI via OIDC Trusted Publishing.
  • Spec frozen and hardened; an adversarial verification pass pinned four edge cases (surrogate-pair audit, unparseable-line audit, verify anchor-precedence, coherence reason leg) as vectors and aligned all four implementations.

Install

pip install emet
emet selftest

Or run straight from a checkout: python membrane.py selftest.

MPL-2.0. See SPEC.md (normative) and CHANGELOG.md.