cs.gohigherlevel
Get pinged here when a case is escalated or the AI can't classify one.

Taxonomy

The same live decision tree as /playbook, annotated with how many logged cases actually reached each node. 99 nodes · 94 edges. 461 cases logged in window: last 30d (2026-09-13 → now) · 461 not yet classified in this window (last_label is NULL — shown nowhere on the tree, only here).
Refunded (Shopify)
—
0 refunds executed
Refunded (Whop)
—
0 whop refunds executed
Replacement items sent
—
0 replacement orders
Manufacturer replacement requests
0
separate path: Discord message, not a Shopify order

Executed actions only (proposed/rejected/failed/superseded/cancelled/unresolved don't count as real outcomes) — from pending_actions, filtered to the same store + date window as the tree below, on execution date (falls back to creation date for legacy rows with no execution timestamp on file). Currencies are never summed together or converted — no trustworthy FX rate is available here, so a wrong blended number would be worse than three separate ones.

–

Approximation: ASKS_REFUND has three real sub-paths depending on case facts not stored per case (refund reason known? shipped yet?). Every ASKS_REFUND case here is attributed to the "we have not asked why yet" starting context — exact for a case's first-ever ASKS_REFUND message, approximate for one reached deeper into a thread. Every other node's count is an exact tally of 0 classified cases in the current window walking cs_policy.decide()'s real ladder for their label.

123 cases reached this node root classify hub label offer step refund info escalate
Click any node for its full decide() output plus the taxonomy count.
Always-on rulesNot branches, and not tallied here — these are checked before/around the (label × rung) table for every case, so a per-node count would double-count.
LEGAL_THREAT
fires from ANY rung
always
ESCALATE ●
THREATENS_CHARGEBACK
fires from ANY rung
clear ultimatum
REPLY_INFO ●
mentioned, unclear
REPLY_INFO ●
£200 circuit breaker
applies AFTER any money action
order £150 (≤ £200)
FULL_REFUND · 150.00 GBP ●
order £350 (> £200)
ESCALATE · 350.00 GBP ●
Promise ledger override
applies for ANY label
open £80 refund promise on file
EXECUTE_PROMISE · 80.00 GBP ●
The flow
Inbound customer
message461
classify
Classify message
→ 1 of 17 labels0
opens a case
Opens a case
15 labels0
ADDRESS_CHANGE
▸ ADDRESS_CHANGE
ASKS_REFUND
▸ ASKS_REFUND
we have not asked why yet
we have not asked why yet
reason known · not dispatched
reason known · not dispatched
reason known · already in transit
reason known · already in transit
ASKS_REPLACEMENT
▸ ASKS_REPLACEMENT
AUTHENTICITY_DOUBT
▸ AUTHENTICITY_DOUBT
CANCEL_REQUEST
▸ CANCEL_REQUEST
DAMAGED
▸ DAMAGED
LEGAL_THREAT
▸ LEGAL_THREAT
NOT_ARRIVED
▸ NOT_ARRIVED
OFF_SCRIPT
▸ OFF_SCRIPT
PRODUCT_QUESTION
▸ PRODUCT_QUESTION
SIZING_QUESTION
▸ SIZING_QUESTION
THREATENS_CHARGEBACK
▸ THREATENS_CHARGEBACK
WHERE_IS_ORDER
▸ WHERE_IS_ORDER
WRONG_ITEM
▸ WRONG_ITEM
WRONG_SIZE
▸ WRONG_SIZE
at rung 0 · NEW
OFFER_REPLACEMENT
ACCEPTS_OFFER · at rung 1 · REPLACEMENT_OFFERED
EXECUTE_PROMISE ●
REFUSES_OFFER · at rung 1 · REPLACEMENT_OFFERED
OFFER_DISCOUNT_10_KEEP · 10%
ACCEPTS_OFFER · at rung 2 · KEEP_10_OFFERED
EXECUTE_PROMISE ●
REFUSES_OFFER · at rung 2 · KEEP_10_OFFERED
OFFER_DISCOUNT_20_KEEP · 20%
ACCEPTS_OFFER · at rung 3 · KEEP_20_OFFERED
EXECUTE_PROMISE ●
REFUSES_OFFER · at rung 3 · KEEP_20_OFFERED
OFFER_PRICE_MINUS_SHIPPING
ACCEPTS_OFFER · at rung 4 · PRICE_MINUS_SHIPPING_OFFERED
EXECUTE_PROMISE ●
REFUSES_OFFER · at rung 4 · PRICE_MINUS_SHIPPING_OFFERED
FULL_REFUND ●
answers an offer
Answers an offer
2 labels0
ACCEPTS_OFFER
▸ ACCEPTS_OFFER
REFUSES_OFFER
▸ REFUSES_OFFER