Completely replace implementation #1

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

12 Commits

Author SHA1 Message Date
93c1c8d861 Formatting fixes
The result of `cargo fmt`.
2025-11-27 21:24:52 +01:00
508975a086 Fix clippy warnings 2025-11-27 21:24:51 +01:00
53087fa900 Implement encrypted transaction caching for GoCardless adapter
- 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

Cache everything Gocardless sends back
2025-11-27 21:24:30 +01:00
1dd251c379 Add input validation for transaction amounts and currencies
- 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
2025-11-22 15:04:04 +00:00
edacda0d01 Add JJ version control requirement to AGENTS.md 2025-11-22 15:04:04 +00:00
0b2549ddb4 Handle expired agreements and rewrite README
- 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
2025-11-22 15:04:04 +00:00
aeb8e9bdcb Mask details in debug traces. 2025-11-22 15:04:04 +00:00
cd000061b4 Implemented debug logging to debug_logs/ 2025-11-22 15:04:04 +00:00
5eba24cb87 Add specs for debug logging. 2025-11-22 15:04:04 +00:00
45c0788a4b Differentiate between human and LLM debugging 2025-11-22 15:04:04 +00:00
9a5c6d0f68 Implement logic 2025-11-22 15:04:04 +00:00
ab81c729c7 Add high-level planning 2025-11-22 15:04:04 +00:00