Completely replace implementation #1

Manually merged
jjkiers merged 12 commits from push-wtvsvxromnno into master 2025-11-29 00:25:36 +00:00
Owner

This now has a full implementation of the banks2ff logic.

Almost all code has been written by LLMs, but under struct guidance. This PR servie as an easier way to actually review and read through the code.

This now has a full implementation of the banks2ff logic. Almost all code has been written by LLMs, but under struct guidance. This PR servie as an easier way to actually review and read through the code.
jjkiers added 11 commits 2025-11-21 21:48:26 +00:00
- Implement robust End User Agreement expiry detection and handling
- Add graceful error recovery for failed accounts
- Rewrite README.md to focus on user benefits
- Add documentation guidelines to AGENTS.md
- Validate amounts are non-zero and within reasonable bounds (≤1B)
- Validate currency codes are 3 uppercase ASCII letters
- Apply validation to main and foreign amounts/currencies
- Add comprehensive tests for validation logic
- Maintain graceful error handling for invalid data
- Reduces GoCardless API calls by up to 99% through intelligent caching of transaction data
- Secure AES-GCM encryption with PBKDF2 key derivation (200k iterations) for at-rest storage
- Automatic range merging and transaction deduplication to minimize storage and API usage
- Cache-first approach with automatic fetching of uncovered date ranges
- Comprehensive test suite with 30 unit tests covering all cache operations and edge cases
- Thread-safe implementation with in-memory caching and encrypted disk persistence
jjkiers force-pushed push-wtvsvxromnno from 49a975c43c to 8ce13c2530 2025-11-21 22:07:49 +00:00 Compare
jjkiers force-pushed push-wtvsvxromnno from 8ce13c2530 to f57e4e3c67 2025-11-22 15:04:41 +00:00 Compare
jjkiers force-pushed push-wtvsvxromnno from f57e4e3c67 to c4620cdbab 2025-11-22 15:08:36 +00:00 Compare
jjkiers force-pushed push-wtvsvxromnno from c4620cdbab to c67378ff25 2025-11-22 15:16:46 +00:00 Compare
jjkiers force-pushed push-wtvsvxromnno from c67378ff25 to e4b36d344c 2025-11-22 16:24:45 +00:00 Compare
jjkiers force-pushed push-wtvsvxromnno from e4b36d344c to 93c1c8d861 2025-11-27 20:26:52 +00:00 Compare
jjkiers manually merged commit 93c1c8d861 into master 2025-11-29 00:25:36 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jjkiers/banks2ff#1