Sendung-Detection verbessern: Tracking-Number-Hard-Override + Verb-Tempus-Heuristik #255
Labels
No labels
app/archiv
app/einkaufslisten
app/imap-client
app/wissensbasis
arch-answered
arch-question
area/api
area/auth
area/infra
area/mobile
area/shared
area/ui
area/web
portfolio-status
prio/high
prio/low
prio/medium
roadmap/public
size/l
size/m
size/s
size/xl
size/xs
status/blocked
status/needs-info
type/bug
type/chore
type/docs
type/feature
type/idea
type/refactor
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
admin-mrrm/mrrmlabapp#255
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kontext
Kalibrierung in #251 zeigte: NLI verwechselt Bestellung ↔ Sendung zuverlässig falsch:
NLI sieht das Wort Bestellung im Subject und gewinnt damit — der Verb-Tempus ("versandt", "erreicht", "unterwegs") wird ignoriert. Gleichzeitig haben wir bereits einen scharfen Tracking-Parser im Backend (
apps/api/src/modules/tracking-parser/) mit Patterns für UPS/Hermes/DHL/DPD — der wird heute nur für die Sendungsverfolgung benutzt, aber ist ein deterministisches Sendung-Signal.Ziel
Zweistufige Verbesserung:
Stufe 1 — Tracking-Number-Hard-Override (deterministisch)
Wenn
parseTrackingNumber(subject + body)einen Treffer hat → inmailModelManager.suggest()direkt['Sendung']zurückgeben, ohne NLI/Llama aufzurufen. Tracking-Nummern (UPS1Z + 16 chars, HermesH + 14 digits, DHL20 digits, DPD mit Kontext-Anchor) sind zufallsfrei genug, dass False-Positives praktisch ausgeschlossen sind.Architektur: Patterns aus
apps/api/src/modules/tracking-parser/tracking-parser.service.tsnachpackages/shared-utils(neu) oderpackages/shared-types/src/tracking-patterns.tsextrahieren, API und Mobile konsumieren denselben Source.Stufe 2 — Verb-Tempus-Heuristik (textbasiert)
Wenn kein Tracking, aber NLI-Top in {Bestellung, Sendung}: Subject-Keyword-Check
/versandt|unterwegs|erreicht|wird geliefert|verschickt/i→ bevorzuge Sendung./bestätigt|erhalten|wir haben deine bestellung/i→ bevorzuge Bestellung.Vorgehen (TDD)
packages/shared-*— Tests in beiden Konsumenten weiter grünsuggest()ruftparseTrackingNumber(rawSnippet)vor NLI; bei Treffer →['Sendung']. Tests mit allen 4 Carrier-Pattern-Beispielen aus den Kalibrierungs-MailsAkzeptanz-Kriterium
Nach #251-Kalibrierungs-Replay: L12/L13/L14 = Sendung statt Bestellung; L10 (Amazon Heizkissen bestellt) = Bestellung (kein Versand-Verb, keine Tracking-Nr).
Out of Scope
Abhängigkeit
Gehört zu #251 (geschlossen).