pages / example / enterprise_listings
canister coord://offchain/genie/program/enterprise_listings@v1/3555c81950e61006 · v1 · artifact root 0x3555c81950e6100692ab2eacdf681ba0a243be66db95965d6e81db991d4ca870 · 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)
enterprise listings (a .genie program) in the studio: 18 symptoms, 18 fixes
// _GENIE_v1_ — one enterprise listing synced to the publisher through the adapter door (the enterprise listings pack): drafted, // consented under the tenant's consent, synced (the listed hop of the sale, graded for compliance by System One before it stands), // published, or refused or expired. The venue, its operations, surfaces, entities and guards come from the pack, not from this file. genie enterprise_listings v1 about "One enterprise listing: drafted, consented, synced to the publisher as the listed hop, graded for compliance by System One, published; or refused or expired" use venue enterprise-listings use product taifoon.api use guard tenant-consent call-cap halt-on-failure agent listing is "one listing of an enterprise, from a draft to the publisher" states drafted consented synced published refused expired start drafted final published refused expired failed refused expired on lane listings read GET /v1/enterprise/listings as listings move drafted -> consented guard tenant-consent surface partner-data entity partner op POST /v1/enterprise/entities/sync venue enterprise-listings hop classify move consented -> synced guard call-cap halt-on-failure surface listings entity listing op POST /v1/enterprise/listings/sync venue enterprise-listings hop listed assure 0.7 asks spec_met unsupported_claim ending cheat_shaped meter taifoon.api move synced -> published when listings.visible == true surface crm-sync entity account op POST /v1/enterprise/entities/sync venue enterprise-listings hop delivered move synced -> refused when grade.verdict == "reject" hop graded move * -> expired when listings.deadline_passed == true refuse no_consent "the tenant's consent for the surface is missing or expired; nothing is synced" refuse over_cap "the surface's call budget is spent for this minute; the move waits" say consented "The tenant's consent for this surface is on file" say synced "The publisher holds the listing; System One grades it for compliance before it stands" say published "The listing is visible; the CRM account is in step with it" next drafted consented "Record the tenant's consent for the partner data surface" next consented synced "Sync the listing to the publisher; it is graded before it stands" next synced published "The publisher shows it; the CRM account follows" knowledge symptom "the sync is refused with no_consent" caused_by "the tenant's consent for the surface is missing or expired" fixed_by "record the consent for the surface and sync again" symptom "the listing is synced but refused" caused_by "System One graded the listing under 0.7: it claims what the record does not hold" fixed_by "edit the listing to say what the record says and sync again" symptom "the sync waits" caused_by "the surface's call budget for the minute is spent" fixed_by "wait a minute; the budget is the surface's, not the listing's" fix "record the consent for the surface and sync again" opens classify fix "edit the listing to say what the record says and sync again" opens listed fix "wait a minute; the budget is the surface's, not the listing's" opens listed // the guided cases (week 2): what an enterprise asks about its listings, each a door to a hop of the sale symptom "what is an enterprise listing, what does the listings pack do, what is this for" fixed_by "one listing goes from a draft through the tenant's consent to the publisher, graded for compliance before it is published" symptom "how do I sync a listing, publish a listing, push my listing, send a listing" fixed_by "sync: record the consent for the listings surface, then post the listing; the publisher's receipt comes back" symptom "who needs to consent, consent for which surface, what is tenant consent, consent per surface" fixed_by "consent is per surface: listings, crm sync and partner data each carry their own consent and call budget" symptom "what is the compliance grade, graded for compliance, why was my listing refused, refused listing" fixed_by "System One grades the listing against the record it claims; under 0.7 it is refused and kept as a draft" symptom "how do I update a listing, change a published listing, edit after publish, update fields" fixed_by "update: put the published listing's fields; the change is graded again before it shows" symptom "how do I query listings, read my listings, list what is published, filter listings" fixed_by "query: get the listings under the enterprise's filters; reads count on the surface's budget" symptom "crm sync, sync an account, sync a contact, partner data, sync an entity" fixed_by "entities sync: an account, a contact or a partner is synced under the crm sync surface; partner data is read only" symptom "how are calls metered, what does a sync cost, price of a listing, metered" fixed_by "every call is metered on the key that made it; the product line reads the meter lines" fix "one listing goes from a draft through the tenant's consent to the publisher, graded for compliance before it is published" is "One listing of an enterprise goes from a draft through the tenant's consent to the publisher. System One grades it for compliance against the record it claims, and only then is it published; the CRM account stays in step with it." opens offer_in fix "sync: record the consent for the listings surface, then post the listing; the publisher's receipt comes back" is "Record the tenant's consent for the listings surface, then sync the listing: it is upserted by the enterprise's listing id and the publisher's receipt comes back. The receipt is the proof of the sync." opens listed fix "consent is per surface: listings, crm sync and partner data each carry their own consent and call budget" is "Consent is recorded per surface, not per listing: listings, crm sync and partner data each carry their own consent and their own call budget a minute. A move on a surface without consent is refused, never retried." opens classify fix "System One grades the listing against the record it claims; under 0.7 it is refused and kept as a draft" is "System One grades the listing against the record it claims with its four questions. Under 0.7 the listing is refused and kept as a draft to edit; at 0.7 or more it is published." opens graded fix "update: put the published listing's fields; the change is graded again before it shows" is "Put the published listing's fields to update it. The change is synced to the publisher and graded again before it shows; the CRM account follows the listing." opens delivered fix "query: get the listings under the enterprise's filters; reads count on the surface's budget" is "Get the listings under the enterprise's filters. Reads count on the listings surface's call budget like any other call, and the answer is the publisher's view." opens listed fix "entities sync: an account, a contact or a partner is synced under the crm sync surface; partner data is read only" is "An account, a contact or a partner is synced as an entity under the crm sync surface's consent, with its fidelity grade. Partner data is a read-only surface: it is read under consent and never written." opens classify fix "every call is metered on the key that made it; the product line reads the meter lines" is "Every call is metered on the key that made it, and a listing settles on its meter line when the compliance grade stands. The product line reads the meter lines; nothing is charged for a refused listing." opens settled rule "a listing says what the record says; the grade refuses a claim the record does not hold" rule "every enterprise call runs under the tenant's consent and the surface's call budget" door "Sync a listing" as listing product enterprise-listing locale en api https://coord.taifoon.dev rule white-label step drafted "Your listing is a draft; the tenant's consent is checked first" next consented opens consented step consented "Consent is on file; the listing goes to the publisher" next synced opens synced step synced "The publisher holds it; System One grades it for compliance" next published check GET /v1/enterprise/listings at listings.visible exists step published "Your listing is visible; the CRM account is in step with it" step refused "The compliance grade did not stand; edit the listing and sync again" step expired "The deadline passed; the draft is kept" handoff "a compliance dispute is a person's case" booking https://cal.com/taifoon meet https://meet.jit.si room genie-enterprise-listing