docs: OM World Execution Proof composability + canonical step-hash JSON examples#2
Open
flyoung588 wants to merge 1 commit into
Open
docs: OM World Execution Proof composability + canonical step-hash JSON examples#2flyoung588 wants to merge 1 commit into
flyoung588 wants to merge 1 commit into
Conversation
…cal step-hash JSON examples Per ark-forge#1. OM World's per-step Execution Proof composes with proof-spec and Compliance Receipts v0.1 via the chained prev_hash mechanism (previous_receipt_hash ≡ prev_hash). Adds: - OM-WORLD-COMPOSABILITY.md — step record field mapping; canonical step_hash = SHA-256(JCS(step_record_without_prev_hash)); the absent-optional-fields rule (context_hash / attestation MUST be omitted from the JCS input, never serialized as null); three worked JSON examples exercising the context_hash edge case (stateless absent, stateful present, anti-pattern null); the plan_hash pre-commitment. - README.md — short subsection under Composability linking the new doc. Drafted for review by @desiorac. No conformance change to proof-spec itself. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
flyoung588
added a commit
to omworldprotocol/om-world
that referenced
this pull request
May 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Per #1 — the draft PR for the step-hash definition you offered to review.
OM World's per-step
Execution Proofcomposes withproof-specand Compliance Receipts v0.1 via the chainedprev_hashmechanism (previous_receipt_hash≡prev_hash,step.timestampmaps directly). This PR captures the mapping and pins the canonical step-hash JSON shape against the edge case you flagged.What's in the PR
New file:
OM-WORLD-COMPOSABILITY.mdtool_id,context_hash,attestation) and where signing happens (OM World signs at the envelope level, not per step).step_hash = SHA-256(JCS(step_record_without_prev_hash))against RFC 8785, withprev_hashexcluded from its own step's hash input.context_hash,attestation) MUST be omitted from the JCS input, never serialized asnull. JCS is deterministic; the disagreement is upstream at JSON-object construction.context_hashabsent (omitted from JCS).context_hashpresent with a snapshot hash."context_hash": null(NOT conformant). All three use the sametool_id,input_hash,output_hash, andtimestamp, so the only variable is thecontext_hashtreatment — making the divergent-hash failure mode concrete.plan_hashpre-commitment — first step'sprev_hashanchors to the mandate'splan_hash(intent-record value set before execution begins, not agent-computed at proof time). Closes the post-hoc plan-swap attack.README.md— short subsection under §Composability linking to the new doc. The existing proof-spec ↔ CR v0.1 table is left untouched.What this PR does not change
SPEC.md,test-vectors.json, orcheck_consistency.py. Proof-spec's conformance surface is unchanged.Cross-reference on OM World's side
The three points are already adopted in
execution-proof.md(commit 303bcb0). The composability mapping carried here is the same one cited in OM World's §Related work.Happy to adjust wording, table format, or example shape — the field list and the three
context_hashcases are the things to look at first.— @flyoung588 (for OM World)
🤖 Generated with Claude Code