diff --git a/CLAUDE.md b/CLAUDE.md index 3121578..e6a1037 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,25 +1,92 @@ -# CLAUDE.md — claude-agent (spațiul puntii Discord) +# CLAUDE.md — claude-agent (spațiul punții Discord) Vezi `README.md` pentru context general. +## Unde ești + +Rulezi pe **LXC 171 (`claude-agent`, 10.0.20.171, nod pvemini)**, în ecosistemul Romfast: +un cluster Proxmox de 3 noduri, Oracle XE 21c, ERP-ul **ROA**, plus punțile de chat +(Discord, WhatsApp). Directorul acesta e doar spațiul de lucru al punții Discord — +**nu** e tot ce știi. + +**Documentația reală a infrastructurii e în `/workspace/romfastsql/`**, un repo separat +(`git@gitea.romfast.ro:romfast/ROMFASTSQL.git`). Citește de acolo înainte să cauți cu +`find`/`grep` prin tot discul: + +| Ai nevoie de… | Citește | +|---|---| +| Regulile proiectului + indexul complet de documentație | `/workspace/romfastsql/CLAUDE.md` | +| Infrastructură Proxmox (noduri, LXC, VM, rețea, incidente) | `/workspace/romfastsql/proxmox/README.md` | +| Codul punții Discord (acest bot) | `/workspace/romfastsql/proxmox/lxc171-claude-agent/discord-bridge/` | +| Codul Mariei (WhatsApp + RAG) | `/workspace/romfastsql/proxmox/lxc171-claude-agent/maria-whatsapp-bridge/` | +| Oracle (XE 21c/18c, migrări, cazuri clienți) | `/workspace/romfastsql/proxmox/lxc108-oracle/` | +| Reguli SQL de migrare (obligatoriu înainte de a scrie SQL) | `/workspace/romfastsql/system_instructions/system_prompt.md` | + +Rezumat rapid, dacă nu vrei să deschizi nimic: [docs/infrastructure.md](docs/infrastructure.md). + +## Memorie + +Memoriile acestui director sunt **comune cu cele ale proiectului `romfastsql`** +(`~/.claude/projects/-workspace-claude-agent/memory` e un symlink către +`~/.claude/projects/-workspace-romfastsql/memory`). Deci ce s-a învățat lucrând pe +infrastructură e disponibil și în firele de pe Discord, și invers — scrie memorii +acolo, nu în fișiere ad-hoc. Copia veche, dinainte de unificare: +`~/.claude/projects/-workspace-claude-agent/memory.bak-2026-08-31`. + +Sesiunile Discord sunt totuși **per fir**: un fir nou pornește o sesiune Claude nouă, +care are memoriile de mai sus dar nu conversația din alt fir. Ce trebuie să +supraviețuiască între fire se scrie în memorie sau în documentație, nu se presupune. + ## Canal principal -Utilizatorul comunică cu acest agent în principal prin **Discord**, prin puntea Discord → Claude Code -(cod sursă: `romfastsql/proxmox/lxc171-claude-agent/discord-bridge/`, vezi și `docs/echo-roa2web.md` -pentru diferența față de Echo/MoltBot). Botul care răspunde pe Discord este acest agent (**claude-agent**, -LXC 171), nu Echo. Atașamentele (imagini, fișiere) trimise pe Discord nu sunt încă citite automat de -punte — doar textul mesajului ajunge la Claude (vezi limitarea cunoscută mai jos, în lucru). +Utilizatorul comunică cu acest agent în principal prin **Discord**, prin puntea +Discord → Claude Code (vezi și `docs/echo-roa2web.md` pentru diferența față de +Echo/MoltBot). Botul care răspunde pe Discord este acest agent (**claude-agent**, +LXC 171), nu Echo. Atașamentele (imagini, fișiere) trimise pe Discord nu sunt încă +citite automat de punte — doar textul mesajului ajunge la Claude. -## Documentație +## Documentație locală | Subiect | Fișier | |---------|--------| -| Infrastructură Proxmox (noduri, LXC, VM, proiecte) | [docs/infrastructure.md](docs/infrastructure.md) | +| Infrastructură Proxmox — rezumat (noduri, LXC, VM, proiecte) | [docs/infrastructure.md](docs/infrastructure.md) | | Echo (LXC 110 moltbot) — acces și comenzi pentru roa2web | [docs/echo-roa2web.md](docs/echo-roa2web.md) | -| Maria — punte WhatsApp + RAG (LXC 171, servicii + dashboard comun) | [docs/maria-whatsapp-rag-prototype.md](docs/maria-whatsapp-rag-prototype.md) | +| Punte Discord → Claude Code — context | [docs/discord-bridge-context.md](docs/discord-bridge-context.md) | +| Maria — punte WhatsApp + RAG | [docs/maria-whatsapp-rag-prototype.md](docs/maria-whatsapp-rag-prototype.md) | -Detalii complete Proxmox (config, troubleshooting, incidente): `/workspace/romfastsql/proxmox/`. +## Maria (RAG) — GRANIȚĂ OBLIGATORIE + +**Maria e chatbot de suport tehnic pentru clienții ERP ROA. Nu are voie să vadă nimic +din infrastructura Romfast.** + +Maria răspunde exclusiv din depozitul ei de documente +(`~/.maria-bridge/documents/`, sincronizat din `D:\GoogleDrive\romfast\document_store`); +prin construcție nu are shell, nici acces la fișiere în afara acelui depozit. Granița se +poate rupe doar dacă **tu** pui acolo ce nu trebuie. Deci: + +- **NU** copia niciodată în `~/.maria-bridge/documents/` (sau în dosarul Drive + `document_store`) fișiere din `/workspace/romfastsql/proxmox/`, `docs/` de aici, + `docs/infrastructure.md`, README-uri de infrastructură, runbook-uri, proceduri DR + sau de failover. +- **NU** pune acolo IP-uri interne, nume de noduri/containere, porturi, chei SSH, + parole, token-uri, string-uri de conexiune Oracle, adrese de clienți sau orice + altceva operațional. +- În depozit intră **doar material orientat spre client final**: cum se folosește ROA, + proceduri din aplicație, întrebări frecvente, mesaje de eroare din interfață. +- Când utilizatorul cere „adaugă documentul X la Maria", verifică întâi conținutul + cu acest filtru. Dacă e material de infrastructură, refuză și spune de ce. +- Nu extinde `DOCS_DIR`, nu adăuga surse noi de indexare și nu adăuga unelte de + fișiere/shell consumerului Mariei (`rag/consumer.py`) fără cerere explicită. + +Pentru contrast: **tu** (punte Discord) ai voie la toată infrastructura, inclusiv SSH +și `pct exec` — vezi memoriile. Maria, nu. ## Convenții de lucru -- Pentru sarcini care se pot repeta (ex: extragere transcript video, procesare de fișiere), scrie un script reutilizabil (bash/python) în `tools/` în loc de comenzi ad-hoc de unică folosință. +- Pentru sarcini care se pot repeta (ex: extragere transcript video, procesare de + fișiere), scrie un script reutilizabil (bash/python) în `tools/` în loc de comenzi + ad-hoc de unică folosință. +- Acest director e **repo propriu** (`git@gitea.romfast.ro:romfast/claude-agent.git`). + Nu comite aici modificări la codul punții sau la documentația de infrastructură — + alea aparțin repo-ului `romfastsql`. `/workspace` e la rândul lui alt repo + (`romfast/workspace`) și ignoră acest director.