fix: Datenschutz-Scrub in Tests/Kommentaren + Spec-Nachtrag Vorschlags-Algorithmus
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -70,15 +70,17 @@ MERGE_GAP_MAX_NUM, MERGE_GAP_MAX_DEN = 16, 10 # 1.6
|
||||
MERGE_DUE_DAY_TOL = 3 # Schritt 6: Faelligkeitstag-Toleranz in Tagen
|
||||
BESTAND_DUE_DAY_TOL = 2 # Schritt 8: Faelligkeitstag-Toleranz in Tagen
|
||||
|
||||
# Bestandsabgleich, Token-Match (Live-Gate A9-Fund, Nachtrag 4): kuratierte
|
||||
# Bestandsabgleich, Token-Match (Live-Gate-Fund, Nachtrag 4): kuratierte
|
||||
# Fixposten tragen haeufig einen Alias-/Variabel-Namen, der weder Substring
|
||||
# noch betragsaehnlich zum automatisch erkannten Vorschlag ist (Beispiel aus
|
||||
# der echten Datenbasis: Fixposten "Mastercard-Abrechnung Volksbank
|
||||
# (variabel, letzter Wert)" vs. erkannter Vorschlag "Volksbank Ulm-Biberach
|
||||
# eG" - Betrag weicht um >10% ab, kein Substring-Treffer). Ein gemeinsames,
|
||||
# hinreichend spezifisches Namens-Token (>=5 Zeichen, um generische Woerter
|
||||
# wie "Bank" nicht faelschlich matchen zu lassen) bei gleichem Rhythmus und
|
||||
# nahem Faelligkeitstag gilt als ausreichendes Indiz fuer denselben Fixposten.
|
||||
# noch betragsaehnlich zum automatisch erkannten Vorschlag ist (Muster:
|
||||
# ein Sammel-Fixposten fuer eine Kreditkartenabrechnung mit variablem Betrag
|
||||
# unter einem Alias-Namen des Anbieters deckt den vom Algorithmus erkannten
|
||||
# Vorschlag desselben Anbieters unter seinem regulaeren Empfaenger-Namen
|
||||
# nicht ab, weil weder Substring noch Betrags-Toleranz greifen). Ein
|
||||
# gemeinsames, hinreichend spezifisches Namens-Token (>=5 Zeichen, um
|
||||
# generische Woerter wie "Bank" nicht faelschlich matchen zu lassen) bei
|
||||
# gleichem Rhythmus und nahem Faelligkeitstag gilt als ausreichendes Indiz
|
||||
# fuer denselben Fixposten.
|
||||
TOKEN_MIN_LEN = 5
|
||||
|
||||
# Volatilitaets-Hinweis (Live-Gate A9-Fund, Nachtrag 4): wenn der
|
||||
@@ -239,10 +241,10 @@ def _covered_by_existing(cand_name: str, cand_amount: Decimal, rhythm: str, due_
|
||||
(c) Token-Match: gleicher Rhythmus, Faelligkeitstag-Differenz <= 2 UND
|
||||
mindestens ein gemeinsames Namens-Token (>=5 Zeichen) - faengt
|
||||
kuratierte Alias-/Variabel-Fixposten, deren Name UND Betrag stark
|
||||
vom automatisch erkannten Vorschlag abweichen (Live-Gate A9-Fund:
|
||||
Fixposten "Mastercard-Abrechnung Volksbank (variabel, letzter
|
||||
Wert)" deckt den Vorschlag "Volksbank Ulm-Biberach eG" ab, obwohl
|
||||
weder (a) noch (b) greifen)."""
|
||||
vom automatisch erkannten Vorschlag abweichen (Live-Gate-Fund: ein
|
||||
Sammel-Fixposten unter Alias-Namen des Anbieters deckt den
|
||||
automatisch erkannten Vorschlag desselben Anbieters unter seinem
|
||||
regulaeren Empfaenger-Namen ab, obwohl weder (a) noch (b) greifen)."""
|
||||
cand_norm = _norm(cand_name)
|
||||
cand_tokens = _tokens(cand_name)
|
||||
for item in existing:
|
||||
|
||||
Reference in New Issue
Block a user