pages / example / it_helpdesk

example · it_helpdesk

canister coord://offchain/genie/program/it_helpdesk@v1/ebcc269c592b05b1 · v1 · artifact root 0xebcc269c592b05b1141cd353024dc3f1a33d4403a5d77873f5576e1e659b5f31 · 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

its helpdesk graph

it helpdesk (a .genie program) in the studio: 7 symptoms, 7 fixes

the source

// _TENANT_v1_ — an IT helpdesk case machine under strict tenant isolation: every case is bound to the one tenant its host supplies
// (ctx.tenant), its twigs and its canister carry that tenant, it reads the program's shared knowledge and its own tenant's nodes, and
// nothing of another tenant. A fix is proposed, a person confirms it, it runs behind a guard, System One grades that it worked.
genie it_helpdesk v1
about "An IT helpdesk case: asked, diagnosed, a fix proposed, confirmed by a person, run, verified and recorded, or escalated"
isolate tenant

use product sma.case
use component sma-graph sma-helpdesk jev
use guard halt-on-failure

agent case is "one IT question of one tenant, from asked to recorded"
  states asked diagnosed proposed confirmed ran verified recorded escalated
  start asked
  final recorded escalated
  failed escalated
  on case
  move asked -> diagnosed when question.strength >= 0.35 component sma-graph
  move diagnosed -> proposed component sma-helpdesk
  move proposed -> confirmed when confirmation.by_person == true
  move confirmed -> ran guard halt-on-failure effect record
  move ran -> verified assure 0.7 meter sma.case component jev
  move verified -> recorded
  move * -> escalated when graph.next == null
  refuse no_fix "neither the shared graph nor the tenant's own nodes hold a fix for the question; a person picks up"
  say proposed "A fix is proposed; nothing runs before a person confirms it"
  say recorded "The case is recorded under its own tenant"
  next proposed confirmed "A person of the tenant confirms the proposed fix"
  next ran verified "System One grades that the fix did what the case asked"

knowledge
  symptom "the printer is offline" caused_by "the print queue is stopped" fixed_by "restart the print queue"
  symptom "a password expired" fixed_by "reset the password through the self-service portal"
  symptom "the laptop is slow after an update" caused_by "a pending restart" fixed_by "restart the laptop"
  rule "a fix runs only after a person of the tenant confirms it"
  rule "an answer cites the shared graph or the tenant's own nodes, never another tenant's"

door "Ask IT" as case
  product it-helpdesk
  locale en
  step asked "Describe the problem; the helpdesk matches it to the graph" next diagnosed opens diagnosed
  step diagnosed "The graph found the likely cause" next proposed
  step proposed "A fix is proposed; confirm it to run" next confirmed
  step confirmed "The fix is confirmed and runs" next ran
  step ran "The fix ran; System One grades it" next verified
  step verified "The fix did what the case asked" next recorded
  step recorded "The case is recorded under its own tenant"
  handoff "no fix in the graph; a person of IT picks up the case" booking https://cal.com/taifoon meet https://meet.jit.si room it-helpdesk