- Dikirim
- 28 Mei 2026 pukul 23.53 UTC
- Penulis
- Kamo
- Commit
- 87da074
Strategi pemecatan T1.1 Stripe: TREAMURY (stub - membutuhkan upgrade SDK atau raw HTTP) / CONNECTED _ ACCOUNT (Transfer.create - bekerja di SDK 28.2.0) / MANUAL. Default CONNECTED _ ACCOUNT via * * * * * * * * * * * * * * * * * * * * * * * * * * * * diperbarui ke Baru Disbursementions Request API. Panggilan Payout.create sebelumnya salah - pembayaran pergi ke rekening bank yang terhubung, bukan pihak ketiga. Akunt _ kongsi menggunakan Transfer.create + mengandalkan peminjam memiliki koneksi Akun ekspres (lebih ringan dari Treasury onboarding). Pasal pinjaman: 6- char Crockford base32 akhiran diturunkan dari nanoTime ThreadLocalRandom, didukung oleh (org _ id, pinjaman _ nomor) batasan unik dengan 5- coba coba coba lagi. Mengganti * * * * * * * * * * * * * * * 10000) yang bertabrakan ~ 0.01% di 100k pinjaman / tahun. T1.3 paged cron queries - tidak ada lagi findall () .stream () .filter (): - * * * * * * * * * * * * * * paged 500 / batch via * * * * * * * * * * * * * * * dan menemukan Status dan Jenis - * * * * * * * * * * * * * * paged 500 / batch - Pekerjaan rekonsiliasi: paged oleh status, per- batch @ Transaksional - * * * * * * * * * * * * * * padged via * * * * * * * * * * * * * * * - InterestAccrualJob: paged by status, per- batch @ Transaksional - YearEndTaxJob: paged via * * * * * * * * * * * * * * T1.4 LoanMetrics gauge menggunakan loanRepository.countByStatus bukan findByStatus (s) .size () - O (1) hitung (*) daripada tabel penuh materialisasi pada setiap coretan Prometheus. T1,5 * * * * * * * * * * * * * * * * * * tidak lagi menerima null email / nama. Fetches Member via memberRepositori + ekstrak getNameFirst / getNameLast + reflektif membaca daftar surel (defensif terhadap bentuk EmbrEmail di versi shared- lib). Pelanggan sekarang dibuat dengan rincian kontak nyata. T1.6 markDisbursementment Succeeed menangani LOC. Untuk REVOLVING _ LOC baris Buka dengan keseimbangan mata-mata = 0 + prinsipal Balance = 0; balance saja Tumbuh melalui LoanDraw. Jalur INSTALLMENT tidak berubah. set Tanggal ActraalDate terakhir hari ini untuk kedua jenis. T1.7 * * * * * * * * * * * * * * * sekarang jumlah setiap pembayaran yang dijadwalkan Dari * * * * * * * * * * * * * per Reg Z Appendix J finansial Charge benar-benar mengurangi yang terbesar - dibiayai (principal meds Biaya awal) per 1026.18 (b). Mengganti 1.10 placeholder yang menghasilkan salah pernyataan federal. T1.8 lastAccrualDate dijalankan melalui kutipan accrual + payoff: InterestAccrualJob.accrueBatch membaca Loan.lastAccrualDate, computes days- sejak (capped di 30 untuk kewarasan), accrues N hari, kemudian update Terakhir AccrualDate sampai hari ini. * * * * * * * * * * * * * * * melakukan hal yang sama untuk pembayaran - kutipan presisi. T1.9 HMAC-sign proxy header: ProxyHmacFilter validates baru * * * * * * * * * * * * * * * LOS _ PROXY _ HMAC _ SECRET) Dengan Skew timestamp sekitar 60an. Webhook + actuator bypass. Dimatikan oleh baku untuk lokal dev; set produksi los.proxy-hmac.enabled = true + sebuah rahasia terbagi yang kuat (juga direferensikan sebagai env var dalam konfigurasi). SecurityConfig kabel filter sebelum * * * * * * * * * * * * dan menambahkan HSTS + frameOptions (DENY) + contentTypeOptions keamanan header. T1.10 ReconciationJob drift guard: jika £124; cached buku besar 124; > $1000, log + emits STATE _ RULE _ VIOLATION _ DETECTED audit dan DOES TIDAK benar (intervensi manual diperlukan). Di bawah ambang batas, mengoreksi diam-diam. Mencegah rekonsiliasi dari "memperbaiki" untuk buku besar korup. Semua 30 unit tes lulus.