howamiprompting 0.0.0-stage → 0.1.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.
package/src/bank.json ADDED
@@ -0,0 +1,687 @@
1
+ {
2
+ "passages": [
3
+ {
4
+ "text": "Users reported that when paying via UPI during peak hours, the transaction times out on the gateway side. However, our server does not receive the payment webhook before the checkout session expires. As a result, the customer's account is debited, but the order status remains 'Pending' instead of 'Completed'. The support team has received over forty complaints since Monday.",
5
+ "questions": [
6
+ "What happened to the customer's money?",
7
+ "Why did our system fail to update the order status?"
8
+ ],
9
+ "key_facts": [
10
+ {
11
+ "fact": "Money was debited \/ deducted from the customer",
12
+ "keywords": [
13
+ "debit",
14
+ "deduct",
15
+ "charged",
16
+ "taken",
17
+ "cut",
18
+ "money was",
19
+ "paid"
20
+ ]
21
+ },
22
+ {
23
+ "fact": "The webhook did not arrive before the session expired",
24
+ "keywords": [
25
+ "webhook",
26
+ "notification",
27
+ "callback",
28
+ "confirmation"
29
+ ]
30
+ },
31
+ {
32
+ "fact": "Session expired \/ timed out",
33
+ "keywords": [
34
+ "expire",
35
+ "time out",
36
+ "timed out",
37
+ "timeout",
38
+ "session"
39
+ ]
40
+ },
41
+ {
42
+ "fact": "Order stayed Pending instead of Completed",
43
+ "keywords": [
44
+ "pending",
45
+ "not completed",
46
+ "not updated",
47
+ "did not update"
48
+ ]
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "text": "Last night, the nightly backup job started at 2 AM but failed halfway because the disk on the storage server was full. The job did not send an alert, so nobody noticed the failure until a customer asked for a data restore this morning. We were only able to restore data from three days ago. The team now plans to add disk monitoring and failure alerts.",
54
+ "questions": [
55
+ "Why did the backup fail?",
56
+ "Why was the customer affected?"
57
+ ],
58
+ "key_facts": [
59
+ {
60
+ "fact": "Disk was full",
61
+ "keywords": [
62
+ "disk",
63
+ "full",
64
+ "space",
65
+ "storage"
66
+ ]
67
+ },
68
+ {
69
+ "fact": "No alert was sent",
70
+ "keywords": [
71
+ "alert",
72
+ "notif",
73
+ "nobody noticed",
74
+ "no one noticed",
75
+ "not notice"
76
+ ]
77
+ },
78
+ {
79
+ "fact": "Restore only from three days ago \/ older data",
80
+ "keywords": [
81
+ "three days",
82
+ "3 days",
83
+ "old data",
84
+ "older"
85
+ ]
86
+ }
87
+ ]
88
+ },
89
+ {
90
+ "text": "After yesterday's app update, some Android users cannot log in with their phone number. The OTP is generated correctly, but the SMS provider rejects messages that contain our new sender ID because it has not been approved yet. Because the OTP never reaches the user, the login screen keeps waiting until it shows a timeout error. iOS users are not affected because they use email login.",
91
+ "questions": [
92
+ "Which users are affected and what do they see?",
93
+ "What is the real reason the login fails?"
94
+ ],
95
+ "key_facts": [
96
+ {
97
+ "fact": "Android users cannot log in",
98
+ "keywords": [
99
+ "android"
100
+ ]
101
+ },
102
+ {
103
+ "fact": "SMS provider rejects messages",
104
+ "keywords": [
105
+ "reject",
106
+ "block",
107
+ "sms provider",
108
+ "provider"
109
+ ]
110
+ },
111
+ {
112
+ "fact": "New sender ID not approved",
113
+ "keywords": [
114
+ "sender id",
115
+ "sender",
116
+ "approv"
117
+ ]
118
+ },
119
+ {
120
+ "fact": "OTP never reaches the user",
121
+ "keywords": [
122
+ "otp",
123
+ "never reach",
124
+ "not receive",
125
+ "not reach",
126
+ "doesn't receive",
127
+ "does not receive"
128
+ ]
129
+ }
130
+ ]
131
+ },
132
+ {
133
+ "text": "Our sales team noticed that call recordings from the auto-dialer are missing for calls longer than thirty minutes. The recording service uploads files in one request, and the cloud storage rejects any file larger than 100 MB. Since the upload error is not logged, the dashboard simply shows 'No recording available'. Short calls are recorded and uploaded without any problem.",
134
+ "questions": [
135
+ "Which recordings are missing?",
136
+ "Why are they missing, and why did nobody see an error?"
137
+ ],
138
+ "key_facts": [
139
+ {
140
+ "fact": "Calls longer than thirty minutes",
141
+ "keywords": [
142
+ "thirty",
143
+ "30",
144
+ "long call",
145
+ "longer"
146
+ ]
147
+ },
148
+ {
149
+ "fact": "Storage rejects files over 100 MB",
150
+ "keywords": [
151
+ "100",
152
+ "large",
153
+ "size",
154
+ "big",
155
+ "reject"
156
+ ]
157
+ },
158
+ {
159
+ "fact": "Single-request upload",
160
+ "keywords": [
161
+ "one request",
162
+ "single request",
163
+ "upload"
164
+ ]
165
+ },
166
+ {
167
+ "fact": "The error is not logged",
168
+ "keywords": [
169
+ "not logged",
170
+ "no log",
171
+ "log",
172
+ "silent"
173
+ ]
174
+ }
175
+ ]
176
+ },
177
+ {
178
+ "text": "On Friday, the CRM started showing duplicate leads for many customers. The import script runs every hour, but a recent change removed the check that compares phone numbers before inserting a new record. Because of this, every hourly run adds the same leads again. Sales agents are now calling the same customers two or three times, and some customers have complained.",
179
+ "questions": [
180
+ "What problem are the sales agents facing?",
181
+ "What change caused it?"
182
+ ],
183
+ "key_facts": [
184
+ {
185
+ "fact": "Duplicate leads",
186
+ "keywords": [
187
+ "duplicate",
188
+ "same lead",
189
+ "repeated",
190
+ "twice",
191
+ "multiple times"
192
+ ]
193
+ },
194
+ {
195
+ "fact": "Phone number check was removed",
196
+ "keywords": [
197
+ "check",
198
+ "phone number",
199
+ "validation",
200
+ "removed"
201
+ ]
202
+ },
203
+ {
204
+ "fact": "Hourly import adds them again",
205
+ "keywords": [
206
+ "hour",
207
+ "every run",
208
+ "import",
209
+ "script"
210
+ ]
211
+ },
212
+ {
213
+ "fact": "Customers called multiple times \/ complained",
214
+ "keywords": [
215
+ "call",
216
+ "complain"
217
+ ]
218
+ }
219
+ ]
220
+ },
221
+ {
222
+ "text": "The mobile app crashes when a user opens the invoice screen while offline. The screen tries to read the cached invoice list, but the cache is empty for users who installed the app recently. The code does not handle an empty list, so it throws an exception and the app closes. Users who have opened invoices at least once while online do not see this crash.",
223
+ "questions": [
224
+ "When does the crash happen and for whom?",
225
+ "What is the technical cause?"
226
+ ],
227
+ "key_facts": [
228
+ {
229
+ "fact": "Invoice screen while offline",
230
+ "keywords": [
231
+ "offline",
232
+ "no internet",
233
+ "without internet"
234
+ ]
235
+ },
236
+ {
237
+ "fact": "New users \/ empty cache",
238
+ "keywords": [
239
+ "new user",
240
+ "recently",
241
+ "empty",
242
+ "cache"
243
+ ]
244
+ },
245
+ {
246
+ "fact": "Code does not handle empty list → exception",
247
+ "keywords": [
248
+ "handle",
249
+ "exception",
250
+ "null",
251
+ "empty list"
252
+ ]
253
+ }
254
+ ]
255
+ },
256
+ {
257
+ "text": "Customers on the yearly plan were charged again this month even though their subscription is valid until next year. A developer changed the billing cron job to run on the first day of every month, but forgot to skip customers on annual plans. Finance has already refunded twenty customers manually. The fix is ready, but it needs approval before it can be deployed.",
258
+ "questions": [
259
+ "What went wrong for the yearly customers?",
260
+ "What is the status of the fix?"
261
+ ],
262
+ "key_facts": [
263
+ {
264
+ "fact": "Yearly customers were charged again",
265
+ "keywords": [
266
+ "charged",
267
+ "billed",
268
+ "double",
269
+ "again"
270
+ ]
271
+ },
272
+ {
273
+ "fact": "Cron job changed \/ annual plans not skipped",
274
+ "keywords": [
275
+ "cron",
276
+ "skip",
277
+ "annual",
278
+ "yearly",
279
+ "monthly"
280
+ ]
281
+ },
282
+ {
283
+ "fact": "Refunds given manually",
284
+ "keywords": [
285
+ "refund"
286
+ ]
287
+ },
288
+ {
289
+ "fact": "Fix waiting for approval",
290
+ "keywords": [
291
+ "approv",
292
+ "waiting",
293
+ "not deployed",
294
+ "ready"
295
+ ]
296
+ }
297
+ ]
298
+ }
299
+ ],
300
+ "fixit": [
301
+ {
302
+ "broken": "When the user click not doing properly button because api slow it get stuck.",
303
+ "reference": "When the user clicks the button, the screen gets stuck because the API is slow.",
304
+ "focus": "subject-verb agreement"
305
+ },
306
+ {
307
+ "broken": "Payment deduction happened but page showing blank because response coming null.",
308
+ "reference": "The payment was deducted, but the page is blank because the API response is null.",
309
+ "focus": "missing auxiliary verbs"
310
+ },
311
+ {
312
+ "broken": "We cannot release today build why because testing team did not complete login check.",
313
+ "reference": "We cannot release today's build because the testing team has not finished testing the login flow.",
314
+ "focus": "\"why because\" & possessives"
315
+ },
316
+ {
317
+ "broken": "yesterday i deploy the code but it not reflecting in production server",
318
+ "reference": "Yesterday I deployed the code, but the changes are not showing on the production server.",
319
+ "focus": "past tense & capitalization"
320
+ },
321
+ {
322
+ "broken": "Kindly do the needful and revert back the API document asap.",
323
+ "reference": "Please send me the API documentation as soon as possible.",
324
+ "focus": "outdated phrases"
325
+ },
326
+ {
327
+ "broken": "The data is not coming in dashboard since morning, please check it is urgent.",
328
+ "reference": "The data has not appeared on the dashboard since this morning. Please check it urgently.",
329
+ "focus": "tense & run-on"
330
+ },
331
+ {
332
+ "broken": "I have did the changes in login page and pushed it can you review",
333
+ "reference": "I have made the changes to the login page and pushed them. Can you review them?",
334
+ "focus": "perfect tense & sentence boundaries"
335
+ },
336
+ {
337
+ "broken": "Server is crashing again and again whenever more users is coming at same time.",
338
+ "reference": "The server crashes whenever many users connect at the same time.",
339
+ "focus": "subject-verb agreement & articles"
340
+ },
341
+ {
342
+ "broken": "He told that the bug is fixed but still same issue is coming for me.",
343
+ "reference": "He said that the bug was fixed, but I still see the same issue.",
344
+ "focus": "reported speech & word order"
345
+ },
346
+ {
347
+ "broken": "Can able to share the logs so that I can able to debug.",
348
+ "reference": "Can you share the logs so that I can debug the issue?",
349
+ "focus": "\"can able to\""
350
+ },
351
+ {
352
+ "broken": "The OTP not received to user because of SMS gateway is down from 2 hours.",
353
+ "reference": "The user did not receive the OTP because the SMS gateway has been down for two hours.",
354
+ "focus": "passive voice & since\/for"
355
+ },
356
+ {
357
+ "broken": "Lets discuss about the new feature tomorrow morning in meeting.",
358
+ "reference": "Let's discuss the new feature in tomorrow morning's meeting.",
359
+ "focus": "\"discuss about\" & apostrophes"
360
+ },
361
+ {
362
+ "broken": "Build is failing, i checked the logs, there is some dependency issue, need to update it.",
363
+ "reference": "The build is failing. I checked the logs and found a dependency issue that needs to be updated.",
364
+ "focus": "comma splices"
365
+ },
366
+ {
367
+ "broken": "Customer is saying that they didnt got the invoice mail.",
368
+ "reference": "The customer says that they did not get the invoice email.",
369
+ "focus": "did + base verb"
370
+ },
371
+ {
372
+ "broken": "Whole day I am working on this bug only but still not solved.",
373
+ "reference": "I have been working on this bug all day, but it is still not solved.",
374
+ "focus": "present perfect continuous"
375
+ },
376
+ {
377
+ "broken": "If user enter wrong password more than 3 times then account will locked.",
378
+ "reference": "If a user enters the wrong password more than three times, the account will be locked.",
379
+ "focus": "conditionals & passive"
380
+ },
381
+ {
382
+ "broken": "The file upload is not happening for large files it shows error.",
383
+ "reference": "Large files fail to upload, and the app shows an error.",
384
+ "focus": "run-on sentence"
385
+ },
386
+ {
387
+ "broken": "Me and Rahul has completed the testing of all module.",
388
+ "reference": "Rahul and I have completed testing all the modules.",
389
+ "focus": "pronouns & plurals"
390
+ }
391
+ ],
392
+ "diagrams": [
393
+ {
394
+ "title": "Login security rule",
395
+ "boxes": [
396
+ {
397
+ "icon": "🔑",
398
+ "label": "User enters invalid password"
399
+ },
400
+ {
401
+ "icon": "❌",
402
+ "label": "3 failed attempts"
403
+ },
404
+ {
405
+ "icon": "🔒",
406
+ "label": "Account locked for 15 min"
407
+ }
408
+ ],
409
+ "audience": "an end user",
410
+ "key_points": [
411
+ {
412
+ "point": "wrong\/invalid password",
413
+ "keywords": [
414
+ "wrong",
415
+ "invalid",
416
+ "incorrect"
417
+ ]
418
+ },
419
+ {
420
+ "point": "three attempts",
421
+ "keywords": [
422
+ "three",
423
+ "3"
424
+ ]
425
+ },
426
+ {
427
+ "point": "locked 15 minutes",
428
+ "keywords": [
429
+ "lock",
430
+ "15",
431
+ "fifteen"
432
+ ]
433
+ }
434
+ ]
435
+ },
436
+ {
437
+ "title": "Free trial expiry",
438
+ "boxes": [
439
+ {
440
+ "icon": "🎁",
441
+ "label": "14-day free trial starts"
442
+ },
443
+ {
444
+ "icon": "📧",
445
+ "label": "Reminder email on day 12"
446
+ },
447
+ {
448
+ "icon": "⛔",
449
+ "label": "Access paused if not upgraded"
450
+ }
451
+ ],
452
+ "audience": "a new customer",
453
+ "key_points": [
454
+ {
455
+ "point": "14-day trial",
456
+ "keywords": [
457
+ "14",
458
+ "fourteen",
459
+ "trial"
460
+ ]
461
+ },
462
+ {
463
+ "point": "reminder on day 12",
464
+ "keywords": [
465
+ "12",
466
+ "twelve",
467
+ "remind",
468
+ "email"
469
+ ]
470
+ },
471
+ {
472
+ "point": "access paused unless upgraded",
473
+ "keywords": [
474
+ "pause",
475
+ "stop",
476
+ "block",
477
+ "upgrade"
478
+ ]
479
+ }
480
+ ]
481
+ },
482
+ {
483
+ "title": "Password reset",
484
+ "boxes": [
485
+ {
486
+ "icon": "📨",
487
+ "label": "Tap \"Forgot password\""
488
+ },
489
+ {
490
+ "icon": "🔗",
491
+ "label": "Reset link sent (valid 30 min)"
492
+ },
493
+ {
494
+ "icon": "✅",
495
+ "label": "Set new password & log in"
496
+ }
497
+ ],
498
+ "audience": "an app user",
499
+ "key_points": [
500
+ {
501
+ "point": "forgot password",
502
+ "keywords": [
503
+ "forgot",
504
+ "forget"
505
+ ]
506
+ },
507
+ {
508
+ "point": "link valid 30 minutes",
509
+ "keywords": [
510
+ "30",
511
+ "thirty",
512
+ "link"
513
+ ]
514
+ },
515
+ {
516
+ "point": "new password",
517
+ "keywords": [
518
+ "new password",
519
+ "set",
520
+ "create"
521
+ ]
522
+ }
523
+ ]
524
+ },
525
+ {
526
+ "title": "Refund process",
527
+ "boxes": [
528
+ {
529
+ "icon": "🧾",
530
+ "label": "Customer requests refund"
531
+ },
532
+ {
533
+ "icon": "🔍",
534
+ "label": "Team reviews within 48 hrs"
535
+ },
536
+ {
537
+ "icon": "💸",
538
+ "label": "Money back in 5–7 days"
539
+ }
540
+ ],
541
+ "audience": "a customer",
542
+ "key_points": [
543
+ {
544
+ "point": "request a refund",
545
+ "keywords": [
546
+ "request",
547
+ "ask"
548
+ ]
549
+ },
550
+ {
551
+ "point": "review within 48 hours",
552
+ "keywords": [
553
+ "48",
554
+ "two days",
555
+ "review"
556
+ ]
557
+ },
558
+ {
559
+ "point": "5–7 days",
560
+ "keywords": [
561
+ "5",
562
+ "7",
563
+ "five",
564
+ "seven",
565
+ "days"
566
+ ]
567
+ }
568
+ ]
569
+ },
570
+ {
571
+ "title": "Missed call follow-up",
572
+ "boxes": [
573
+ {
574
+ "icon": "📞",
575
+ "label": "Lead does not answer"
576
+ },
577
+ {
578
+ "icon": "⏱️",
579
+ "label": "Auto-retry after 2 hours"
580
+ },
581
+ {
582
+ "icon": "📋",
583
+ "label": "After 3 tries → task for agent"
584
+ }
585
+ ],
586
+ "audience": "a sales agent",
587
+ "key_points": [
588
+ {
589
+ "point": "lead does not answer",
590
+ "keywords": [
591
+ "answer",
592
+ "pick",
593
+ "miss"
594
+ ]
595
+ },
596
+ {
597
+ "point": "retry after two hours",
598
+ "keywords": [
599
+ "2",
600
+ "two",
601
+ "retry",
602
+ "again"
603
+ ]
604
+ },
605
+ {
606
+ "point": "task after three tries",
607
+ "keywords": [
608
+ "task",
609
+ "three",
610
+ "3",
611
+ "assign"
612
+ ]
613
+ }
614
+ ]
615
+ },
616
+ {
617
+ "title": "Offline sync",
618
+ "boxes": [
619
+ {
620
+ "icon": "📴",
621
+ "label": "App goes offline"
622
+ },
623
+ {
624
+ "icon": "💾",
625
+ "label": "Changes saved on phone"
626
+ },
627
+ {
628
+ "icon": "🔄",
629
+ "label": "Auto-sync when back online"
630
+ }
631
+ ],
632
+ "audience": "a field user",
633
+ "key_points": [
634
+ {
635
+ "point": "offline",
636
+ "keywords": [
637
+ "offline",
638
+ "no internet",
639
+ "without internet"
640
+ ]
641
+ },
642
+ {
643
+ "point": "saved on the phone",
644
+ "keywords": [
645
+ "save",
646
+ "store",
647
+ "phone",
648
+ "device"
649
+ ]
650
+ },
651
+ {
652
+ "point": "sync when online",
653
+ "keywords": [
654
+ "sync",
655
+ "online",
656
+ "upload",
657
+ "connect"
658
+ ]
659
+ }
660
+ ]
661
+ }
662
+ ],
663
+ "rewrites": [
664
+ "add one filter in leads page for status and date also make export working its not working from last week check fast",
665
+ "login api giving 500 sometimes not always, check logs and fix, also why token expiring early in android",
666
+ "make the dashboard ui like the other one we did but better and fast, use same colors, charts not coming properly fix that also",
667
+ "webhook not hitting our server when payment success, debug it and make order status update properly pls",
668
+ "refactor the call module code its very messy, also the recordings upload part failing for big files check it"
669
+ ],
670
+ "topics": [
671
+ "UPI payments",
672
+ "OTP login",
673
+ "call recordings",
674
+ "CRM lead import",
675
+ "push notifications",
676
+ "subscription billing",
677
+ "file uploads",
678
+ "API rate limiting",
679
+ "database migration",
680
+ "cache invalidation",
681
+ "WhatsApp integration",
682
+ "mobile app release",
683
+ "report export",
684
+ "auto-dialer campaigns",
685
+ "role permissions"
686
+ ]
687
+ }