Repository navigation
EMET 1.0.0 - frozen contract, four implementations
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--jsonfields are byte-identical. - Exit-code split (SPEC §5):
0held ·1a difference found (DRIFT / VIEW_DIFFERS_FROM_SOURCE / QUARANTINE / BROKEN) ·2UNVERIFIABLE ·3markers ·64usage. --jsoncanonical envelope (SPEC §13) — machine-readable, closed-lattice; the human grammar remains the default.emet_self_sha256=selftest token (legacymembrane_self_sha256=alias through the 1.x window).- Packaging —
pip install emetgives anemetconsole 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.