Repository navigation
0.12.0: every venue in one table, the journey as calls, one sale stop by stop - #6
Merged
Conversation
… by stop - VENUES / venues() in ./market: the ten markets of the product's market register, what a seller does on each, how it is listed, the SDK call per step (list, take, settle, paid) and each step's state as the register reads it (live, partial, self-test, not yet, n/a). States come from a register snapshot (scripts/gen-venues.mjs, npm run check:venues). - The journey: listOn, listStatus, listIdOf, pauseListing, resumeListing, delistListing, register8004Calls, usage, tenantKeys, planOffers, agentSales, olasRequest. Nothing signs or pays. - SALE_STOPS: the Studio's 17-stop sale tour paired 1:1 with the SDK; new reads saleLedger, payoutQueues, vaultPolicy, claimablePayouts, saleRecord. - README leads with the venue table and the sale's stops; docs/VENUES.md holds the detail; npx moonbeam venues; examples/70-every-venue.mjs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Prepares 0.12.0: the SDK in line with every venue and journey feature the Moonbeam product ships, and paired 1:1 with the Studio's sale tour. Not published, not tagged. Publishing waits for the owner's yes.
What changes
VENUES/venues(t?, { agent? })in./market: the ten markets of the product's market register. Each row has what a seller does there, how it is listed (list-step,venue-account,registry), the SDK call per step, and each step's state as the register reads it. The states come from a snapshot of the register (src/market/venues-register.json,scripts/gen-venues.mjs --from <business-agent.json>,npm run check:venues); the SDK never sets one. Mapping: live/proven →live, partial →partial, self_test →self-test, claimed/contradicted →not yet, none (no such step on that market) →n/a. With a transport,venues()addsmarket(each market's own status and week of money,GET /venues) andagentListing(one agent on the list step,GET /list/:id). A failed read is named inunreadand never upgrades a state.listOn,listStatus,listIdOf,pauseListing,resumeListing,delistListing(needs{ confirm: id }),register8004Calls(the listing'sexport.erc8004inlined as a data: URI of at most 2048 chars;register(agentURI)unsigned, signer = your wallet),usage,tenantKeys,planOffers(reads the 402 answer and sends no key and nocreate_key),agentSales(the sale run'sby_agentslice; its URL comes fromsalesUrlorMOONBEAM_SALES_URL),olasRequest.SALE_STOPS: 17 stops, each with exactly one SDK call. The new reads aresaleLedger,payoutQueues,vaultPolicy(strips vault addresses),claimablePayoutsandsaleRecord.docs/VENUES.md. Also new:npx moonbeam venuesandexamples/70-every-venue.mjs.Stable field names (the Studio reads these)
SaleStop:id,order,label,studio,call,module(market|resale|cli),fn,route(null = offline),needs(offline|free|key),hop(live|partial|missing| null).Venue:id,name,marketId,does,listedBy,howListed,entry { cost, done }, andlist/take/settle/paid, each{ state, register, says, read_on, call }.VenueLiveaddsmarket { name, status, usd_7d }andagentListing.npx moonbeam workflowsmarket.searchSellersmarket.checkAgentmarket.publishListingresale.quoteSalemarket.layerListingsmarket.hirePlanmarket.handOvermarket.composeGrademarket.jobRecordresale.legsByNamemarket.saleLedgermarket.payoutQueuesmarket.vaultPolicymarket.claimablePayoutsmarket.saleRecordmarket.keyStandingChecks
npm run checkexits 0: typecheck, build, 773 tests passed (9 skipped), pins,check:workflows(7 in step),check:venues(10 markets, read on 2026-11-07),check:diagrams.npm pack --dry-run: 0.12.0, 339 files, 1.8 MB.docs/VENUES.mdto the table. The public-text guard now also coversdocs/VENUES.md.Verified live (2026-11-08, against the layer, read only)
venues(t, { agent: '8453:1170141' }): markets read 2026-11-08T11:40:58Z; x402 400,544.75 USD in 7 days. That agent islistedon erc8004, mcp_registry and a2a_registry.listStatus→lst_8339b4f9b0f5e5ab, all three listed, fee0(LIST_FEE_v1).planOffers: 1 USDC top-up; plans builder 99, team 199, protocol 299 USDC per 30 days; 5 networks.saleLedger(776 routes),payoutQueues(read, sign, settle, ack),vaultPolicy(11 vaults, 0 addresses in the answer),claimablePayouts(0),saleRecord(69 chains),agentSales('mcp.digest')(14 sales, all through x402-base),jobRecordon a Base settlement.usage(month, tenant),tenantKeys,keyStanding,layerListings.Not run live:
listOn,pause/resume/delistandregister8004Calls. They write or build on a member's own listing, so they are covered by fake-transport tests only.🤖 Generated with Claude Code