Skip to content

feat(execute): bind Seal fields on the evidence receipt - #32

Merged
abrichr merged 1 commit into
mainfrom
feat/execute-receipt-seal
Aug 29, 2026
Merged

feat(execute): bind Seal fields on the evidence receipt#32
abrichr merged 1 commit into
mainfrom
feat/execute-receipt-seal

Conversation

@abrichr

@abrichr abrichr commented Aug 29, 2026

Copy link
Copy Markdown
Member

Opened by an agent session, not the founder.

Reader

A types reviewer who can merge this before Cloud consumes the receipt. Check the new required fields and the verified oracle-tier gate.

What this does

ExecuteEvidenceReceiptV1 is the Seal. It is not a second format.

The receipt now binds the program version (workflow_version), admission (qualification_id), environment, runner, independent-effect tier (oracle_tier), outcome, and a per-receipt nonce, plus the bundle hash it already had.

verified and rolled_back_verified require oracle_tier 2 or 3. Tier 2 is a system-of-record read. Tier 0 (visual) and tier 1 (second-session UI) cannot mint a production success. oracle_tier must match observed_effect_strength, so a caller cannot claim SoR after a screenshot check.

Local unsigned replay stays outside this contract. Execute is the invoke path that issues the receipt.

Reviewer checks

  • _receipt() fixtures still parse.
  • A verified receipt with independent_session observed strength is refused.
  • Regenerated execute-v1-openapi.json includes the new required fields.
  • Cloud #356 emits the same field names.

This does not mint a signing key. HMAC on the webhook still signs the envelope. A production Seal still waits on B47 Action 1.

The receipt stays ExecuteEvidenceReceiptV1. It now carries program version,
admission, environment, runner, oracle tier, and nonce so a consumer can
treat it as a Seal without a second format. verified requires oracle tier 2.
@abrichr
abrichr merged commit 179c01f into main Aug 29, 2026
1 check passed
@abrichr
abrichr deleted the feat/execute-receipt-seal branch August 29, 2026 19:45
abrichr added a commit that referenced this pull request Aug 29, 2026
A partner implements channel plus read (API, DB, file, ack, or a
second session). Production Execute receipts require oracle tier 2
or 3. Visual and OCR (tier 0) cannot mint VERIFIED.

Stacked on #32 so both gates stay fail-closed: observed strength
cannot be visual, and oracle_tier must match it.

Merged by an agent session, not the founder.
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