chrismdp / counting-house-ongoing

Fernwick Air: scoring every contact, and the contact-reasons histogram

Public · Version 1 of 1
Fork

workflow.yaml

workflow.yaml is AWML 0.6, as it was pushed. The registry draws, checks and fits it converted to AWML 0.8.

awml: "0.6"
title: "Fernwick Air: scoring every contact, and the contact-reasons histogram"
description: |
  Every night the judge scores each closed case and names its contact reason, on the intents it's
  trusted on. Each week, code counts contacts by reason, with the exception queue's reason codes,
  and the top reasons go to the business owners who answer for them. Fernwick Air is fictional.
scopes:
  - { id: tokenised, label: "tokenised: Fernwick staff", processing: { anthropic: any } }
  - { id: ops, label: "ops: Fernwick staff", processing: none, in: tokenised }
parts:
  - { id: nightly, kind: trigger, label: "Every night 02:00", wait: PT6H }
  - { id: closed, kind: context, label: "Closed cases, tokenised: what was asked, what the clerk answered, what was sent and done", in: tokenised, untrusted: true, ref: chrismdp/counting-house-live#closed }
  - { id: judge_trust, kind: context, label: "The intents the judge is trusted on", in: tokenised, ref: chrismdp/counting-house-judge-test#judge_trust }
  - { id: judge, kind: ai, op: check, label: "The judge scores each closed case by its intent's rubric and names its contact reason", in: tokenised }
  - { id: record, kind: code, op: do, label: "Record the scores", in: tokenised }
  - { id: scores, kind: context, label: "Every contact's scores, by intent and contact reason", in: tokenised }
  - { id: queue, kind: context, label: "The exception queue: each refusal with its reason code and booking reference", in: ops, ref: chrismdp/counting-house-live#queue }
  - { id: count, kind: code, op: reflect, label: "On Mondays, count the week's contacts by reason, with the exception queue's reason codes", in: ops }
  - { id: histogram, kind: surface, label: "The top contact reasons, each with its business owner", in: ops }
  - { id: demote_gap, kind: comment, label: "Missing from the design: what moves a model down a tier when its scores drop. Nothing here writes the policy table." }
  - { id: loop_gap, kind: comment, label: "Missing from the design: any record of whether a business owner fixed their reason, so the loop closes only in the weekly meeting." }
lines:
  - { from: nightly, to: judge, kind: start }
  - { from: closed, to: judge, kind: data }
  - { from: judge_trust, to: judge, kind: data }
  - { from: judge, to: record, kind: start, label: the scores }
  - { from: record, to: scores, kind: data }
  - { from: record, to: count, kind: start }
  - { from: scores, to: count, kind: data }
  - { from: queue, to: count, kind: data }
  - { from: count, to: histogram, kind: data }
  - { from: scores, to: demote_gap, kind: tie }
  - { from: histogram, to: loop_gap, kind: tie }