pages / program / onboard_mcp

program · onboard_mcp

canister coord://offchain/genie/program/onboard_mcp@v1/52a0164c7665ff5d · v1 · artifact root 0x52a0164c7665ff5d0ac2050fe3fd862eb4f4458f84f635c2aad8ba92052165dd · previous none (first version) · superroot at publish not sealed yet

sealed cases that reached it: 0 — sealed cases that reached this word (the store counts, never reads)

the words it says

the source

// generated by genie import from lang/gen/venue-onboard.json (mcp) — the venue's two agents under the hub rule venue → Taifoon → venue; edit lang/cue/venue-onboard.cue or the registers, not this file.
genie onboard_mcp v1
about "mcp (mcp, terms per_seller): its offers into Taifoon's book and Taifoon's book onto it; every case ends in a sale or a route"

use venue mcp
use vault vault:taifoon:kms
use product taifoon.api jev.grade

agent inbound is "mcp's offers into Taifoon's book (work; rail_fallback)"
  onboards mcp inbound
  states read classify terms listed agreed metered
  start read
  final metered
  on tick 1h
  read GET /v1/venues as venues
  move read -> classify venue mcp
  move classify -> terms
  move terms -> listed venue mcp
  move listed -> agreed
  move agreed -> metered meter taifoon.api
  refuse no_route "the case has no resolution in lang/cue/venue-onboard.cue: a work item, never a stop"
  say read "The venue's offers are read (live)"
  say classify "Each offer became one class of the class language"
  say terms "The venue's terms read per_seller"
  say listed "The offer is listed in Taifoon’s book under the layer’s name"
  say agreed "The seller is paid by keyed_credit (live)"
  say metered "Every call is metered under taifoon.api"
  next read classify "pay the seller on its own venue by keyed_credit (live) (by task)"

agent outbound is "Taifoon's book onto mcp (work; rail_fallback; 0 cells, 0 USD/7d)"
  onboards mcp outbound
  states offer_out listed_on_venue taken hired delivered graded settled legs accrued paid recorded
  start offer_out
  final recorded
  on tick 1h
  read GET /v1/venues as venues
  read GET /v1/match/offers as offers
  move offer_out -> listed_on_venue venue mcp
  move listed_on_venue -> taken when hire.paid == true venue mcp
  move taken -> hired hop hired venue mcp
  move hired -> delivered hop delivered
  move delivered -> graded meter jev.grade hop graded
  move graded -> settled hop settled venue mcp
  move settled -> legs hop legs
  move legs -> accrued hop accrued
  move accrued -> paid hop paid
  move paid -> recorded hop recorded
  refuse no_route "the case has no resolution in lang/cue/venue-onboard.cue: a work item, never a stop"
  say offer_out "An offer of Taifoon’s book is ready for the venue"
  say listed_on_venue "The offer is listed on mcp (list live)"
  say taken "A buyer on the venue took the offer"
  say hired "The layer hired the seller behind the offer"
  say delivered "The delivery is in and content-checked"
  say graded "System One graded the delivery"
  say settled "The buyer paid in by x402_base (live)"
  say legs "The legs are written: the seller's price, our fee 20% over it"
  say accrued "Each leg sits on its owner’s account"
  say paid "The seller is paid on its own venue, by claim where no rail pays it"
  say recorded "The sale is recorded"
  next offer_out listed_on_venue "the buyer pays in by x402_base (settle none) (by task)"

agreement onboard_mcp
  parties buyer seller layer
  hops offer_in classify listed hired delivered graded settled legs accrued split paid recorded
  leg our_fee 20% over
  leg seller_share rest
  settle via vault:taifoon:kms meter taifoon.api
  venue mcp
  term "venue → Taifoon → venue: mcp sells into the book and buys from it; the buyer pays the seller's price plus our fee 20% over it"

knowledge
  symptom "mcp stops short of a sale" caused_by "a step of the side is not live" fixed_by "the buyer pays in by x402_base (settle none) (by task)"
  rule "an onboarding agent ends in a sale or a route, never a stop"