cleanSnippet entschärfen — Euro-Beträge & Bestellnummern als Klassifikations-Signal behalten #254

Closed
opened 2026-05-14 15:22:14 +02:00 by admin-mrrm · 0 comments
Owner

Kontext

Kalibrierung in #251 hat gezeigt: cleanSnippet() in apps/mobile/src/services/model-manager.ts strippt aktuell die stärksten Rechnung-/Bestellung-Signale aus dem Snippet:

.replace(/[€$£¥]\s*[\d,.]+/g, '')   // 'EUR 9,90' → weg
.replace(/\d+[,.]?\d*\s*€/g, '')   // '55,88 €' → weg

Konkret: PayPal-Belege (Beleg für Ihre Zahlung an Shop Apotheke B.V.: 55,88 € EUR) verlieren genau den Betrag, der die Rechnung-Markierung ist. Im Log L40 hatte nach Cleanup nur noch Shop Apotheke B.V.: EUR übrig — NLI hat dann Sendung (0.269) als Top gewählt.

Ziel

  • \d+[,.]?\d*\s*€ und [€$£¥]\s*[\d,.]+ Regex entfernen — Beträge bleiben drin
  • Restliche Cleanup-Logik (URLs, HTML-Entities, Trenner-Linien) bleibt
  • parseTags()-Filter behält weiterhin sein Currency-Stripping (Schutz gegen Llama-Output)

Vorgehen (TDD)

  1. Test in model-manager.spec.ts: cleanSnippet('Beleg für Ihre Zahlung 55,88 €') enthält weiter 55,88 € (oder 55,88)
  2. Regex entfernen, GREEN
  3. Re-run Snippets aus apps/api/.tmp/nli-debug.jsonl (L11, L17, L30, L35, L40, L41, L43) und vergleiche NLI-Top-Score Rechnung-mit-Beträgen vs. ohne

Out of Scope

  • Andere Cleanup-Schritte (kein Anlass)

Abhängigkeit

Gehört zu #251 (geschlossen).

## Kontext Kalibrierung in #251 hat gezeigt: `cleanSnippet()` in `apps/mobile/src/services/model-manager.ts` strippt aktuell die stärksten Rechnung-/Bestellung-Signale aus dem Snippet: ```ts .replace(/[€$£¥]\s*[\d,.]+/g, '') // 'EUR 9,90' → weg .replace(/\d+[,.]?\d*\s*€/g, '') // '55,88 €' → weg ``` Konkret: PayPal-Belege (`Beleg für Ihre Zahlung an Shop Apotheke B.V.: 55,88 € EUR`) verlieren genau den Betrag, der **die** Rechnung-Markierung ist. Im Log L40 hatte nach Cleanup nur noch `Shop Apotheke B.V.: EUR` übrig — NLI hat dann Sendung (0.269) als Top gewählt. ## Ziel - `\d+[,.]?\d*\s*€` und `[€$£¥]\s*[\d,.]+` Regex **entfernen** — Beträge bleiben drin - Restliche Cleanup-Logik (URLs, HTML-Entities, Trenner-Linien) bleibt - `parseTags()`-Filter behält weiterhin sein Currency-Stripping (Schutz gegen Llama-Output) ## Vorgehen (TDD) 1. Test in `model-manager.spec.ts`: `cleanSnippet('Beleg für Ihre Zahlung 55,88 €')` enthält weiter `55,88 €` (oder `55,88`) 2. Regex entfernen, GREEN 3. Re-run Snippets aus `apps/api/.tmp/nli-debug.jsonl` (L11, L17, L30, L35, L40, L41, L43) und vergleiche NLI-Top-Score Rechnung-mit-Beträgen vs. ohne ## Out of Scope - Andere Cleanup-Schritte (kein Anlass) ## Abhängigkeit Gehört zu #251 (geschlossen).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
admin-mrrm/mrrmlabapp#254
No description provided.