pages / program / protocol_taifoon_assurance

program · protocol_taifoon_assurance

canister coord://offchain/genie/program/protocol_taifoon_assurance@v1/125fb0bd4c92d7d1 · v1 · artifact root 0x125fb0bd4c92d7d184de90b22404b13ce8795ee2dc68742cd24dfe936094af03 · 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/protocol-stages.json (taifoon_assurance) — a genie protocol: the machine is the register's; edit the register, not this file.
genie protocol_taifoon_assurance v1
about "taifoon assurance: Opened → Funded → Submitted → RejectPending → Disputed → Settled → Rejected → Expired → Cheat; a genie protocol whose states are the register's stages"

use protocol taifoon_assurance

agent order is "one taifoon assurance order from Opened to Settled or Rejected or Expired or Cheat"
  follows protocol taifoon_assurance
  states Opened Funded Submitted RejectPending Disputed Settled Rejected Expired Cheat
  start Opened
  final Settled Rejected Expired Cheat
  failed Rejected Expired Cheat
  on lane taifoon_assurance
  move Opened -> Funded when observed.stage == "Funded"
  move Opened -> Rejected when observed.stage == "Rejected"
  move Opened -> Expired when observed.stage == "Expired"
  move Opened -> Cheat when observed.stage == "Cheat"
  move Funded -> Submitted when observed.stage == "Submitted"
  move Funded -> Settled when observed.stage == "Settled"
  move Funded -> Rejected when observed.stage == "Rejected"
  move Funded -> Expired when observed.stage == "Expired"
  move Submitted -> Settled when observed.stage == "Settled"
  move Submitted -> Rejected when observed.stage == "Rejected"
  move Submitted -> RejectPending when observed.stage == "RejectPending"
  move Submitted -> Disputed when observed.stage == "Disputed"
  move Submitted -> Expired when observed.stage == "Expired"
  move RejectPending -> Disputed when observed.stage == "Disputed"
  move RejectPending -> Rejected when observed.stage == "Rejected"
  move RejectPending -> Expired when observed.stage == "Expired"
  move RejectPending -> Cheat when observed.stage == "Cheat"
  move Disputed -> Settled when observed.stage == "Settled"
  move Disputed -> Rejected when observed.stage == "Rejected"
  move Disputed -> Cheat when observed.stage == "Cheat"
  refuse funded_not_submitted "Funded reached none of Submitted, Settled, Rejected, Expired within 604800s"
  refuse submitted_not_evaluated "Submitted reached none of Settled, Rejected, RejectPending, Disputed, Expired within 259200s"
  refuse dispute_open "Disputed reached none of Settled, Rejected, Cheat within 604800s"
  say Opened "The order is Opened"
  say Funded "The order is Funded"
  say Submitted "The order is Submitted"
  say RejectPending "The order is RejectPending"
  say Disputed "The order is Disputed"
  say Settled "The order is Settled"
  say Rejected "The order is Rejected"
  say Expired "The order is Expired"
  say Cheat "The order is Cheat"
  next Opened Funded "Wait for the protocol: Funded is the next stage the register expects"
  next Funded Submitted "Wait for the protocol: Submitted is the next stage the register expects"
  next Submitted Settled "Wait for the protocol: Settled is the next stage the register expects"
  next RejectPending Disputed "Wait for the protocol: Disputed is the next stage the register expects"
  next Disputed Settled "Wait for the protocol: Settled is the next stage the register expects"

knowledge
  symptom "the order stays Funded" caused_by "none of Submitted, Settled, Rejected, Expired was observed within 168 hours" fixed_by "read the order on its chain by its key (the job id (0x + 64 hex)) and move it, or escalate"
  symptom "the order stays Submitted" caused_by "none of Settled, Rejected, RejectPending, Disputed, Expired was observed within 72 hours" fixed_by "read the order on its chain by its key (the job id (0x + 64 hex)) and move it, or escalate"
  symptom "the order stays Disputed" caused_by "none of Settled, Rejected, Cheat was observed within 168 hours" fixed_by "read the order on its chain by its key (the job id (0x + 64 hex)) and move it, or escalate"
  rule "an order ends Settled or Rejected or Expired or Cheat; nothing stays Opened without a next stage"

door "Follow a taifoon assurance order" as order
  product taifoon-assurance
  locale en
  rule white-label
  step Opened "The order is Opened" next Funded
  step Funded "The order is Funded" next Submitted
  step Submitted "The order is Submitted" next Settled
  step RejectPending "The order is RejectPending" next Disputed
  step Disputed "The order is Disputed" next Settled
  step Settled "The order is Settled"
  step Rejected "The order is Rejected"
  step Expired "The order is Expired"
  step Cheat "The order is Cheat"
  handoff "the graph has no next step for this case; a person picks up" booking https://cal.com/taifoon meet https://meet.jit.si room genie-taifoon-assurance