feat(dataset): real card numbers + valid IBANs for the 4 featured test customers
Give Luis, Julia, Amara and Carlos deterministic, testable card and bank data
so payment / bank-transfer flows reconcile with the documented dataset.
Cards (paymentCards.json):
- assign full Luhn-valid card numbers (Visa 4539…, Mastercard 5555…) to the 17
cards of the 4 featured customers, preserving network + last4
- regenerate each paymentCardReference by deriving it from the card number with
the real algorithm (HMAC-SHA256 keyed, pm_<24hex><last4>), so typing the
documented number reproduces the stored token and the card is recognised
- un-share Luis & Julia from token pm_shared00000a4153 (still 3 holders left,
FDS/AML shared-card signal intact); no card number shared between the 4
Accounts (payoutAccounts.json):
- each featured customer now holds >=2 active bank accounts funded above 3000 EUR
- spread their cards across their own accounts (a card funds from one account;
an account may back several); no card funded by another party's account
- fix 2 IBANs (Carlos Santander, Amara Monzo) to be ISO 13616 mod-97 valid
Seeder (seedCards.ts):
- honour an explicit fundingPayoutAccountInstanceReference when it is active and
owned by the holder; only relink cards with a missing/stale/foreign reference,
preserving the seeded card-to-account diversity
Wiki (tmp/wiki/Dataset.md):
- document full card numbers and full IBANs per customer, with notes on why the
exact values matter (token derivation, mod-97 IBAN)
39d878c
add transaction description
818f555