File size: 5,632 Bytes
18feac5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
TASKS = {
    "damaged-mug-replacement": {
        "task_id": "damaged-mug-replacement",
        "task_name": "Damaged Mug Replacement",
        "difficulty": "easy",
        "objective": (
            "Resolve a damaged-item support ticket by gathering the right evidence, "
            "drafting a concise customer reply, and submitting the correct resolution."
        ),
        "customer_message": (
            "Hi support, my Northwind ceramic mug from order O-1001 arrived shattered. "
            "I uploaded a photo. I still want the mug if you can replace it quickly."
        ),
        "artifacts": {
            "order": (
                "Order O-1001 | Item: Northwind ceramic mug | Delivered: 2026-04-01 | "
                "Photo evidence attached: yes | Carrier note: box dented on arrival."
            ),
            "account": (
                "Customer since 2023 | No prior claims abuse | Shipping address verified."
            ),
        },
        "policies": {
            "damaged_items": (
                "Damaged items reported within 7 days with photo evidence qualify for a "
                "free replacement. Low-cost broken items do not need to be returned."
            )
        },
        "required_evidence": ["ticket", "artifact:order", "policy:damaged_items"],
        "expected_resolution_code": "send_replacement",
        "available_resolution_codes": [
            "send_replacement",
            "issue_refund",
            "request_more_info",
            "deny_request",
        ],
        "reply_keywords": ["replacement", "48 hours", "no need to return"],
        "optimal_steps": 4,
    },
    "duplicate-charge-refund": {
        "task_id": "duplicate-charge-refund",
        "task_name": "Duplicate Charge Refund",
        "difficulty": "medium",
        "objective": (
            "Investigate a billing complaint, confirm whether a duplicate charge occurred, "
            "and choose the correct refund resolution."
        ),
        "customer_message": (
            "I was charged twice for the same blender order and only received one item. "
            "Please fix this. Order number is O-2044."
        ),
        "artifacts": {
            "order": (
                "Order O-2044 | Item: Pulse blender | Fulfilled once on 2026-03-28 | "
                "Only one shipment and one invoice should exist."
            ),
            "payment": (
                "Payments for O-2044 | Charge 1: CAPTURED $89.00 | Charge 2: CAPTURED $89.00 | "
                "Gateway note: retry after timeout caused duplicate capture."
            ),
            "account": "Customer in good standing | No prior charge disputes.",
        },
        "policies": {
            "duplicate_charge": (
                "If a duplicate capture is confirmed, refund the extra charge to the original "
                "payment method within 3-5 business days."
            )
        },
        "required_evidence": [
            "ticket",
            "artifact:order",
            "artifact:payment",
            "policy:duplicate_charge",
        ],
        "expected_resolution_code": "refund_duplicate_charge",
        "available_resolution_codes": [
            "refund_duplicate_charge",
            "issue_refund",
            "request_more_info",
            "deny_request",
        ],
        "reply_keywords": ["duplicate charge", "refund", "3-5 business days"],
        "optimal_steps": 5,
    },
    "account-takeover-fraud": {
        "task_id": "account-takeover-fraud",
        "task_name": "Account Takeover Fraud Escalation",
        "difficulty": "hard",
        "objective": (
            "Handle a potential account takeover involving digital gift cards. Gather fraud "
            "signals, apply the correct security-first resolution, and communicate next steps."
        ),
        "customer_message": (
            "I did not place the gift card order on my account last night. Please stop any "
            "more charges and secure my account immediately."
        ),
        "artifacts": {
            "account": (
                "Account A-77 | Password reset disabled | New login from unfamiliar IP at 02:14 UTC | "
                "2FA not enabled."
            ),
            "order": (
                "Order O-7781 | Digital gift cards totaling $250 | Delivered instantly by email | "
                "Marked high-risk by payments."
            ),
            "risk_log": (
                "Risk engine score: 0.98 | Device mismatch: true | Velocity spike: true | "
                "Recommendation: lock account and escalate to fraud operations."
            ),
        },
        "policies": {
            "account_takeover": (
                "Suspected account takeover with digital goods requires immediate account lock, "
                "fraud team escalation, and customer follow-up within 24 hours. Do not promise "
                "an automatic refund before investigation."
            )
        },
        "required_evidence": [
            "ticket",
            "artifact:account",
            "artifact:risk_log",
            "policy:account_takeover",
        ],
        "expected_resolution_code": "lock_account_and_escalate_fraud",
        "available_resolution_codes": [
            "lock_account_and_escalate_fraud",
            "issue_refund",
            "request_more_info",
            "deny_request",
        ],
        "reply_keywords": ["account locked", "fraud team", "24 hours"],
        "optimal_steps": 5,
    },
}


TASK_SEQUENCE = [
    "damaged-mug-replacement",
    "duplicate-charge-refund",
    "account-takeover-fraud",
]