spec(events): define NIP-52-backed event markets - #15
Open
ericfj2140 wants to merge 3 commits into
Open
ericfj2140 wants to merge 3 commits into
ericfj2140 wants to merge 3 commits into
Conversation
added 2 commits
September 17, 2026 16:32
Define the experimental calendar-backed collection graph, two-sided participation, fixed pickup, neutral lifecycle semantics, and migration from the Conduit precursor tag. Validation: checked the complete staged diff, preserved SPEC.md and normative transpositions, verified relative targets, and passed git diff --check.
1 task
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
Reworks the experimental NIP-52-backed Event Market proposal around an organizer-signed market record and per-merchant causal authorization. This PR remains stacked on #1, “Reorganize specification navigation.”
SPEC.mdremains unchanged; the proposal is not current normative Open Markets text.Why
A replaceable roster alone cannot distinguish an observed stale organizer edit from a deliberate reapproval. Signed merchant-level grant and revoke transitions provide causal evidence for that distinction. Relay discovery remains incomplete by nature: clients can validate the signed evidence they observe, but cannot prove that no unseen event or deletion exists.
What changed
30409as the addressable Event Market, linked to its organizer-authored NIP-52 calendar event. Version2carries open/closed commerce state and one public mode and assignment row per merchant.3841for organizer-authored grant and revoke transitions scoped to one market and merchant. Signedauth_parentreferences expose observed stale or concurrent writes. A current roster row and active causal grant are both required for new commerce.Gcheckpoint, kind3840, required relay quorum, or claim of globally complete history.30402areference to the market. Approved merchants manage their own products, prices, stock, and payee; there is no product-by-product organizer acceptance or per-product event pickup record.Validation
30409and3841are currently unassigned proposals.git diff --check; checked proposal code fences and local relative links.SPEC.mdand copied normative protocol sections are unchanged.Runtime or visual evidence
Documentation-only change. No application runtime, live-relay, or physical-handoff validation is claimed by this PR.
Risks and follow-ups
3841before admitting new version-2 commerce. Earlier experimental version-130409records do not imply a grant, and existing created orders retain their signed terms.Reviewer focus: the
30409/3841authority boundary, observed conflict and deletion handling, and the NIP-65 discovery model.