chrismdp / systems / counting-house

Fernwick Air's Counting House

System · Public · Version 1 of 1

Steve Yegge's Counting House pattern, drawn in AWML for one intent at a fictional airline: live contacts, the exception queue, building the scored set, testing the judge, promoting a model, and scoring every contact. The comments tied to parts mark gaps that drawing it turned up.

What waits on a person

  • CX and legal's standing approval: replies on this intent only, risk accepted on the October scored set (judge-graded exam above the human baseline) · a person's step
  • Customer ops' standing approval: same-cabin rebookings, fare difference up to 200 pounds each · a person's step
  • A supervisor's yes to the exact rebooking, over the cap · a review
  • A rep explains the refusal to the customer · a person's step
  • A supervisor rebooks the passenger out of policy, or refuses · a person's step
  • IT fixes what failed and runs the saga again · a person's step
  • The first scorer answers the rubric's questions, blind · a person's step
  • The second scorer answers the rubric's questions, blind · a person's step
  • A third person settles each disagreement · a person's step
  • Finance's yes to the exact change: costs and approval thresholds · a review
  • Legal and compliance's yes: may this intent reach this tier · a review
  • CS ops' yes: the SOP and the floor are ready · a review
  • QA and data science's yes: the eval and the judge · a review
  • Platform's yes: the tools, gateway and orchestrator · a review

Where untrusted text reaches

Text from a part marked untrusted follows an outside action into the workflow it starts.

  • A customer writes in: rebook me after a missed connection · reaches Reply to the customer: Ask · stopped by Orchestrator: pass on only the write intent's booking reference and new flight, once they match its schema and the live booking system shows the booking is this customer's, the connection was missed and the seat is free, A rep explains the refusal to the customer, The first scorer answers the rubric's questions, blind, The second scorer answers the rubric's questions, blind, Finance's yes to the exact change: costs and approval thresholds · risk accepted for Reply to the customer: Ask, by CX and legal's standing approval: replies on this intent only, risk accepted on the October scored set (judge-graded exam above the human baseline)
  • Fernwick's contact centre: email and chat · reaches Reply to the customer: Ask · stopped by Orchestrator: pass on only the write intent's booking reference and new flight, once they match its schema and the live booking system shows the booking is this customer's, the connection was missed and the seat is free, A rep explains the refusal to the customer, The first scorer answers the rubric's questions, blind, The second scorer answers the rubric's questions, blind, Finance's yes to the exact change: costs and approval thresholds · risk accepted for Reply to the customer: Ask, by CX and legal's standing approval: replies on this intent only, risk accepted on the October scored set (judge-graded exam above the human baseline)
  • Closed cases, tokenised: what was asked, what the clerk answered, what was sent and done · reaches no outside action · stopped by The first scorer answers the rubric's questions, blind, The second scorer answers the rubric's questions, blind, Finance's yes to the exact change: costs and approval thresholds
  • The scored set: real cases, each with its true intent and agreed answers, a slice held out for exams · reaches no outside action · stopped by Finance's yes to the exact change: costs and approval thresholds

Shared between workflows

  • Fernwick's contact centre: email and chat · Fernwick Air: a live contact, rebook after a missed connection, Fernwick Air: the exception queue
  • Fernwick's booking system, live · Fernwick Air: a live contact, rebook after a missed connection, Fernwick Air: the exception queue
  • The policy table: each intent's model, tier, SOP, tools and approvers · Fernwick Air: a live contact, rebook after a missed connection, Fernwick Air: promoting a model on one intent
  • The exception queue: each refusal with its reason code and booking reference · Fernwick Air: a live contact, rebook after a missed connection, Fernwick Air: the exception queue, Fernwick Air: scoring every contact, and the contact-reasons histogram
  • Closed cases, tokenised: what was asked, what the clerk answered, what was sent and done · Fernwick Air: a live contact, rebook after a missed connection, Fernwick Air: building the scored set, Fernwick Air: scoring every contact, and the contact-reasons histogram
  • The scored set: real cases, each with its true intent and agreed answers, a slice held out for exams · Fernwick Air: building the scored set, Fernwick Air: testing the judge, Fernwick Air: promoting a model on one intent
  • How often the scorers agree, per intent · Fernwick Air: building the scored set, Fernwick Air: testing the judge
  • The intents the judge is trusted on · Fernwick Air: testing the judge, Fernwick Air: promoting a model on one intent, Fernwick Air: scoring every contact, and the contact-reasons histogram
  • Every contact's scores, by intent and contact reason · Fernwick Air: promoting a model on one intent, Fernwick Air: scoring every contact, and the contact-reasons histogram