Files
claude-agent/TODO.md
Claude Agent 06ded85757 docs(todo): sincronizarea Drive e gata; doua blocaje reale gasite la Maria
Sincronizarea si preferinta .xml sunt terminate (depozit 6 -> 11 documente).
La verificarea de dupa au iesit la iveala doua lucruri care tineau Maria
nefunctionala si pe care nu le stia nimeni:

- LLM_URL=127.0.0.1:8091 nu are nimic in spate, nici aici nici pe LXC 110.
  Maria poate cauta in documente, dar nu poate formula raspunsuri. N-a iesit la
  iveala fiindca puntea WhatsApp nu e conectata, deci ask_llm n-a fost apelat
  niciodata.
- Puntea WhatsApp nu e asociata: QR-ul n-a fost scanat, bridge-ul a ajuns la
  "Max reconnect attempts reached".

Ambele cer o decizie sau un pas manual al utilizatorului, deci raman in Blocate.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4uzvgm7AyJch5WH8QHRhY
2026-08-31 18:43:26 +00:00

121 lines
5.8 KiB
Markdown

# TODO — progresul funcționalităților
Registrul viu al lucrului cerut prin puntea Discord. **Botul îl citește la începutul
oricărei cereri de dezvoltare și îl actualizează la final** — vezi
[docs/flux-dezvoltare.md](docs/flux-dezvoltare.md).
Stări: `🔵 planificat` · `🟡 în lucru` · `⛔ blocat` · `✅ gata` · `❌ abandonat`
---
## 🟡 În lucru
*(nimic în acest moment)*
---
## ⛔ Blocate
### Maria — nu are backend LLM
- **Unde:** `~/.maria-bridge/env`, `LLM_URL=http://127.0.0.1:8091`
- **Problema:** nu ascultă nimic pe 8091, nici pe LXC 171, nici pe LXC 110 (verificat
2026-08-31). `env.example` îl descrie ca „tunel/proxy local către backend-ul lui Echo",
tunel care n-a existat niciodată. Ollama local are doar `nomic-embed-text` (embeddings),
niciun model de chat. **Maria poate căuta în documente, dar nu poate formula răspunsuri.**
- **N-a ieșit la iveală până acum** fiindcă puntea WhatsApp nu e conectată, deci niciun
mesaj n-a ajuns vreodată la `ask_llm`.
- **De decis:** ce backend — Claude API (ca Echo), Flowise pe LXC 104, sau un model de
chat în Ollama local. Ultima variantă e probabil nefolosibilă: un embedding de 137M
parametri ia deja ~7,3s pe acest container, CPU-only.
- **Actualizat:** 2026-08-31
### Maria — puntea WhatsApp nu e asociată
- **Unde:** `~/.maria-bridge/logs/whatsapp.log`
- **Problema:** codul QR n-a fost scanat, iar bridge-ul a ajuns la
„Max reconnect attempts reached (5)". Serviciul rulează, dar `connected: false`.
- **Blocat pe:** un pas manual al utilizatorului — scanarea codului QR din dashboard cu
telefonul. Codul expiră, deci trebuie scanat la scurt timp după ce e generat; poate fi
nevoie de `restart` pe `maria-whatsapp` ca să genereze unul proaspăt.
- **Actualizat:** 2026-08-31
---
## 🔵 Planificate
### Mesaje vocale din Discord
- **Unde:** `romfastsql/proxmox/lxc171-claude-agent/discord-bridge/bot.py`
- **Ce ar însemna:** atașamentele audio (`audio/ogg`, mesajele vocale Discord) transcrise
local înainte de a intra în prompt. Whisper rulează pe CPU pe LXC 171, deci trebuie
măsurat întâi costul în timp per mesaj.
- **De ce nu acum:** nu a fost cerut; e singura limitare rămasă după atașamente.
- **Actualizat:** 2026-08-31
---
## ✅ Gata
### Maria — sincronizare Google Drive
- **Unde:** `maria-whatsapp-bridge/ops/setup-drive.sh`, `rag/sync.py`,
`docs/rclone-google-drive-headless.md` (în romfastsql)
- **Ce face:** `rclone` autorizat cu token obținut pe stația Windows (`rclone authorize`,
fără cont de serviciu Google), dosarul fixat pe ID. `maria-sync.timer` trage la 10 min.
- **Rezultat:** depozitul a trecut de la 6 la 11 documente — au intrat SAF-T D406,
e-Factura (`.md` + `.xml`), roaauto și roagest, care lipseau complet.
- **Terminat:** 2026-08-31
### Maria indexează .xml, preferat peste .md
- **Unde:** `maria-whatsapp-bridge/rag/store.py` (`DOC_EXTENSIONS`,
`documents_for_index`), `rag/indexer.py` (`chunk_xml`), `rag/sync.py`,
`discord-bridge/dashboard/api.py` + `index.html`, `tests/`
- **Ce face:** `.xml` intră în depozit și, când același document există și ca `.md`,
doar `.xml` se indexează (`.xml` > `.md` > `.txt`); cel umbrit rămâne pe disc și e
marcat în dashboard. XML-ul se taie câte un chunk per problemă, cu mesajul de eroare
și rezolvarea împreună.
- **De ce:** la `d406_saft_knowledge`, `.xml` e cu 3 luni mai nou și cu 50% mai mare
decât `.md`. Tăierea pe linii goale ar fi separat eroarea de rezolvare.
- **Verificat:** 20 de teste noi (suita Maria, prima ei suită); puntea Discord 426 pass.
- **Terminat:** 2026-08-31
### Atașamente Discord → Claude (imagini + fișiere text)
- **Unde:** `romfastsql/proxmox/lxc171-claude-agent/discord-bridge/bot.py`
(`build_user_content`), `runner.py` (`user_message`), `tests/test_attachments.py`
- **Ce face:** imaginile png/jpeg/gif/webp ajung ca blocuri `image` (max 4, max 3,5 MB),
fișierele text intră în prompt (max 4, trunchiate la 100 KB), restul sunt doar numite.
Merge și mid-tur, ca steering. Un mesaj doar cu poză nu mai e respins ca gol.
- **Verificat:** 31 de teste noi, suita 426 pass; blocurile de imagine testate pe CLI-ul
real (`--input-format stream-json`), Claude descrie corect imaginea.
- **Terminat:** 2026-08-31
### Plan cu Opus, execuție cu Sonnet
- **Unde:** [docs/flux-dezvoltare.md](docs/flux-dezvoltare.md), referit din `CLAUDE.md`
- **Ce face:** orice cerere de dezvoltare trece întâi printr-un subagent `Plan` pe Opus;
planul se postează în fir, apoi execuția merge pe Sonnet, în sesiunea firului.
- **Terminat:** 2026-08-31
### Memorie comună claude-agent ↔ romfastsql
- **Ce face:** `~/.claude/projects/-workspace-claude-agent/memory` e symlink către memoria
proiectului `romfastsql`, deci firele Discord nu mai pornesc fără context.
- **Terminat:** 2026-08-31
### Repo propriu pentru claude-agent + reparare Gitea
- **Ce face:** `/workspace/claude-agent` e repo separat
(`git@gitea.romfast.ro:romfast/claude-agent.git`), scos din `romfast/workspace`.
Gitlink-urile fără `.gitmodules` care dădeau 500 pe pagina repo-ului `workspace` au
fost scoase din index.
- **Terminat:** 2026-08-31
---
## Jurnal
Cea mai recentă intrare prima. O linie per schimbare de stare.
- 2026-08-31 — ⛔ Maria nu are backend LLM (8091 nu există) — descoperit, de decis
- 2026-08-31 — ⛔ Maria — puntea WhatsApp nu e asociată (QR nescanat)
- 2026-08-31 — ✅ Maria — sincronizare Google Drive, 6 → 11 documente
- 2026-08-31 — ✅ Maria indexează .xml, preferat peste .md
- 2026-08-31 — ✅ Atașamente Discord → Claude (imagini + fișiere text)
- 2026-08-31 — ✅ Plan cu Opus, execuție cu Sonnet
- 2026-08-31 — ✅ Memorie comună claude-agent ↔ romfastsql
- 2026-08-31 — ✅ Repo propriu pentru claude-agent + reparare Gitea