feat: Sender→Label Memory für Online-Tag-Learning #294
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#294
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?
Problem
Nach #268, #290, #292 sind die manuellen NLI-Kalibrierungs-Hebel ausgereizt (Threshold getuned, Label-Wording und Subject-Weighting beide negativ). Pivot auf Online-Feedback-Loop: das System lernt aus User-Bestätigungen statt aus manuellen Tweaks am Premise.
Lösung — Erster Hebel
Sender→Label Memory: Bestätigt ein User auf einer Mail von
noreply@dhl.deden Tag „Sendung", merkt sich der Server{owner, senderAddr="noreply@dhl.de", tagId=Sendung, confirmCount=1}. Beim nächsten Batch aus dieser Adresse → Tag direkt vergeben, NLI gespart.Deterministisch, kein ML, für die häufigen Standard-Sender (Bank, Shop, Tracking) extrem effektiv.
Scope
In-scope:
mail_sender_label_memory(id, ownerSub, senderAddr, tagId, confirmCount, removeCount, lastSeenAt)(ownerSub, senderAddr, tagId)confirmTag→ confirmCount++;removeMessageTag(wenn vorher suggested/confirmed) → removeCount++POST /mail/sender-memory/lookupmit{senderAddrs: string[]}→ Map sender→top-tagscategorizeFolderItems: vor NLI Memory pro Seite abfragen; bei klarem Match (confirmCount ≥ 2 und confirm > remove) → Tag direkt setzen, NLI skipMailResource.lookupSenderMemory()im API-Client"John <john@x.de>"→john@x.de(lowercase, trim)Out-of-scope (Follow-ups):
*@dhl.de)TDD-Reihenfolge
SenderMemoryService(upsert/lookup) — UnitMailService.confirmTag/removeMessageTag— UnitlookupSenderMemoryBezug
Nach #290 und #292 (beide manuelle Hebel verworfen). Online-Loop ist die Konsequenz.