Commit Graph
100 Commits
Author SHA256 Message Date
rdmsandClaude Opus 5.5 e665180b1f feat: Warnfenster und Planungs-Hinweis bei möglicher Doppelzählung (A12-T4)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 07:35:16 +02:00
rdmsandClaude 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
rdmsandClaude Opus 5.5 42d3d95e48 feat: Erkennung möglicher Doppelzählung Kredit/Fixposten (A12-T2)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 07:27:30 +02:00
rdmsandClaude Opus 5.5 0a5fa90ae8 feat: Präfix System- für Tool-Serien reserviert, Kreditraten-Serie heißt System-Kreditraten (A12-T1)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 07:24:41 +02:00
rdmsandClaude Opus 5.5 5a8e05596f docs: Plan Ausbaustufe 12 (6 Tasks)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 21:58:54 +02:00
rdmsandClaude Opus 5.5 404c1a5648 docs: Spec Ausbaustufe 12 (System-Präfix, Doppelzählungs-Warnung Kredit/Fixposten)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 21:51:19 +02:00
rdmsandClaude Opus 5.5 ffd7647c5f docs: A11 Plan-Haken gesetzt
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 19:44:35 +02:00
rdmsandClaude Opus 5.5 b28b0e69c0 chore: Release v0.11.0 (Szenario-Löschen, Grafana-Korrekturen, Tabellensortierung)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 19:34:18 +02:00
rdmsandClaude Opus 5.5 b1e007ed15 feat: Buchungen serverseitig nach Spalte sortierbar (A11-T5)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 19:29:25 +02:00
rdmsandClaude Opus 5.5 2a5cd141f2 fix: node --test bekommt explizite Dateiliste statt Verzeichnis (A11-T4 Fix-Runde 1)
tests/test_sort_js.py übergab bisher tests/js als Verzeichnis an
`node --test`; unter Node 22 führt das zu MODULE_NOT_FOUND, weil Node
einen Verzeichnispfad hier nicht auflöst (Fable-Fund). Fix: Testdateien
per Glob (*.test.js, sortiert) einzeln übergeben. Verifiziert unter
Node 22 via Podman mit exakt dieser Argumentliste: 14/14 Tests grün,
0 geskippt. Gesamtsuite unverändert bei 248 passed, 3 skipped.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 19:27:14 +02:00
rdmsandClaude Opus 5.5 4458300f43 feat: Tabellen per Spaltenkopf sortierbar (A11-T4)
Neues static/sort.js sortiert Tabellen clientseitig per Klick auf den
Spaltenkopf (⇅/▲/▼): Datum TT.MM.JJJJ, deutsche Zahlen/Beträge, sonst
Text (Intl.Collator 'de'). Sortierwert optional per td[data-sort]
(Punkt-Dezimal/ISO) überschreibbar, th[data-nosort] bekommt keinen
Button, table[data-sort-mode="server"] wird übersprungen (Buchungen
sortiert serverseitig, folgt in Task 5). Bearbeiten-/Tilgungsplan-
Zeilen (tr[data-sort-follow]) wandern mit ihrer Vorzeile mit.
Initialisierung über htmx.onLoad, greift auch bei nachgeladenen
Fragmenten.

Templates entsprechend annotiert (Planung, Szenarien, Admin, Index,
Salden, Import-Liste, Buchungen); Salden-Gesamtzeile dafür in ein
tfoot verschoben. test_gui.py::test_gui_zeigt_deutsche_betragsformate
angepasst, da das neue machinenlesbare data-sort-Attribut bewusst
Punkt-Dezimal führt (Interface-Konvention) - die Prüfung auf deutsches
Format im sichtbaren Text bleibt bestehen.

JS-Unit-/DOM-Tests unter tests/js (node --test, DOM-Teil optional via
jsdom), pytest-Wrapper skip ohne node (Fable-Gate führt sie per
Podman aus). Suite: 248 passed, 3 skipped (vorher 242/2).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 19:22:34 +02:00
rdmsandClaude Opus 5.5 42b410446d feat: Grafana-Panel Planung nach Kategorie inkl. Kreditraten (A11-T3)
Neue Tabelle planning_monthly (Monatssummen je Kategorie aus wiederkehrenden
Posten, Einmalposten und allen Kreditraten), Service planning_chart mit
refresh_planning_chart (Advisory-Lock, komplette Neuschreibung), GUI-Hooks
in index/planung_page ueber _safe_refresh, neues Barchart-Panel im
Grafana-Dashboard (Panel 5).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 19:15:26 +02:00
rdmsandClaude Opus 5.5 979e1c0edc fix: Szenario-Vergleich zeigt vor heute Ist-Saldo, veraltete Szenarien werden neu gerechnet (A11-T2)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 19:10:51 +02:00
rdmsandClaude Opus 5.5 32d78fdbe1 fix: German quote style U+201C instead of U+201D (A11-T1)
Corrected closing quotation mark in hx-confirm attribute and test assertions
from U+201D (RIGHT DOUBLE QUOTATION MARK) to U+201C (LEFT DOUBLE QUOTATION
MARK), matching German typographic convention („...") and house style (line 114).

Changes by code point:
- finance/app/templates/szenarien.html line 17: 1 × U+201D → U+201C
- finance/tests/test_gui.py lines 501, 521: 2 × U+201D → U+201C

Template lines 17 and 114 now have identical quote code points: U+201E...U+201C.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 19:07:31 +02:00
rdmsandClaude Opus 5.5 8b637f91b3 fix: HTML attribute quoting in hx-confirm, test assertion precision (A11-T1)
Critical quoting fix: the hx-confirm attribute now uses U+201D (") for the
closing German quote instead of ASCII " (0x22), which was terminating the
attribute early and losing the confirm message text. The template now
correctly contains: hx-confirm="Szenario „{{ sc.name }}" mit allen..."

Test enhancement: restored the complete assertion text from the brief and
added HTML parsing verification to ensure the attribute value matches exactly
with correct typographic quotes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 19:05:37 +02:00
rdmsandClaude Opus 5.5 57ab6dae4a feat: Szenario per GUI löschen, Name System-Ist reserviert (A11-T1)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 19:01:21 +02:00
rdmsandClaude Opus 5.5 1c452b48de docs: Plan Ausbaustufe 11 (6 Tasks)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 18:43:02 +02:00
rdmsandClaude Opus 5.5 d3c752e2b9 docs: Spec A11 - Ist-Serie als reservierter Name System-Ist
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 18:33:59 +02:00
rdmsandClaude Opus 5.5 dd6110b53f docs: Spec Ausbaustufe 11 (Szenario-Löschen, Grafana-Korrekturen, Tabellensortierung)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 18:22:14 +02:00
rdmsandClaude Opus 4.8 224baba326 fix: Grafana-Zeitfenster deckt Projektionshorizont ab (Szenario-Vergleich sichtbar)
Das Szenario-Vergleich-Panel zeichnet die Projektion (Zukunft, horizon_days ab
heute). Kein Panel nutzt $__timeFilter, daher begrenzt allein das
Dashboard-Zeitfenster die Anzeige. Mit time.to='now' wurde die gesamte Kurve ab
morgen abgeschnitten (nur ~4 Tage <= heute sichtbar, Y-Achse auf deren schmalen
Bereich fixiert). Fix: time.to='now+19M' deckt den 548-Tage-Horizont ab.
Regressionstest tests/test_grafana_dashboard.py haelt die Invariante fest.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 20:39:23 +02:00
rdmsandClaude Opus 4.8 dec1cb9075 chore: stop_finance_pod.sh - Naechste-Schritte-Hinweis auskommentiert
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 10:37:09 +02:00
rdmsandClaude Opus 4.8 81a0ebaf9d docs: Reverse-Proxy-Doku auf reales Live-Setup (fbwl.creature-go.com via sv005/Traefik)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 09:45:06 +02:00
rdmsandClaude Opus 4.8 6ba6ffa9df feat: stop_finance_pod.sh - kontrolliertes Herunterfahren des Pods
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 20:32:26 +02:00
rdmsandClaude Opus 4.8 51d85c8de6 chore: Release v0.10.0 (Reverse-Proxy-Tauglichkeit)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 07:31:27 +02:00
rdms 208c0a4df4 docs: Reverse-Proxy-Snippets (Traefik/Apache) + .env-Schalter 2026-07-21 07:25:41 +02:00
rdms fa45527faf docs: Plan A10 praezisiert (Domain-Policy + GF_SUBPATH-Platzierung vor API-Container) 2026-07-21 07:21:57 +02:00
rdms 2610b71b06 feat: create_pod_finance.sh Grafana-Sub-Pfad + interne URLs sub-path-bewusst 2026-07-21 07:19:42 +02:00
rdms df5b29d8ff feat: uvicorn Proxy-Headers fuer Reverse-Proxy-Betrieb 2026-07-21 07:14:53 +02:00
rdms a575c57d5b feat: Grafana-Links aus FB_GRAFANA_PUBLIC_URL (Sub-Pfad-tauglich) 2026-07-21 07:11:27 +02:00
rdms 52f527a375 feat: Session-Cookie secure-Flag per FB_SESSION_COOKIE_SECURE 2026-07-21 07:06:42 +02:00
rdms fa2d32aa8f fix: config-Kommentar auf neutrale Beispiel-Domain (fb.example.de) 2026-07-21 07:04:47 +02:00
rdms e061796997 feat: FB_GRAFANA_PUBLIC_URL + FB_SESSION_COOKIE_SECURE in Settings 2026-07-20 22:56:26 +02:00
rdms 7a8e63dc76 docs: Plan Ausbaustufe 10 (Reverse-Proxy-Tauglichkeit) 2026-07-20 22:54:59 +02:00
rdmsandClaude Fable 5 8eee62ee19 fix: Datenschutz-Scrub in Tests/Kommentaren + Spec-Nachtrag Vorschlags-Algorithmus
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 21:59:29 +02:00
rdmsandClaude Fable 5 7ca64c91fe docs: Plan-Haekchen Ausbaustufe 9
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 21:49:38 +02:00
rdmsandClaude Fable 5 aff8e9b28d fix: Bestandsabgleich per Token-Match und Volatilitaets-Hinweis fuer Vorschlaege
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 21:46:10 +02:00
rdmsandClaude Fable 5 a520390e31 chore: Version 0.9.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 21:28:29 +02:00
rdmsandClaude Fable 5 220d1fc802 fix: hinweis-Betrag im Vorschlag deutsch formatiert
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 21:28:15 +02:00
rdmsandClaude Fable 5 bf3f56118e feat: Vorschlaege mit Rhythmus, Start und Hinweis
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 21:26:48 +02:00
rdmsandClaude 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
rdmsandClaude Fable 5 e002d8205f docs: Spec + Plan Ausbaustufe 9 (Vorschlags-Algorithmus v2)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 20:30:31 +02:00
rdmsandClaude Fable 5 353ff6056c docs: Plan-Haekchen Ausbaustufe 7
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 14:21:11 +02:00
rdmsandClaude Fable 5 d6659d8b18 chore: Version 0.8.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 14:18:15 +02:00
rdmsandClaude Fable 5 4431640eb2 feat: Kategorien-Verwaltung auf der Admin-Seite
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 14:17:48 +02:00
rdmsandClaude Fable 5 b21d7b9839 feat: Eintrags-Formular mit Paar-Layout und Gesperrt-Kennzeichnung
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 14:06:32 +02:00
rdmsandClaude Fable 5 f03249bff1 feat: eigene Szenarien-Seite /szenarien
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 13:59:03 +02:00
rdmsandClaude Fable 5 7b273e218c docs: Spec + Plan Ausbaustufe 7 (Szenarien-Seite, Formular-UX, Kategorien)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 13:50:43 +02:00
rdmsandClaude Fable 5 974ef5c208 docs: Plan-Haekchen Ausbaustufe 6
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 12:54:19 +02:00
rdmsandClaude Fable 5 421899b922 chore: Version 0.7.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 12:51:17 +02:00
rdmsandClaude Fable 5 cb44194daf feat: Szenario-Eintraege als eine editierbare Tabelle
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 12:51:04 +02:00
rdmsandClaude Fable 5 4843f2e130 feat: PATCH-Endpunkte fuer Szenario-Modifikatoren und -Einmalzahlungen
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 12:43:01 +02:00
rdmsandClaude Fable 5 1708abeb91 docs: Implementierungsplan Ausbaustufe 6
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 12:39:37 +02:00
rdmsandClaude Fable 5 39c6a65b1d docs: Design-Spec Ausbaustufe 6 (Szenario-Eintraege-Tabelle)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 12:37:45 +02:00
rdmsandClaude Fable 5 2282aa3922 docs: Plan-Haekchen Task 9 (Demo-Szenario live verifiziert)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 12:05:26 +02:00
rdmsandClaude Fable 5 f1b5d442bd docs: Ledger Ausbaustufe 5 Tasks 1-8 + Plan-Haekchen
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 12:02:29 +02:00
rdmsandClaude Fable 5 a192866cc4 chore: Version 0.6.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 11:59:58 +02:00
rdmsandClaude Fable 5 033c41f449 feat: Szenario-GUI mit Ende-Modifikator und Einmalzahlungen je Szenario
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 11:59:42 +02:00
rdmsandClaude Fable 5 13795fce25 feat: API fuer Szenario-Ende-Modifikator und szenario-eigene Einmalzahlungen
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 11:52:15 +02:00
rdmsandClaude Fable 5 5519037688 feat: Engine+Schema fuer Szenario-Ende und szenario-eigene Einmalzahlungen
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 11:46:52 +02:00
rdmsandClaude Fable 5 aa1884c31e feat: Inline-Bearbeiten fuer Fixposten, Einmalposten, Kredite und Szenario-Kopf
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 11:42:04 +02:00
rdmsandClaude 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
rdmsandClaude Fable 5 805cb4d852 feat: Betragseingabe mit Komma (data-type=amount in json-form)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 11:30:58 +02:00
rdmsandClaude Fable 5 fe0e1b5e93 feat: deutsche Betragsanzeige (eur-Filter) und deutsche GUI-Labels
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 11:23:26 +02:00
rdmsandClaude Fable 5 bd9df8ab8b docs: Implementierungsplan Ausbaustufe 5
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 11:13:21 +02:00
rdmsandClaude Fable 5 8e425840e8 docs: Design-Spec Ausbaustufe 5 (deutsche Formate, Posten-Bearbeitung, Szenario-Ende)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 10:45:39 +02:00
rdmsandClaude Fable 5 8bbabf6657 docs: Inline-Haekchen Ausbaustufe 4 vervollstaendigt
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 08:47:54 +02:00
rdmsandClaude Fable 5 8ff8b39b2e docs: Ausbaustufe-4-Plan abgeschlossen
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 08:47:42 +02:00
rdmsandClaude Fable 5 1ef297ab89 chore: Version 0.5.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 08:46:08 +02:00
rdmsandClaude Fable 5 89a08965db docs: Architektur (Mermaid) und CLAUDE.md fuer kuenftige Sessions
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 08:46:00 +02:00
rdmsandClaude Fable 5 09b34ae13b fix: lueckenlose taegliche Saldo-Reihen fuer Grafana
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 08:32:36 +02:00
rdmsandClaude Fable 5 f5fa3e45e8 feat: Admin-Seite mit Passwortaenderung und Regel-Neuanwendung
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 08:24:33 +02:00
rdmsandClaude Fable 5 74684c7e6c feat: Kalt-Backup-Skript finance_pod
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 08:11:53 +02:00
rdmsandClaude Fable 5 9316d72bb4 docs: Implementierungsplan Ausbaustufe 4 (Backup, Admin, Grafana, Doku)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 08:01:57 +02:00
rdmsandClaude Fable 5 8f6f1a6e0e docs: Ausbaustufe-3-Plan abgeschlossen
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 22:10:23 +02:00
rdmsandClaude Fable 5 c2b5f6eaa3 chore: Version 0.4.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 22:08:44 +02:00
rdmsandClaude Fable 5 1b888307e9 fix: DKB-Empfaenger/Zweck-Split per CSV-Ground-Truth, Vergleichswerkzeug
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 22:08:37 +02:00
rdmsandClaude Fable 5 7a0f71aa8c feat: Salden-Seite mit Stichtag und Monatsuebersicht
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 21:53:23 +02:00
rdmsandClaude Fable 5 ea4858c4de feat: CSV-Import ueber bestehende Pipeline mit dreiwertiger Saldo-Pruefung
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 21:45:53 +02:00
rdmsandClaude Fable 5 e2d713e960 feat: CSV-Parser fuer DKB/VR/HVB-Kontoumsatz-Exporte
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 21:34:48 +02:00
rdmsandClaude Fable 5 f6a53b7e56 feat: Konto-Saldo-Anker mit ankerbasierter Saldenrechnung
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 21:25:04 +02:00
rdmsandClaude Fable 5 41d556bcde docs: Implementierungsplan Ausbaustufe 3 (CSV-Import, Saldo-Anker, Salden-Seite)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 21:12:15 +02:00
rdmsandClaude Fable 5 6b02fa3d85 chore: CSV-Kontoexporte in fixtures gitignoren (echte Daten)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 21:10:17 +02:00
rdmsandClaude Fable 5 1fc87001d6 chore: Beispielskript mit Langfuse-Keys aus Versionskontrolle ausgenommen
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 17:42:31 +02:00
rdmsandClaude Fable 5 18b738738b test: UX-Regressionstests fuer Vorschlaege-Fieldset und Import-Button-Matrix
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 17:18:03 +02:00
rdmsandClaude Fable 5 06392c0fec fix: tolerante GUI-Filter, sichtbare Bedienelemente, fixierte Navigation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 17:09:35 +02:00
rdmsandClaude Fable 5 e7855a7bda feat: Import-Rollback fuer bestaetigte Auszuege (v0.3.0)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 16:40:56 +02:00
rdmsandClaude Fable 5 d71c22adce feat: Buchungs-Pagination, Inbox-Scan-Button, Grafana-Direktansteuerung, UI-Feinschliff
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 16:18:54 +02:00
rdmsandClaude Fable 5 0bad69bf42 fix: Final-Review-Feinschliff (DR-Kommentar korrigiert, SameSite-Pin, Grafana-Link-Hostname)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:29:38 +02:00
rdmsandClaude Fable 5 543bb648b7 docs: Ausbaustufe-2-Plan abgeschlossen
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:23:33 +02:00
rdmsandClaude Fable 5 94eb80506e feat: gemeinsames Passwort fuer GUI und Grafana, Dashboard-Embedding
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:13:31 +02:00
rdmsandClaude Fable 5 f57edc5fcd feat: Secrets unter ~/.local/share/finance_pod (Backup-vollstaendig)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:06:21 +02:00
rdmsandClaude Fable 5 bba04db663 fix: Arbeitsablauf als nummerierte Liste, HTML-Escaping in Hilfe
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:04:35 +02:00
rdmsandClaude Fable 5 e40442b73b feat: Hilfe-Seite mit Gebrauchsanleitung
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:02:19 +02:00
rdmsandClaude Fable 5 d5103a0fb3 fix: API_IMAGE nutzt FINANCE_DIR-Variable statt Duplikatpfad
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:00:42 +02:00
rdmsandClaude Fable 5 82f278ca00 feat: Versionsanzeige (VERSION-Datei, Footer, /api/version, Image-Tag)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 14:57:49 +02:00
rdmsandClaude Fable 5 87f8bbc400 fix: json-form-Extension als Superset in base.html konsolidiert
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 14:54:54 +02:00
rdmsandClaude Fable 5 36d3e4fc59 feat: Konten umbenennbar, Betrag-Spalte mit Euro im Kopf
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 14:50:39 +02:00
rdmsandClaude Fable 5 f27eda88f4 fix: Parser-Noise-Filter, Sammelstopp am Schlusssaldo, Audit-Werkzeug
Alle drei Bank-Parser gegen die realen Fixtures gehaertet:

- DKB/VR/HVB: Sammlung endet am Schlusssaldo (break), damit Summen,
  Rechnungsabschluss und Hinweisseiten nicht mehr in die letzte Buchung
  rutschen.
- Generische, rein strukturelle Noise-Filter fuer wiederkehrende
  Seitenfuss-/Kopfbloecke und Blattwechsel-Reste (keine Kontodaten hart
  codiert); Kopf-/Hinweisbloecke werden als Sequenz uebersprungen.
- VR: Rekonstruktion harter Zeilenumbrueche im Verwendungszweck unter
  konservativen Schutzbedingungen (nur purpose, nicht counterparty).
- Neue Noise- und expected-Value-Tests; expected_*.json gitignored.
- Audit-Werkzeug scripts/parser_audit.py ergaenzt (nur lokale Nutzung).

Transaktionszahlen und Saldo-Differenzen unveraendert; max. Laenge des
Verwendungszwecks je Bank deutlich unter 300 Zeichen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 14:46:32 +02:00
rdmsandClaude Fable 5 597f7ba552 docs: Implementierungsplan Ausbaustufe 2
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 14:30:40 +02:00
rdmsandClaude Fable 5 917797bb16 fix: Duplikat-Recheck beim Confirm nur statement-uebergreifend
Zwei identische Buchungen im selben Auszug teilen sich den dedup_hash. Beim
Confirm markierte die zuerst bestaetigte Buchung ihren Zwilling (autoflush +
Clash-Select) als Duplikat und uebersprang ihn, wodurch der vom Preview
gepruefte Saldo zerstoert wurde. Clash-Query um statement_id != tx.statement_id
erweitert: der Re-Check schuetzt nur noch statement-uebergreifend. Test: Auszug
mit zwei identischen Buchungen -> beide werden bestaetigt.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 20:16:08 +02:00