Skip to content

Releases: HarperZ9/emet

EMET 1.3.1

Choose a tag to compare

@HarperZ9 HarperZ9 released this 23 Oct 03:35
6c14776

No code or spec change. The README opening now says what emet does and who it
is for, with a first run from PyPI, a comparison with sha256sum, Sigstore,
in-toto and SLSA, and its limits. The refuse example sets EMET_CORPUS,
because the wheel ships without the marker list. The PyPI summary matches the
new description, and the package author is Zain Dana Harper with
zaindharper@gmail.com.

EMET 1.3.0

Choose a tag to compare

@HarperZ9 HarperZ9 released this 13 Sep 13:37
b37da00

EMET 1.3.0 adds a packaged Flywheel reporter for Inspect evidence reports, incident-simulation outputs and process-audit packets.

emet.reporters.flywheel binds exact artifact bytes and bounded metadata to a witness receipt. For process-audit packets, retain the whole-receipt SHA-256 or full commitment separately: packet-local hashes alone cannot detect a coherent rewrite of the packet and all its hashes.

The writer uses fixed artifact names and exclusive creation to avoid overwriting existing outputs. Core dependencies remain empty, and the normative specification remains at 1.0.0.

Receipts establish byte consistency against the retained commitment. They do not establish semantic correctness, producer identity, independent storage or actual institutional access.

Install with pip install emet==1.3.0. See the reporter guide for usage and verification limits.

emet 1.2.0 -- the DeepEval reporter ships in the wheel

Choose a tag to compare

@HarperZ9 HarperZ9 released this 04 Aug 22:23
770f354

The signed eval-run receipt reporter for DeepEval now ships inside the emet wheel.

  • Install: pip install emet[deepeval]
  • Use: from emet.reporters.deepeval import mint_receipt
  • A completed DeepEval run mints an emet witness receipt binding the eval record (model, dataset digest, metric/judge, per-case scores) that emet check re-verifies offline.

The zero-dependency verify core is untouched: deepeval stays an optional extra, imported lazily only when running an evaluation, and no core module imports the reporter. Core self-hash re-derives on the version bump, as with every release.

v1.1.0

Choose a tag to compare

@HarperZ9 HarperZ9 released this 07 Jul 16:23
9385ae8

What's Changed

  • feat(adapters): add proof-surface bundle witness to EMET receipt adapter by @HarperZ9 in #4
  • docs(readme): conformance vector count 31 -> 35 by @HarperZ9 in #5
  • Stripped-credential rebind (SPEC s.18, experimental) by @HarperZ9 in #6
  • Style: spectrum banner + feature-first README header by @HarperZ9 in #7
  • Release v1.1.0 by @HarperZ9 in #8

Full Changelog: v1.0.0...v1.1.0

EMET 1.0.0 - frozen contract, four implementations

Choose a tag to compare

@HarperZ9 HarperZ9 released this 01 Jul 02:00

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.