From 5f4f523629a271ddb107025e4d5dc86de8433329 Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Mon, 31 Aug 2026 22:13:43 +0000 Subject: [PATCH] =?UTF-8?q?todo:=20Maria=20=E2=80=94=20rank=20hibrid,=20es?= =?UTF-8?q?caladare=20la=20suport,=20dictionar=20Oracle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Q4uzvgm7AyJch5WH8QHRhY --- TODO.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/TODO.md b/TODO.md index e6e7432..6f347ef 100644 --- a/TODO.md +++ b/TODO.md @@ -34,6 +34,31 @@ Stări: `🔵 planificat` · `🟡 în lucru` · `⛔ blocat` · `✅ gata` · ` ## ✅ Gata +### Maria — rank hibrid, escaladare la suport, dicționar Oracle +- **De unde a pornit:** o captură cu o eroare Oracle a primit un răspuns generic — corect + gramatical, dar despre altă eroare. Nu se putea nici măcar afla ce citise OCR-ul. +- **Ce s-a făcut:** (1) textul OCR se loghează integral, cu interogarea de căutare și + sursele alese cu scoruri; (2) ordonare hibridă embeddings + BM25 cu fuziune RRF, și o + decizie separată „avem acoperire?"; (3) când nu avem, modelul nu mai e întrebat deloc — + întrebarea pleacă la suport pe WhatsApp, cu captura atașată și o referință; (4) dicționar + de 29 de erori Oracle uzuale, scris pentru clienți, nu pentru administratori. +- **De ce hibrid și nu doar embeddings:** măsurat, intervalele se suprapun — întrebările + bune dau 0,600–0,816 și cele străine 0,534–0,685. Codurile (`ORA-01722`, `D406`, `CIF`) + sunt exact ce ratează căutarea semantică. Pragurile sunt măsurate cu + `ops/calibrate-rank.py`, nu alese din burtă: 19/19 pe setul de cazuri. +- **Două lucruri găsite în log pe drum:** fiecare mesaj din self-chat sosea de două ori + (pe `@s.whatsapp.net` și pe `@lid`), deci Maria răspundea dublu — dedup pe `key.id`. + Și reindexarea refăcea toate embeddings-urile (~7 s fiecare): acum refolosește vectorii + chunk-urilor nemodificate — 29 noi în loc de 169. +- **Un bug vechi reparat pe parcurs:** documentele adăugate din dashboard ajungeau în + oglinda Drive și dispăreau la următorul `rclone sync`. Acum există `documents-local/`. +- **Rămas de făcut:** `SUPPORT_JID` e propriul număr, pentru testare — de schimbat cu + numărul sau grupul echipei de suport. Dicționarul Oracle trăiește doar pe container; + locul lui e `document_store` din Drive. +- **Verificat:** 73 de teste (de la 26 la începutul zilei); o escaladare reală cu captură + a plecat pe WhatsApp și apare în dashboard. +- **Terminat:** 2026-08-31 + ### Maria — asociere prin cod de telefon și citirea capturilor cu erori - **Ce s-a făcut:** două lucruri cerute în aceeași frază. (1) Asocierea WhatsApp se poate face acum și cu un cod de 8 caractere, nu doar cu QR — util când nu ai un ecran de dus în @@ -133,6 +158,7 @@ Stări: `🔵 planificat` · `🟡 în lucru` · `⛔ blocat` · `✅ gata` · ` Cea mai recentă intrare prima. O linie per schimbare de stare. +- 2026-08-31 — ✅ Maria: rank hibrid + escaladare la suport + dicționar de erori Oracle - 2026-08-31 — ✅ Maria: asociere prin cod de telefon + citirea capturilor cu erori (OCR) - 2026-08-31 — ✅ Echo re-legat la WhatsApp prin cod, ca dispozitiv `:14` - 2026-08-31 — ✅ Maria mutată pe LXC 171; reparat filtrul care arunca mesajele LID