docs(specs): align ceremony browser contract - #20
Merged
Conversation
This was referenced Aug 22, 2026
Wondertan
force-pushed
the
docs/ceremony-browser-contract
branch
3 times, most recently
from
August 24, 2026 12:51
3ef62fd to
88765ad
Compare
Co-authored-by: xgreenx <xgreenx9999@gmail.com> Signed-off-by: Wondertan <hlibwondertan@gmail.com>
Wondertan
force-pushed
the
docs/ceremony-browser-contract
branch
from
August 24, 2026 18:59
88765ad to
ab3a70b
Compare
Signed-off-by: Wondertan <hlibwondertan@gmail.com>
Signed-off-by: Wondertan <hlibwondertan@gmail.com>
Signed-off-by: Wondertan <hlibwondertan@gmail.com>
The Platform Ceremony Version identifies the ceremony boundary and is bound in the digest, so it is the same on every Consumer Chain. What a Consumer Chain routes on is a second number, the Verifier Version: local to that chain, assigned on its own cadence, and not in the digest. Two Verifier Versions may implement one Platform Ceremony Version, so a proof stays acceptable across a verifier upgrade; the Consumer's nullifier, not the route, prevents replay. Because routing no longer names what the digest binds, the Proof Verifier can no longer recompute the digest. The Submission becomes a platform, a Verifier Version, a value, and an opaque Submission Payload that only the selected Platform Verifier decodes. That verifier refuses any ceremony version but its own before a fee moves, recomputes the digest from what it decoded and its own Chain ID, and returns the digest with its fields. REQ-COMMON-02, 46 and 06C move accordingly. Signed-off-by: xgreenx <xgreenx9999@gmail.com> Assisted-by: Claude Fable 5.1
docs(specs): a Verifier Version beside the Platform Ceremony Version
xgreenx
approved these changes
Sep 3, 2026
This was referenced Sep 7, 2026
Merged
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.
Summary
This PR aligns the normative ceremony rules with the browser protocol. It targets
maindirectly and keeps the existing terminology so the protocol changes can merge independently.It supersedes #15, which GitHub marked merged into the terminology branch while the stack order was being reversed.
Changes
Ceremony boundary and lifecycle
Proof construction and ledger selection
platformVerifierVersiontoplatformCeremonyVersionand define it as the shared version boundary for the Authorization Digest construction, platform OAuth construction, and platform-specific proof statement.pkceNonce; derive the PKCE verifier from the Authorization Digest and its existing freshauthorizationNonce.Authenticated delivery
Platform behavior
Scope
Normative documentation only:
specs/libid.mdspecs/ceremony-common.mdspecs/platform-ceremonies.mdThe TypeScript ceremony architecture and package test plan remain in #13.
Validation
git diff --check