feat(plan): devreden borç planın parçası, borçlu ayda %45 kuralı

- Devreden borç: elle girilen ya da dönem başından önceki son ay sonu ölçümü
- Borçlu ay: harcanabilir = gelir × oran (vars. %45), kalan borca, artan birikime
- Birikim hedefi ve Kakeibo devri borçlu ayda uygulanmaz; kapanış devir üretmez
- Plan düzenleme ve sihirbazda devreden borç alanı + oran; canlı önizleme
- Plan'daki eski borç bölümü ve taksit önerisi kaldırıldı (veri yerinde)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-14 06:27:12 +03:00
parent d3e012f50b
commit f0d285a9ba
34 changed files with 1376 additions and 462 deletions
+1
View File
@@ -161,3 +161,4 @@
- **Borç takibi B3 (2026-11-14) → B1–B3 ✅:** Plan'da "Bu ayın borcu" (`PeriodDebtSection`, yalnız borç verisi varsa): ay başı (ölçümden / elle, `useSetOpeningDebt`, "Son ölçüme dön"), devreden banka borcu, borç ödemesi (C), bu ayın taksiti, hedef ay sonu + yol haritası farkı (üstünde kırmızı / altında yeşil), dönem içi son ölçüme göre azalma vs C+taksit çubuğu, "Taksitler" sabit gideri tek tık (adı `findInstallmentItem`: taksit/taksitler, tr küçük harf; tutar farklıysa uyarı). `SummaryTiles debtPayment`. E2E 18 kontrol (hedef 67.218,66 = 78.530,48 − 7.000 − 4.311,82; harcanabilir 53.000 → 48.688,18). İçe aktarma dosyası `samples/` (gitignore) — 12+ haneli sayı yok.
- **Dev sunucusu düzeltmesi (2026-11-14):** Kullanıcı /borc'ta "Kayıt bulunamadı" gördü: 8080'de 00:40'tan kalma eski backend (borç kodu yok) çalışıyordu; yeniden başlatılan `npm run dev`'in cargo watch'ı portu alamıyordu (ikinci kez). Kök neden: `concurrently -k` cargo watch'ı kapatır, `cargo run`'ın çocuğu kakeibo bazen yetim kalır. Çözüm: `scripts/stop-stale-api.sh` (`dev:api` başında; 8080'i tutan süreç adı `kakeibo` ise kapatır, değilse uyarır). 8091'de denendi.
- **Panel istekleri A (2026-11-14):** docs/KAKEIBO_PANEL_ISTEKLERI.md + kararlar. `periods.spendable_rate_bp` (yalnız alan eklendi; eski kayıt `None` → %45). `debt::carried_for` (elle > son ölçüm ≤ dönem başı; elle olsa da `auto` değeri döner → "Ölçüme dön"). `budget::debt_plan` A5 rakamları birim + `tests/debt_plan.rs` (3: %45 kuralı/elle/0 → normal/oran 50 & 95 red; net artı ölçüm → borç yok; sabit yüksek uyarı; kapanışta devir ve birikim yok). Frontend `lib/debt-plan.ts` (+12 test), `CarriedDebtField`, plan taslağına `carried`/`rate` (`diffPlan` → PUT opening-debt, PATCH oran). `PeriodDebtSection` + taksit önerisi silindi (veri duruyor). E2E 16 kontrol (8091, DB silindi); bulunan: telefonda "Devreden borç · hedef" satırı `money` (nowrap) yüzünden 393 px taşıyordu → iki parça. Backend tümü, frontend 155 test.