rdms and Claude Haiku 4.5
94fd7ab96e
fix: Kredit-Ausgabe ohne Laufzeit-Grenze (A14-T5 Fixrunde)
...
LoanOut erbt nicht mehr von LoanIn - definiert term_months ohne Grenzen.
Altbestände mit term_months>1200 (vor Validierung direkt eingefügt)
crashen GET /api/loans und PATCH nicht mehr.
Regression-Test: test_altbestand_kredit_mit_laufzeit_ausserhalb_grenzen
- Inseriert Loan mit term_months=1500 direkt via DB
- Bestätigt GET /api/loans und Ausgabe-Serialisierung funktioniert
- Keine Validierung auf Output
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-09-30 13:14:14 +02:00
rdms and Claude Haiku 4.5
80b8b369c7
refactor: Tilgungsplan-Helfer schedule_for, Kredit-Laufzeit 1–1200 Monate (A14-T5)
...
- Neuer schedule_for() in app/engine/loans.py: vereinheitlicht Tilgungsplan-Erstellung
- Laufzeit-Validierung in LoanIn und LoanPatch: 1–1200 Monate
- Aufrufstellen aktualisiert (routers/planning.py, services/breakdown.py,
services/projection_service.py, services/planning_chart.py)
- Keine direkten loan_schedule(Decimal(...)) Aufrufe außerhalb engine/loans.py mehr
- Tests für schedule_for und Laufzeit-Grenzen (1, 1200, sowie 0/-5/1201 Ablehnung)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-09-30 13:10:55 +02:00
rdms and Claude Opus 5.5
9e856ec655
feat: API meldet mögliche Doppelzählung mit 409, Speichern nur mit Bestätigung (A12-T3)
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-09-29 07:30:58 +02:00
rdms and Claude Fable 5
28d1267f0c
feat: Vorschlags-Algorithmus v2 (Rhythmen, letzter Betrag, Aktiv-Check, Merge)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-20 21:20:04 +02:00
rdms and Claude Fable 5
cbcf2e0439
feat: Start/Ende fuer Fixposten in der GUI + Datumsvalidierung
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-20 11:35:32 +02:00
rdms and Claude Fable 5
cf9282c716
fix: Final-Review-Findings (GUI-Login, FK-Kaskaden, Validierung, Duplikat-Recheck, Views)
...
F1: GUI-Login-Hash gegen $-Korruption gehaertet. .env-Werte einfach-gequotet
geschrieben + Sanity-Check nach Sourcing. Zusaetzlich systemd-Ebene:
podman escapt $->$$ in Environment=, systemd 252 kollabiert das nicht ->
sed-Post-Processing der Unit-Dateien. Live-.env: GUI-Passwort rotiert.
F2: Explizite Dependent-Deletes gegen FK-500 (delete_scenario/loan), 409 bei
bestaetigtem Import-Delete. Test-Engine erzwingt PRAGMA foreign_keys=ON.
F3: Enum/Range-Validierung (Literal + Field ge/le) fuer Recurring, Loan,
Modifier inkl. PATCH-Pfade.
F4: Confirm nur fuer draft-Statements (sonst 409) + Dedup-Re-Check gegen
bestaetigte Buchungen vor dem Promoten.
F5: v_balance_history/v_balance_total addieren pro Konto den opening_balance
des fruehesten bestaetigten Statements (approved deviation vom Plan-SQL).
F6: patch_scenario Namenskollision -> 409; create_transaction unbekanntes
Konto -> 404 (statt 500).
F7: Generierte systemd-Unit-Dateien chmod 600 (enthalten Env-Secrets).
F8: Globaler htmx:responseError-Handler in base.html.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-17 20:11:31 +02:00
rdms and Claude Fable 5
b0cb4883ea
feat: Planungs- und Szenario-API mit Projektion und Vorschlaegen
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-17 18:33:25 +02:00