Files
claude-agent/TODO.md
Claude Agent 6dedcade2d docs(todo): corectie — Maria rula pe LXC 104, nu era "fara LLM"
Intrarile precedente ("Maria nu are backend LLM", "puntea WhatsApp nu e
asociata") erau gresite: descriau instalarea din git de pe LXC 171, in timp ce
Maria conectata la WhatsApp rula pe LXC 104. Inlocuite cu o singura intrare care
descrie mutarea in curs si pasul urmator.

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

5.5 KiB

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.

Stări: 🔵 planificat · 🟡 în lucru · ⛔ blocat · ✅ gata · ❌ abandonat


🟡 În lucru

(nimic în acest moment)


⛔ Blocate

Maria — mutarea de pe LXC 104 pe LXC 171

  • Situația: există DOUĂ instalări. Cea care răspunde pe WhatsApp e prototipul din /root/maria-whatsapp-bridge/ de pe LXC 104 (Flowise), în afara git-ului: acolo e sesiunea WhatsApp asociată și LLM-ul (Qwen3.5-2B-Q4, port 8091). Versiunea din git, de pe LXC 171, are tot ce s-a construit (11 documente, .xml, sincronizare Drive) dar n-a fost niciodată asociată.
  • De ce contează: indexul prototipului are 24 de chunk-uri dintr-un singur fișier (roaauto_instructiuni.txt), fără nimic despre e-Factura — de aici răspunsurile inventate.
  • Făcut: pe 171, LLM_URL=http://10.0.20.161:8091 (LLM-ul de pe 104, testat end-to-end: întrebarea despre token eFactura primește acum răspunsul corect din documente). Cod QR generat, așteaptă scanare.
  • Următorul pas: utilizatorul scanează QR-ul din dashboard; după ce 171 confirmă connected: true și răspunde corect pe WhatsApp, se opresc serviciile prototipului de pe 104 (întâi asocierea nouă, apoi oprirea celei vechi — altfel Maria dispare de tot, iar cât timp merg amândouă răspund amândouă).
  • 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 (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, 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 rulează de fapt pe LXC 104 (prototip, în afara git); mutare pe 171 în curs
  • 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