@ddse/acm-examples 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +113 -0
  3. package/bin/acm-demo.ts +495 -0
  4. package/data/coaching/agents.json +16 -0
  5. package/data/coaching/transcripts.json +37 -0
  6. package/data/documents.json +72 -0
  7. package/data/entitlement/customers.json +38 -0
  8. package/data/entitlement/policies.json +38 -0
  9. package/data/incidents/incidents.json +30 -0
  10. package/data/incidents/routing_rules.json +36 -0
  11. package/data/invoices/invoices.json +38 -0
  12. package/data/invoices/purchase-orders.json +38 -0
  13. package/data/issues.json +99 -0
  14. package/data/knowledge/docs/kb-001.md +7 -0
  15. package/data/knowledge/docs/kb-002.md +7 -0
  16. package/data/knowledge/docs/kb-003.md +9 -0
  17. package/data/knowledge/index.json +25 -0
  18. package/data/orders.json +106 -0
  19. package/dist/bin/acm-demo.d.ts +3 -0
  20. package/dist/bin/acm-demo.d.ts.map +1 -0
  21. package/dist/bin/acm-demo.js +392 -0
  22. package/dist/bin/acm-demo.js.map +1 -0
  23. package/dist/src/context/directives.d.ts +3 -0
  24. package/dist/src/context/directives.d.ts.map +1 -0
  25. package/dist/src/context/directives.js +325 -0
  26. package/dist/src/context/directives.js.map +1 -0
  27. package/dist/src/context/index.d.ts +2 -0
  28. package/dist/src/context/index.d.ts.map +1 -0
  29. package/dist/src/context/index.js +2 -0
  30. package/dist/src/context/index.js.map +1 -0
  31. package/dist/src/data/coaching.d.ts +19 -0
  32. package/dist/src/data/coaching.d.ts.map +1 -0
  33. package/dist/src/data/coaching.js +22 -0
  34. package/dist/src/data/coaching.js.map +1 -0
  35. package/dist/src/data/entitlement.d.ts +25 -0
  36. package/dist/src/data/entitlement.d.ts.map +1 -0
  37. package/dist/src/data/entitlement.js +26 -0
  38. package/dist/src/data/entitlement.js.map +1 -0
  39. package/dist/src/data/incidents.d.ts +23 -0
  40. package/dist/src/data/incidents.d.ts.map +1 -0
  41. package/dist/src/data/incidents.js +37 -0
  42. package/dist/src/data/incidents.js.map +1 -0
  43. package/dist/src/data/invoices.d.ts +34 -0
  44. package/dist/src/data/invoices.d.ts.map +1 -0
  45. package/dist/src/data/invoices.js +49 -0
  46. package/dist/src/data/invoices.js.map +1 -0
  47. package/dist/src/data/knowledge.d.ts +11 -0
  48. package/dist/src/data/knowledge.d.ts.map +1 -0
  49. package/dist/src/data/knowledge.js +57 -0
  50. package/dist/src/data/knowledge.js.map +1 -0
  51. package/dist/src/data/loader.d.ts +4 -0
  52. package/dist/src/data/loader.d.ts.map +1 -0
  53. package/dist/src/data/loader.js +69 -0
  54. package/dist/src/data/loader.js.map +1 -0
  55. package/dist/src/examples/scenarios.d.ts +23 -0
  56. package/dist/src/examples/scenarios.d.ts.map +1 -0
  57. package/dist/src/examples/scenarios.js +609 -0
  58. package/dist/src/examples/scenarios.js.map +1 -0
  59. package/dist/src/goals/index.d.ts +8 -0
  60. package/dist/src/goals/index.d.ts.map +1 -0
  61. package/dist/src/goals/index.js +12 -0
  62. package/dist/src/goals/index.js.map +1 -0
  63. package/dist/src/policy.d.ts +5 -0
  64. package/dist/src/policy.d.ts.map +1 -0
  65. package/dist/src/policy.js +24 -0
  66. package/dist/src/policy.js.map +1 -0
  67. package/dist/src/registries.d.ts +18 -0
  68. package/dist/src/registries.d.ts.map +1 -0
  69. package/dist/src/registries.js +38 -0
  70. package/dist/src/registries.js.map +1 -0
  71. package/dist/src/renderer.d.ts +9 -0
  72. package/dist/src/renderer.d.ts.map +1 -0
  73. package/dist/src/renderer.js +76 -0
  74. package/dist/src/renderer.js.map +1 -0
  75. package/dist/src/search/bm25.d.ts +68 -0
  76. package/dist/src/search/bm25.d.ts.map +1 -0
  77. package/dist/src/search/bm25.js +131 -0
  78. package/dist/src/search/bm25.js.map +1 -0
  79. package/dist/src/search/index.d.ts +2 -0
  80. package/dist/src/search/index.d.ts.map +1 -0
  81. package/dist/src/search/index.js +3 -0
  82. package/dist/src/search/index.js.map +1 -0
  83. package/dist/src/tasks/coaching.d.ts +30 -0
  84. package/dist/src/tasks/coaching.d.ts.map +1 -0
  85. package/dist/src/tasks/coaching.js +143 -0
  86. package/dist/src/tasks/coaching.js.map +1 -0
  87. package/dist/src/tasks/entitlement.d.ts +29 -0
  88. package/dist/src/tasks/entitlement.d.ts.map +1 -0
  89. package/dist/src/tasks/entitlement.js +135 -0
  90. package/dist/src/tasks/entitlement.js.map +1 -0
  91. package/dist/src/tasks/incidents.d.ts +42 -0
  92. package/dist/src/tasks/incidents.d.ts.map +1 -0
  93. package/dist/src/tasks/incidents.js +189 -0
  94. package/dist/src/tasks/incidents.js.map +1 -0
  95. package/dist/src/tasks/index.d.ts +7 -0
  96. package/dist/src/tasks/index.d.ts.map +1 -0
  97. package/dist/src/tasks/index.js +7 -0
  98. package/dist/src/tasks/index.js.map +1 -0
  99. package/dist/src/tasks/invoices.d.ts +40 -0
  100. package/dist/src/tasks/invoices.d.ts.map +1 -0
  101. package/dist/src/tasks/invoices.js +180 -0
  102. package/dist/src/tasks/invoices.js.map +1 -0
  103. package/dist/src/tasks/knowledge.d.ts +23 -0
  104. package/dist/src/tasks/knowledge.d.ts.map +1 -0
  105. package/dist/src/tasks/knowledge.js +115 -0
  106. package/dist/src/tasks/knowledge.js.map +1 -0
  107. package/dist/src/tasks/legacy.d.ts +50 -0
  108. package/dist/src/tasks/legacy.d.ts.map +1 -0
  109. package/dist/src/tasks/legacy.js +85 -0
  110. package/dist/src/tasks/legacy.js.map +1 -0
  111. package/dist/src/tools/coaching/index.d.ts +49 -0
  112. package/dist/src/tools/coaching/index.d.ts.map +1 -0
  113. package/dist/src/tools/coaching/index.js +119 -0
  114. package/dist/src/tools/coaching/index.js.map +1 -0
  115. package/dist/src/tools/entitlement/index.d.ts +52 -0
  116. package/dist/src/tools/entitlement/index.d.ts.map +1 -0
  117. package/dist/src/tools/entitlement/index.js +120 -0
  118. package/dist/src/tools/entitlement/index.js.map +1 -0
  119. package/dist/src/tools/incidents/index.d.ts +55 -0
  120. package/dist/src/tools/incidents/index.d.ts.map +1 -0
  121. package/dist/src/tools/incidents/index.js +109 -0
  122. package/dist/src/tools/incidents/index.js.map +1 -0
  123. package/dist/src/tools/index.d.ts +90 -0
  124. package/dist/src/tools/index.d.ts.map +1 -0
  125. package/dist/src/tools/index.js +109 -0
  126. package/dist/src/tools/index.js.map +1 -0
  127. package/dist/src/tools/invoices/index.d.ts +56 -0
  128. package/dist/src/tools/invoices/index.d.ts.map +1 -0
  129. package/dist/src/tools/invoices/index.js +85 -0
  130. package/dist/src/tools/invoices/index.js.map +1 -0
  131. package/dist/src/tools/knowledge/index.d.ts +52 -0
  132. package/dist/src/tools/knowledge/index.d.ts.map +1 -0
  133. package/dist/src/tools/knowledge/index.js +120 -0
  134. package/dist/src/tools/knowledge/index.js.map +1 -0
  135. package/dist/tests/bm25.test.d.ts +2 -0
  136. package/dist/tests/bm25.test.d.ts.map +1 -0
  137. package/dist/tests/bm25.test.js +98 -0
  138. package/dist/tests/bm25.test.js.map +1 -0
  139. package/dist/tests/integration.test.d.ts +2 -0
  140. package/dist/tests/integration.test.d.ts.map +1 -0
  141. package/dist/tests/integration.test.js +126 -0
  142. package/dist/tests/integration.test.js.map +1 -0
  143. package/dist/tests/plan-hydration.test.d.ts +2 -0
  144. package/dist/tests/plan-hydration.test.d.ts.map +1 -0
  145. package/dist/tests/plan-hydration.test.js +28 -0
  146. package/dist/tests/plan-hydration.test.js.map +1 -0
  147. package/dist/tsconfig.tsbuildinfo +1 -0
  148. package/docs/examples-architecture.md +144 -0
  149. package/docs/successrun.md +1022 -0
  150. package/package.json +33 -0
  151. package/src/context/directives.ts +366 -0
  152. package/src/context/index.ts +1 -0
  153. package/src/data/coaching.ts +50 -0
  154. package/src/data/entitlement.ts +60 -0
  155. package/src/data/incidents.ts +78 -0
  156. package/src/data/invoices.ts +103 -0
  157. package/src/data/knowledge.ts +77 -0
  158. package/src/data/loader.ts +80 -0
  159. package/src/examples/scenarios.ts +724 -0
  160. package/src/goals/index.ts +18 -0
  161. package/src/policy.ts +30 -0
  162. package/src/registries.ts +48 -0
  163. package/src/renderer.ts +82 -0
  164. package/src/search/bm25.ts +173 -0
  165. package/src/search/index.ts +2 -0
  166. package/src/tasks/coaching.ts +217 -0
  167. package/src/tasks/entitlement.ts +197 -0
  168. package/src/tasks/incidents.ts +277 -0
  169. package/src/tasks/index.ts +6 -0
  170. package/src/tasks/invoices.ts +269 -0
  171. package/src/tasks/knowledge.ts +169 -0
  172. package/src/tasks/legacy.ts +112 -0
  173. package/src/tools/coaching/index.ts +197 -0
  174. package/src/tools/entitlement/index.ts +199 -0
  175. package/src/tools/incidents/index.ts +185 -0
  176. package/src/tools/index.ts +192 -0
  177. package/src/tools/invoices/index.ts +165 -0
  178. package/src/tools/knowledge/index.ts +203 -0
  179. package/tests/bm25.test.ts +129 -0
  180. package/tests/integration.test.ts +163 -0
  181. package/tests/plan-hydration.test.ts +33 -0
  182. package/tsconfig.json +18 -0
@@ -0,0 +1,72 @@
1
+ [
2
+ {
3
+ "id": "doc-001",
4
+ "title": "Product Returns Policy",
5
+ "content": "Our returns policy allows customers to return items within 30 days of purchase. Refunds are processed within 5-7 business days after receiving the returned item. Items must be in original condition with tags attached. Digital products are non-refundable.",
6
+ "category": "policy",
7
+ "tags": ["returns", "refunds", "policy"]
8
+ },
9
+ {
10
+ "id": "doc-002",
11
+ "title": "Shipping Information",
12
+ "content": "We offer standard and express shipping options. Standard shipping takes 5-7 business days, while express shipping takes 2-3 business days. Free shipping is available on orders over $50. International shipping is available to select countries.",
13
+ "category": "shipping",
14
+ "tags": ["shipping", "delivery", "logistics"]
15
+ },
16
+ {
17
+ "id": "doc-003",
18
+ "title": "Customer Support Hours",
19
+ "content": "Our customer support team is available Monday through Friday, 9 AM to 6 PM EST. Weekend support is available for urgent issues. You can reach us via email, phone, or live chat. Average response time is under 2 hours during business hours.",
20
+ "category": "support",
21
+ "tags": ["support", "hours", "contact"]
22
+ },
23
+ {
24
+ "id": "doc-004",
25
+ "title": "Payment Methods",
26
+ "content": "We accept major credit cards including Visa, Mastercard, American Express, and Discover. PayPal and Apple Pay are also accepted. For enterprise customers, we offer invoice payment with NET30 terms. All transactions are secured with SSL encryption.",
27
+ "category": "payment",
28
+ "tags": ["payment", "billing", "finance"]
29
+ },
30
+ {
31
+ "id": "doc-005",
32
+ "title": "Data Privacy Policy",
33
+ "content": "We are committed to protecting your personal data. We collect only essential information needed to process orders. Data is encrypted at rest and in transit. We never sell customer data to third parties. GDPR compliant for EU customers.",
34
+ "category": "privacy",
35
+ "tags": ["privacy", "data", "security", "gdpr"]
36
+ },
37
+ {
38
+ "id": "doc-006",
39
+ "title": "Product Warranty",
40
+ "content": "All products come with a 1-year manufacturer warranty covering defects in materials and workmanship. Extended warranty options are available at checkout. Warranty claims can be submitted through our support portal. Turnaround time is typically 7-14 days.",
41
+ "category": "warranty",
42
+ "tags": ["warranty", "coverage", "guarantee"]
43
+ },
44
+ {
45
+ "id": "doc-007",
46
+ "title": "Account Management",
47
+ "content": "Create an account to track orders, save payment methods, and manage your profile. Two-factor authentication is available for enhanced security. Password must be at least 8 characters with uppercase, lowercase, and numbers. Account can be deleted at any time.",
48
+ "category": "account",
49
+ "tags": ["account", "profile", "security"]
50
+ },
51
+ {
52
+ "id": "doc-008",
53
+ "title": "Bulk Ordering",
54
+ "content": "Bulk discounts are available for orders of 100 units or more. Volume pricing tiers range from 10% to 30% off retail price. Custom packaging and branding options available for bulk orders. Contact sales team for quote and delivery timeline.",
55
+ "category": "sales",
56
+ "tags": ["bulk", "wholesale", "volume"]
57
+ },
58
+ {
59
+ "id": "doc-009",
60
+ "title": "Product Specifications",
61
+ "content": "All products include detailed specifications including dimensions, weight, materials, and technical requirements. Safety certifications and compliance information available on request. Product manuals can be downloaded from the support portal.",
62
+ "category": "product",
63
+ "tags": ["specifications", "technical", "details"]
64
+ },
65
+ {
66
+ "id": "doc-010",
67
+ "title": "Loyalty Program",
68
+ "content": "Join our loyalty program to earn points on every purchase. Points can be redeemed for discounts on future orders. Tier benefits include free shipping, early access to sales, and birthday rewards. No membership fee required.",
69
+ "category": "rewards",
70
+ "tags": ["loyalty", "rewards", "points"]
71
+ }
72
+ ]
@@ -0,0 +1,38 @@
1
+ [
2
+ {
3
+ "id": "CUST-104233",
4
+ "name": "Sofia Anders",
5
+ "tier": "PLATINUM",
6
+ "accountAgeDays": 2190,
7
+ "complianceFlags": [],
8
+ "benefits": ["BEN-TRAVEL-PLUS", "BEN-PRIORITY-SUPPORT", "BEN-ANALYTICS-LABS"],
9
+ "supervisor": {
10
+ "name": "Dylan Mistry",
11
+ "email": "dylan.mistry@northwind.example"
12
+ }
13
+ },
14
+ {
15
+ "id": "CUST-204918",
16
+ "name": "Jacob Martinez",
17
+ "tier": "GOLD",
18
+ "accountAgeDays": 980,
19
+ "complianceFlags": ["ATTESTATION_PENDING"],
20
+ "benefits": ["BEN-PRIORITY-SUPPORT"],
21
+ "supervisor": {
22
+ "name": "Nina Patel",
23
+ "email": "nina.patel@northwind.example"
24
+ }
25
+ },
26
+ {
27
+ "id": "CUST-552144",
28
+ "name": "Li Wei",
29
+ "tier": "STANDARD",
30
+ "accountAgeDays": 320,
31
+ "complianceFlags": [],
32
+ "benefits": ["BEN-INSIGHTS-LITE"],
33
+ "supervisor": {
34
+ "name": "Marcus Lee",
35
+ "email": "marcus.lee@northwind.example"
36
+ }
37
+ }
38
+ ]
@@ -0,0 +1,38 @@
1
+ [
2
+ {
3
+ "id": "POL-TRAVEL-PLUS",
4
+ "benefitCode": "BEN-TRAVEL-PLUS",
5
+ "description": "Provides global lounge access and concierge booking support.",
6
+ "requiredTier": "PLATINUM",
7
+ "minAccountAgeDays": 730,
8
+ "requiresComplianceClearance": false,
9
+ "slaMinutes": 30
10
+ },
11
+ {
12
+ "id": "POL-PRIORITY-SUPPORT",
13
+ "benefitCode": "BEN-PRIORITY-SUPPORT",
14
+ "description": "24/7 engineer escalation with one-hour SLA.",
15
+ "requiredTier": "GOLD",
16
+ "minAccountAgeDays": 180,
17
+ "requiresComplianceClearance": false,
18
+ "slaMinutes": 60
19
+ },
20
+ {
21
+ "id": "POL-ANALYTICS-LABS",
22
+ "benefitCode": "BEN-ANALYTICS-LABS",
23
+ "description": "Early access to analytics beta features.",
24
+ "requiredTier": "PLATINUM",
25
+ "minAccountAgeDays": 1460,
26
+ "requiresComplianceClearance": true,
27
+ "slaMinutes": 120
28
+ },
29
+ {
30
+ "id": "POL-INSIGHTS-LITE",
31
+ "benefitCode": "BEN-INSIGHTS-LITE",
32
+ "description": "Baseline insights and monthly reporting package.",
33
+ "requiredTier": "STANDARD",
34
+ "minAccountAgeDays": 90,
35
+ "requiresComplianceClearance": false,
36
+ "slaMinutes": 240
37
+ }
38
+ ]
@@ -0,0 +1,30 @@
1
+ [
2
+ {
3
+ "id": "INC-2045",
4
+ "service": "checkout-api",
5
+ "reportedAt": "2025-10-05T03:22:00Z",
6
+ "customerImpact": "MAJOR",
7
+ "category": "OUTAGE",
8
+ "signalScore": 0.91,
9
+ "declaredSeverity": "CRITICAL",
10
+ "vipCustomer": true
11
+ },
12
+ {
13
+ "id": "INC-2078",
14
+ "service": "analytics-stream",
15
+ "reportedAt": "2025-10-05T09:40:00Z",
16
+ "customerImpact": "MINOR",
17
+ "category": "PERFORMANCE",
18
+ "signalScore": 0.63,
19
+ "declaredSeverity": "MEDIUM"
20
+ },
21
+ {
22
+ "id": "INC-2099",
23
+ "service": "identity-core",
24
+ "reportedAt": "2025-10-05T11:05:00Z",
25
+ "customerImpact": "MAJOR",
26
+ "category": "SECURITY",
27
+ "signalScore": 0.74,
28
+ "declaredSeverity": "HIGH"
29
+ }
30
+ ]
@@ -0,0 +1,36 @@
1
+ [
2
+ {
3
+ "id": "ROUTE-CHECKOUT-CRITICAL",
4
+ "service": "checkout-api",
5
+ "category": "OUTAGE",
6
+ "minSeverity": "HIGH",
7
+ "queue": "incident-bridge",
8
+ "escalatesTo": "director-oncall@northwind.example",
9
+ "notes": "Critical checkout outages route directly to the incident bridge."
10
+ },
11
+ {
12
+ "id": "ROUTE-CHECKOUT-MEDIUM",
13
+ "service": "checkout-api",
14
+ "category": "OUTAGE",
15
+ "minSeverity": "MEDIUM",
16
+ "queue": "payments-oncall",
17
+ "notes": "Medium outages handled by payments engineers."
18
+ },
19
+ {
20
+ "id": "ROUTE-ANALYTICS-PERF",
21
+ "service": "analytics-stream",
22
+ "category": "PERFORMANCE",
23
+ "minSeverity": "MEDIUM",
24
+ "queue": "analytics-sre",
25
+ "notes": "Performance degradations owned by analytics SRE."
26
+ },
27
+ {
28
+ "id": "ROUTE-ID-SECURITY",
29
+ "service": "identity-core",
30
+ "category": "SECURITY",
31
+ "minSeverity": "HIGH",
32
+ "queue": "security-incident",
33
+ "escalatesTo": "ciso@northwind.example",
34
+ "notes": "Security incidents always escalate to CISO contact."
35
+ }
36
+ ]
@@ -0,0 +1,38 @@
1
+ [
2
+ {
3
+ "id": "INV-84721",
4
+ "supplier": "Skyline Components",
5
+ "total": 18450,
6
+ "currency": "USD",
7
+ "purchaseOrderId": "PO-99231",
8
+ "receivedAt": "2025-09-29T14:12:00Z",
9
+ "lines": [
10
+ { "sku": "SRV-FW-EDGE", "description": "Edge firewall appliance", "quantity": 5, "unitPrice": 2500 },
11
+ { "sku": "SRV-SUP-24M", "description": "24 month premium support", "quantity": 5, "unitPrice": 190 }
12
+ ]
13
+ },
14
+ {
15
+ "id": "INV-84758",
16
+ "supplier": "Northwind Training",
17
+ "total": 6120,
18
+ "currency": "USD",
19
+ "purchaseOrderId": "PO-99244",
20
+ "receivedAt": "2025-09-30T09:48:00Z",
21
+ "lines": [
22
+ { "sku": "TRN-COACHING", "description": "Onsite coaching workshop", "quantity": 3, "unitPrice": 1800 },
23
+ { "sku": "TRN-MATERIALS", "description": "Participant materials", "quantity": 30, "unitPrice": 18 }
24
+ ]
25
+ },
26
+ {
27
+ "id": "INV-84761",
28
+ "supplier": "Rapid Devices",
29
+ "total": 9200,
30
+ "currency": "USD",
31
+ "purchaseOrderId": "PO-99231",
32
+ "receivedAt": "2025-10-01T11:05:00Z",
33
+ "lines": [
34
+ { "sku": "SRV-FW-EDGE", "description": "Edge firewall appliance", "quantity": 4, "unitPrice": 2400 },
35
+ { "sku": "SRV-SUP-24M", "description": "24 month premium support", "quantity": 4, "unitPrice": 190 }
36
+ ]
37
+ }
38
+ ]
@@ -0,0 +1,38 @@
1
+ [
2
+ {
3
+ "id": "PO-99231",
4
+ "initiator": "Darius Patel",
5
+ "department": "Network Engineering",
6
+ "total": 18500,
7
+ "currency": "USD",
8
+ "status": "approved",
9
+ "lines": [
10
+ { "sku": "SRV-FW-EDGE", "description": "Edge firewall appliance", "quantity": 5, "unitPrice": 2500 },
11
+ { "sku": "SRV-SUP-24M", "description": "24 month premium support", "quantity": 5, "unitPrice": 200 }
12
+ ]
13
+ },
14
+ {
15
+ "id": "PO-99244",
16
+ "initiator": "Megan Lee",
17
+ "department": "People Operations",
18
+ "total": 6200,
19
+ "currency": "USD",
20
+ "status": "approved",
21
+ "lines": [
22
+ { "sku": "TRN-COACHING", "description": "Onsite coaching workshop", "quantity": 3, "unitPrice": 1800 },
23
+ { "sku": "TRN-MATERIALS", "description": "Participant materials", "quantity": 30, "unitPrice": 20 }
24
+ ]
25
+ },
26
+ {
27
+ "id": "PO-99267",
28
+ "initiator": "Laila Ortiz",
29
+ "department": "Manufacturing",
30
+ "total": 11800,
31
+ "currency": "USD",
32
+ "status": "pending",
33
+ "lines": [
34
+ { "sku": "MFG-CNC-LEASE", "description": "CNC equipment lease", "quantity": 1, "unitPrice": 9600 },
35
+ { "sku": "MFG-SAFETY-KIT", "description": "Safety equipment kit", "quantity": 40, "unitPrice": 55 }
36
+ ]
37
+ }
38
+ ]
@@ -0,0 +1,99 @@
1
+ [
2
+ {
3
+ "issueId": "ISS-001",
4
+ "title": "Unable to complete checkout",
5
+ "description": "Payment processing fails at the final step with error code 500",
6
+ "severity": "high",
7
+ "status": "open",
8
+ "reportedBy": "C-789",
9
+ "reportedAt": "2025-01-15T10:30:00Z",
10
+ "category": "payment",
11
+ "affectedUsers": 45,
12
+ "region": "US-EAST"
13
+ },
14
+ {
15
+ "issueId": "ISS-002",
16
+ "title": "Product images not loading",
17
+ "description": "Product detail pages show broken image placeholders instead of actual product photos",
18
+ "severity": "medium",
19
+ "status": "investigating",
20
+ "reportedBy": "C-456",
21
+ "reportedAt": "2025-01-14T14:20:00Z",
22
+ "category": "ui",
23
+ "affectedUsers": 120,
24
+ "region": "EU-WEST"
25
+ },
26
+ {
27
+ "issueId": "ISS-003",
28
+ "title": "Email notifications delayed",
29
+ "description": "Order confirmation emails are arriving 2-3 hours after order placement instead of immediately",
30
+ "severity": "low",
31
+ "status": "resolved",
32
+ "reportedBy": "C-123",
33
+ "reportedAt": "2025-01-13T09:15:00Z",
34
+ "resolvedAt": "2025-01-14T16:00:00Z",
35
+ "category": "notifications",
36
+ "affectedUsers": 200,
37
+ "region": "global"
38
+ },
39
+ {
40
+ "issueId": "ISS-004",
41
+ "title": "Search results inaccurate",
42
+ "description": "Product search returns irrelevant results and misses exact matches",
43
+ "severity": "high",
44
+ "status": "open",
45
+ "reportedBy": "C-555",
46
+ "reportedAt": "2025-01-16T11:45:00Z",
47
+ "category": "search",
48
+ "affectedUsers": 300,
49
+ "region": "global"
50
+ },
51
+ {
52
+ "issueId": "ISS-005",
53
+ "title": "Mobile app crashes on iOS",
54
+ "description": "App crashes when attempting to view order history on iOS 17",
55
+ "severity": "critical",
56
+ "status": "in_progress",
57
+ "reportedBy": "C-888",
58
+ "reportedAt": "2025-01-17T08:00:00Z",
59
+ "category": "mobile",
60
+ "affectedUsers": 500,
61
+ "region": "global"
62
+ },
63
+ {
64
+ "issueId": "ISS-006",
65
+ "title": "Slow page load times",
66
+ "description": "Homepage and category pages taking 10+ seconds to load during peak hours",
67
+ "severity": "medium",
68
+ "status": "open",
69
+ "reportedBy": "C-777",
70
+ "reportedAt": "2025-01-16T19:30:00Z",
71
+ "category": "performance",
72
+ "affectedUsers": 1000,
73
+ "region": "US-WEST"
74
+ },
75
+ {
76
+ "issueId": "ISS-007",
77
+ "title": "Incorrect tax calculation",
78
+ "description": "Sales tax is being calculated incorrectly for orders in California",
79
+ "severity": "high",
80
+ "status": "investigating",
81
+ "reportedBy": "C-456",
82
+ "reportedAt": "2025-01-15T13:20:00Z",
83
+ "category": "billing",
84
+ "affectedUsers": 75,
85
+ "region": "US-WEST"
86
+ },
87
+ {
88
+ "issueId": "ISS-008",
89
+ "title": "Wishlist items disappearing",
90
+ "description": "Items added to wishlist are randomly being removed after page refresh",
91
+ "severity": "low",
92
+ "status": "open",
93
+ "reportedBy": "C-999",
94
+ "reportedAt": "2025-01-14T16:45:00Z",
95
+ "category": "feature",
96
+ "affectedUsers": 50,
97
+ "region": "global"
98
+ }
99
+ ]
@@ -0,0 +1,7 @@
1
+ # Resetting MFA-secured passwords
2
+
3
+ 1. Validate the caller using two account identifiers and the last successful login timestamp.
4
+ 2. Confirm MFA enrollment method (TOTP, push, hardware key) and whether the customer still has access.
5
+ 3. If hardware key is lost, create a temporary bypass token valid for 10 minutes and log the issuance in the security ledger.
6
+ 4. Require the customer to set a new password that meets the 14-character complexity policy.
7
+ 5. Close the case by attaching the bypass confirmation ID and notifying the security operations channel.
@@ -0,0 +1,7 @@
1
+ # Refund eligibility decision tree
2
+
3
+ - Verify the subscription tier and billing term. Enterprise annual contracts require finance approval.
4
+ - If the incident is tagged as "platform outage", issue a full credit prorated for downtime.
5
+ - For shipping or activation delays, offer expedited onboarding plus a 20% credit if the customer is GOLD or higher.
6
+ - Always document the root cause category and attach supporting telemetry to the refund record.
7
+ - Escalate to the duty manager if the requested credit exceeds $5,000 USD.
@@ -0,0 +1,9 @@
1
+ # Stabilizing API latency regressions
2
+
3
+ Monitoring detected elevated p95 latency across the public REST API. Follow this checklist:
4
+
5
+ 1. Inspect deployment history for the impacted service and roll back if a canary exceeded SLOs.
6
+ 2. Flush regional CDN caches and confirm cache hit ratios rebound above 92%.
7
+ 3. Capture thread dumps from the application nodes to identify blocking calls.
8
+ 4. Increase autoscaling floor by two nodes per region while the investigation runs.
9
+ 5. Post an update to the status page every 30 minutes until latency returns under 250 ms.
@@ -0,0 +1,25 @@
1
+ {
2
+ "snippets": [
3
+ {
4
+ "id": "KB-001",
5
+ "title": "Resetting MFA-secured passwords",
6
+ "tags": ["identity", "password", "mfa"],
7
+ "path": "docs/kb-001.md",
8
+ "summary": "Runbook for agents guiding customers through MFA password reset and device verification."
9
+ },
10
+ {
11
+ "id": "KB-002",
12
+ "title": "Refund eligibility decision tree",
13
+ "tags": ["billing", "refund", "policy"],
14
+ "path": "docs/kb-002.md",
15
+ "summary": "Policy matrix for issuing refunds based on subscription tier and issue category."
16
+ },
17
+ {
18
+ "id": "KB-003",
19
+ "title": "Stabilizing API latency regressions",
20
+ "tags": ["incident", "performance", "api"],
21
+ "path": "docs/kb-003.md",
22
+ "summary": "Checklist for diagnosing elevated API latency including caching, rollout, and alerting steps."
23
+ }
24
+ ]
25
+ }
@@ -0,0 +1,106 @@
1
+ [
2
+ {
3
+ "orderId": "O-2025-001",
4
+ "customerId": "C-789",
5
+ "customerName": "John Smith",
6
+ "orderDate": "2025-01-10",
7
+ "status": "delivered",
8
+ "total": 299.99,
9
+ "items": [
10
+ { "sku": "PROD-001", "name": "Wireless Headphones", "quantity": 1, "price": 149.99 },
11
+ { "sku": "PROD-002", "name": "Phone Case", "quantity": 2, "price": 75.00 }
12
+ ],
13
+ "shippingAddress": {
14
+ "street": "123 Main St",
15
+ "city": "New York",
16
+ "state": "NY",
17
+ "zip": "10001",
18
+ "country": "US"
19
+ },
20
+ "region": "US-EAST"
21
+ },
22
+ {
23
+ "orderId": "O-2025-002",
24
+ "customerId": "C-456",
25
+ "customerName": "Sarah Johnson",
26
+ "orderDate": "2025-01-12",
27
+ "status": "shipped",
28
+ "total": 599.00,
29
+ "items": [
30
+ { "sku": "PROD-003", "name": "Laptop Stand", "quantity": 1, "price": 89.00 },
31
+ { "sku": "PROD-004", "name": "External Monitor", "quantity": 1, "price": 499.00 },
32
+ { "sku": "PROD-005", "name": "USB-C Cable", "quantity": 2, "price": 11.00 }
33
+ ],
34
+ "shippingAddress": {
35
+ "street": "456 Oak Ave",
36
+ "city": "San Francisco",
37
+ "state": "CA",
38
+ "zip": "94102",
39
+ "country": "US"
40
+ },
41
+ "region": "US-WEST"
42
+ },
43
+ {
44
+ "orderId": "O-2025-003",
45
+ "customerId": "C-123",
46
+ "customerName": "Michael Brown",
47
+ "orderDate": "2025-01-14",
48
+ "status": "processing",
49
+ "total": 1299.99,
50
+ "items": [
51
+ { "sku": "PROD-006", "name": "Gaming Keyboard", "quantity": 1, "price": 199.99 },
52
+ { "sku": "PROD-007", "name": "Gaming Mouse", "quantity": 1, "price": 99.99 },
53
+ { "sku": "PROD-008", "name": "Gaming Chair", "quantity": 1, "price": 999.99 }
54
+ ],
55
+ "shippingAddress": {
56
+ "street": "789 Elm St",
57
+ "city": "Chicago",
58
+ "state": "IL",
59
+ "zip": "60601",
60
+ "country": "US"
61
+ },
62
+ "region": "US-CENTRAL"
63
+ },
64
+ {
65
+ "orderId": "O-2025-004",
66
+ "customerId": "C-789",
67
+ "customerName": "John Smith",
68
+ "orderDate": "2025-01-15",
69
+ "status": "cancelled",
70
+ "total": 49.99,
71
+ "items": [
72
+ { "sku": "PROD-009", "name": "Screen Protector", "quantity": 1, "price": 24.99 },
73
+ { "sku": "PROD-010", "name": "Cleaning Kit", "quantity": 1, "price": 24.99 }
74
+ ],
75
+ "shippingAddress": {
76
+ "street": "123 Main St",
77
+ "city": "New York",
78
+ "state": "NY",
79
+ "zip": "10001",
80
+ "country": "US"
81
+ },
82
+ "region": "US-EAST",
83
+ "cancellationReason": "Customer requested"
84
+ },
85
+ {
86
+ "orderId": "O-2025-005",
87
+ "customerId": "C-555",
88
+ "customerName": "Emily Davis",
89
+ "orderDate": "2025-01-16",
90
+ "status": "delivered",
91
+ "total": 399.50,
92
+ "items": [
93
+ { "sku": "PROD-011", "name": "Wireless Charger", "quantity": 2, "price": 79.99 },
94
+ { "sku": "PROD-012", "name": "Power Bank", "quantity": 1, "price": 59.99 },
95
+ { "sku": "PROD-013", "name": "Car Mount", "quantity": 3, "price": 59.85 }
96
+ ],
97
+ "shippingAddress": {
98
+ "street": "321 Pine Rd",
99
+ "city": "Seattle",
100
+ "state": "WA",
101
+ "zip": "98101",
102
+ "country": "US"
103
+ },
104
+ "region": "US-WEST"
105
+ }
106
+ ]
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=acm-demo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acm-demo.d.ts","sourceRoot":"","sources":["../../bin/acm-demo.ts"],"names":[],"mappings":""}