Skip to content

Commit 565b1ed

Browse files
committed
Ready for release
1 parent 37afe2d commit 565b1ed

10 files changed

Lines changed: 663 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: CI
2+
on: [push, pull_request]
3+
jobs:
4+
test:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- uses: actions/checkout@v4
8+
- uses: actions/setup-python@v5
9+
with:
10+
python-version: "3.11"
11+
- name: Install
12+
run: |
13+
python -m pip install -U pip
14+
pip install -e .
15+
- name: Pytest
16+
run: pytest -q

samples/label_descs.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"Billing": "charges, fees, refunds, adjustments, statements, interest, taxation",
3+
"Refunds": "request or status of refunds, reversals, chargebacks",
4+
"Disputes": "dispute a transaction, incorrect billing, merchant issues",
5+
"Fees": "monthly fees, ATM fees, foreign exchange fees, brokerage commissions",
6+
"Statements": "download statements, line-item explanations, interest charged",
7+
"TaxDocs": "tax certificates, 1099/INT, W-8BEN, capital gains/loss statements",
8+
"TechSupport": "app or website problems, login, authentication, device issues",
9+
"LoginIssues": "password reset, two-factor auth, locked account",
10+
"AppBugs": "crashes, slow, update problems, notifications not working",
11+
"CardIssues": "card not working at ATM or POS, declines",
12+
"Connectivity": "cannot connect, network timeouts, proxy/VPN issues",
13+
"AccountClosure": "close account, terminate service, transfer out, exit",
14+
"Opening": "open account, eligibility, required documents, minimum balance",
15+
"Limits": "increase/decrease limits, wire/ACH caps, withdrawal/transfer limits",
16+
"Profile": "update address, phone, email, name; re-KYC; document uploads",
17+
"Trading": "place orders, order types, execution, after-hours, margin",
18+
"Dividends": "dividend schedules, DRIP enrollment, withholding tax",
19+
"CorporateActions": "splits, mergers, rights issues, de-listing, proxy voting",
20+
"Research": "screeners, analyst ratings, news feeds, reports access"
21+
}

samples/label_descs_dense.json

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
{
2+
"CardDecline_ATM": "card declined at ATM, cash withdrawal failure, terminal error, network or insufficient funds message",
3+
"CardDecline_POS": "point-of-sale card decline at merchant checkout, terminal decline, payment refused",
4+
"CardDecline_Online": "online purchase payment declined by card issuer, e-commerce transaction refused",
5+
"CardDecline_International": "card declined abroad or for foreign merchant, cross-border or FX restrictions",
6+
"CardDecline_ChipError": "chip read error, EMV failure, insert card multiple times, cannot read chip",
7+
"CardDecline_SwipeError": "magstripe read failure, swipe error, try alternate method",
8+
"CardDecline_Contactless": "tap to pay / NFC contactless decline or not recognized",
9+
"CardDecline_WrongPIN": "PIN attempts failing at ATM/POS, incorrect PIN or blocked",
10+
"CardDecline_Expired": "card expired, out-of-date card validity causing declines",
11+
"CardDecline_NotActivated": "new or replacement card not activated leads to decline",
12+
"Login_ResetPassword": "forgot password, reset link or flow, cannot sign in",
13+
"Login_2FA_NoSMS": "two-factor code by SMS not arriving, OTP missing or delayed",
14+
"Login_2FA_Authenticator": "authenticator app code not accepted, TOTP mismatch",
15+
"Login_DeviceLost": "lost phone/device, cannot access app, need recovery",
16+
"Login_Lockout": "account locked due to too many attempts, need unlock",
17+
"App_Crash_Launch": "app crashes on startup, immediately closes on opening",
18+
"App_Crash_Transfer": "app crashes on transfer or payments screen, force close",
19+
"App_NoNotifications": "push notifications not received, approval prompts missing",
20+
"App_Stuck_Update": "update caused errors, roll back or stuck during update",
21+
"App_SessionLoop": "session expired loop, repeated login prompts, redirect loops",
22+
"ACH_Pending": "ACH transfer pending review, funds not yet posted",
23+
"ACH_Reversed_NSF": "ACH reversed due to insufficient funds, return code R01",
24+
"Wire_Pending": "wire transfer pending compliance or cut-off delay",
25+
"Wire_Returned_Beneficiary": "wire returned due to wrong beneficiary name or details mismatch",
26+
"Instant_Transfer_Risk": "instant transfer failed due to risk checks or velocity limits",
27+
"BillPay_Delayed": "bill payment delayed or not received by payee yet",
28+
"P2P_Pending": "peer-to-peer payment pending acceptance or in hold",
29+
"External_Microdeposits": "external account verification micro-deposits not appearing",
30+
"StandingOrder_Duplicate": "standing order or scheduled transfer duplicated or repeated",
31+
"Remittance_FX_Dispute": "international remittance FX rate dispute or spread concern",
32+
"Fee_ForeignTxn": "foreign transaction fee charged, DCC or cross-border fee dispute",
33+
"Fee_ATM_Refund": "ATM surcharge refund request or network fee reversal",
34+
"Fee_Monthly_Waiver": "monthly maintenance fee waiver eligibility or request",
35+
"Fee_Overdraft_Reversal": "overdraft fee reversal request, courtesy refund",
36+
"Stmt_Charge_Explain": "explain statement charge, unknown debit or descriptor",
37+
"Interest_Charge_Query": "interest assessed on balance, clarify accrual or APR",
38+
"Chargeback_Initiate": "initiate chargeback for unauthorized or defective goods",
39+
"Chargeback_Status": "check chargeback investigation status or evidence",
40+
"Merchant_DoubleCharge": "merchant charged twice, duplicate transaction on statement",
41+
"DCC_Complaint": "dynamic currency conversion complaint, charged in wrong currency",
42+
"Acct_Close": "close account, terminate service, transfer out remaining balance",
43+
"Acct_Reopen": "reopen previously closed or dormant account",
44+
"Acct_AddressChange": "update residential address or mailing address, proof of address",
45+
"Acct_NameChange": "change legal name, submit documents, profile update",
46+
"Acct_Limit_Withdrawal": "increase cash withdrawal limit at ATM or POS",
47+
"Acct_Limit_Wire": "increase wire transfer limit or daily cap",
48+
"Acct_Add_Joint": "add joint account holder or authorized user",
49+
"Acct_Remove_Joint": "remove joint account holder, ownership changes",
50+
"Acct_TaxResidency": "update tax residency, W-8BEN/W-9 forms, CRS/FATCA",
51+
"Acct_ReKYC": "re-submit KYC, re-verification, document resubmission",
52+
"Trade_Market_Unfilled": "market order not filled due to halt or venue issues",
53+
"Trade_Limit_Expired": "limit order expired or canceled without fill",
54+
"Trade_AfterHours_Rejected": "after-hours trade rejected due to eligibility or liquidity",
55+
"Margin_Call": "margin call notification, equity below maintenance requirement",
56+
"Dividend_Missing": "dividend not posted, expected payout missing",
57+
"Dividend_Withholding": "withholding tax on dividends, treaty rate or reclaims",
58+
"CorpAction_Split": "stock split or reverse split details, position adjustment",
59+
"CorpAction_Merger": "merger or acquisition, exchange ratio, new ticker",
60+
"DRIP_Change": "dividend reinvestment plan enroll/unenroll, DRIP settings",
61+
"Fractional_Settlement": "fractional share not settling or pending",
62+
"Card_Virtual_Create": "create virtual card number for online purchases",
63+
"Card_Freeze": "freeze or lock card temporarily to prevent use",
64+
"Card_Unfreeze": "unfreeze or unlock card to resume use",
65+
"Card_Replace_Damaged": "replace damaged or worn card, new card request",
66+
"Card_Replace_Lost": "replace lost or stolen card, block immediately",
67+
"Card_Activate": "activate new or replacement card via app or phone",
68+
"Card_TravelNotice": "set travel notice to reduce foreign declines",
69+
"Card_Add_Wallet": "add card to Apple Pay / Google Wallet or similar",
70+
"Card_Remove_Wallet": "remove card from wallet app, unlink device",
71+
"Card_Change_PIN": "change card PIN, reset or unblock",
72+
"Conn_VPN_Block": "VPN or corporate network blocking app or site access",
73+
"Conn_Firewall": "firewall or security policy preventing connections",
74+
"Conn_Proxy_Timeouts": "HTTP/HTTPS proxy causing timeouts or handshake failures",
75+
"Conn_Cellular_Weak": "poor cellular data network, intermittent connectivity",
76+
"Conn_Wifi_Captive": "Wi\u2011Fi captive portal requiring login interferes with app",
77+
"Conn_Region_Restrict": "region or geo restriction message, service not available",
78+
"Conn_TLS_SSL": "TLS/SSL certificate or handshake error messages",
79+
"Conn_OS_Outdated": "outdated OS version incompatible with latest app build",
80+
"Conn_Storage_Full": "device storage full, app cannot write cache or update",
81+
"Conn_BatterySaver": "battery saver / background restrictions killing app sessions"
82+
}

samples/labels_min.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Billing
2+
Refunds
3+
TechSupport
4+
AppBugs
5+
CardIssues
6+
AccountClosure

samples/long_example.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
I have several issues today. My debit card keeps failing at four different ATMs with a
2+
'transaction declined' message, even though my balance is fine. The mobile app started crashing right after
3+
I upgraded from the Play Store, and push notifications have stopped, so approving 2FA is impossible.
4+
I also want to begin closing my brokerage account and transfer my holdings to another provider this month.
5+
Before that, please explain the foreign transaction fees I saw in my June statement and if those can be waived,
6+
and how dividend withholding will be treated if I stay in DRIP a few more weeks. Finally, I changed my address
7+
last week and uploaded re-KYC documents—please confirm it has been applied to all my linked accounts.

samples/stress_texts.txt

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
Tap-to-pay keeps failing at two grocery stores, then the app crashed when I tried to approve a 2FA prompt.
2+
ATM said transaction declined but I have funds; chip read errors when I tried again at POS.
3+
International online purchase rejected and the NFC tap doesn't register on my transit card readers.
4+
New card replacement still declines because activation didn't go through and PIN keeps saying incorrect.
5+
ACH to my external bank is pending for days and I also see a foreign transaction fee on a hotel booking.
6+
Wire returned for mismatched name and now my beneficiary wants proof; the maintenance fee also posted.
7+
Instant transfer blocked for risk; can I get the ATM surcharge refunded from last weekend?
8+
Standing order sent twice this month and the remittance FX rate looks off compared to mid-market.
9+
Please close my account after confirming the new address—re-KYC documents were uploaded yesterday.
10+
Reopen my dormant account and increase the wire limit; I also changed my tax residency this year.
11+
My market order didn't fill during a trading halt and later my fractional share stayed pending.
12+
DRIP didn't reinvest and the dividend withholding looks higher than the treaty rate.
13+
Limit order expired unfilled after-hours; are quote delays making it miss prices?
14+
I froze my card due to duplicate merchant charges, but tap to pay is still failing at terminals.
15+
I need to change PIN and add the card to my phone wallet; contactless failed at a cafe.
16+
Corporate firewall and proxy timeouts prevent login; 2FA SMS codes never arrive when I'm on VPN.
17+
TLS handshake errors on hotel Wi‑Fi captive portal; app sessions loop and log me out.
18+
Device storage is full and the new update keeps crashing on launch.
19+
Monthly maintenance fee waiver eligibility? Also chargeback status for a defective item.
20+
Can you explain a weird descriptor on my statement; I think the merchant charged me twice.
21+
Overdraft fee reversal please, plus why was the bill payment delayed to my utility?
22+
Micro-deposits to verify my external account haven't shown up yet.
23+
International remittance spread seems high; the FX is worse than quoted.
24+
Card declined at a POS terminal, 2FA authenticator codes rejected, and my standing order duplicated.
25+
App crashes on transfer screen, VPN blocks the site, and my wire is still pending.
26+
Can't connect on cellular data, battery saver kills background tasks, and a limit order expired.
27+
My address change applied but joint holder removal is still pending; also dividend missing this cycle.
28+
Travel notice set but still declined abroad; DCC complaint because charged in wrong currency.
29+
Fractional share never settled; corporate action split adjusted my holdings oddly.
30+
Lost device so can't access authenticator app; please unfreeze my card and reset 2FA.
31+
Please activate the new card, remove from old wallet, and waive the ATM fees from last trip.
32+
Name change processed but wire limit remains too low and the app doesn't send notifications.
33+
Session keeps expiring during sign-in; update got stuck; push approvals never pop up.
34+
Tap works at POS but fails for transit; ATM says decline and chip read error shows at a pharmacy.
35+
ACH reversed NSF while my peer payment is pending; can you also check a chargeback initiation?
36+
My dividend didn't post and the DRIP setting seems off; what's the corporate action about a merger?
37+
Overdraft fee reversal and interest charge clarification for last month.
38+
Merchant did a double charge and dynamic currency conversion hit me in euros.
39+
External account micro-deposits posted but the bill pay is still delayed.
40+
Wire returned wrong beneficiary details; FX rate for my remittance looks off too.
41+
Card expired last week; contactless won't register and online purchases get declined.
42+
PIN fails at ATMs; swipe works sometimes but chip throws errors repeatedly.
43+
Re-KYC requested and tax residency update needed; please increase the ATM withdrawal limit.
44+
Close my account after I transfer out positions; dividend withholding seems incorrect.
45+
Add joint holder and change my address; also need the monthly fee waived.
46+
Lost phone so device is gone; 2FA authenticator isn't available and I can't receive SMS.
47+
App crashes on launch after the update; TLS/SSL errors when I try via hotel Wi‑Fi.
48+
Region restriction blocks research screens; real-time quotes are delayed too.
49+
Freeze my card due to international declines and replace it because the chip is damaged.
50+
Unfreeze the card now; set a travel notice and add it to Apple Pay.
51+
Proxy causes timeouts and VPN blocks connectivity; session loop keeps me out.
52+
Please reopen my dormant account, remove a joint holder, and raise the wire limit.

src/zsc_llm/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"""
2+
zsc_llm: Zero-shot hierarchical classification (notebook methodology)
3+
"""
4+
__all__ = ["__version__"]
5+
__version__ = "0.2.0"

0 commit comments

Comments
 (0)