Skip to content

feat: UEC as source of truth and adapter compliance - #18

Merged
m2papierz merged 19 commits into
mainfrom
feat/strict_uec_and_adapters_compliance
Jan 14, 2026
Merged

feat: UEC as source of truth and adapter compliance#18
m2papierz merged 19 commits into
mainfrom
feat/strict_uec_and_adapters_compliance

Conversation

@m2papierz

Copy link
Copy Markdown
Contributor

Summary

This PR makes the UEC ExecutionEnvelope the single source of truth for comparing and verifying runs across all supported SDKs. It introduces a clean split between structural and parametric program hashes, canonicalizes measurement keys across bit orders, removes the legacy strict mode, and enforces a production-grade rule: adapter runs must always emit a valid envelope, while manual/replay runs can have an envelope synthesized from run artifacts. This prevents “silent” fallbacks that mask adapter bugs and makes diffs stable and comparable across SDKs.

Type of change

  • Bug fix
  • New feature
  • Refactor (no user-facing change)
  • Docs only
  • CI/build tooling
  • Breaking change

Changelog

  • I added a towncrier fragment in changelog.d/

Checklist

  • I ran lint locally (uv run pre-commit run --all-files)
  • I ran tests locally (uv run pytest)
  • I added/updated tests for behavior changes
  • I updated docs/README/examples if needed
  • If I changed dependencies, I updated uv.lock (uv lock) and committed it
  • I considered backward compatibility and security impact

@m2papierz
m2papierz merged commit 3841c74 into main Jan 14, 2026
7 checks passed
@m2papierz
m2papierz deleted the feat/strict_uec_and_adapters_compliance branch January 14, 2026 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant