Files
ROMFASTSQL/proxmox/lxc171-claude-agent/discord-bridge/ops/logrotate.conf
Claude Agent d466f358ce feat(discord-bridge): punte Discord -> Claude Code pe LXC 171
Implementeaza planul claude-master-plan-discord-bridge-20260830 (15 taskuri,
3 lane-uri paralele) — un bot subtire discord.py peste CLI-ul `claude`, cu
proces persistent per fir alimentat pe stdin cu --input-format stream-json.

Nucleu: runner (proces persistent + reaper 20min + respawn --resume), stream
(parser tolerant), session_store (scriere atomica, lock per fir, detectare PID
reuse, recovery), limits (max 4 procese, timeout tur, rate per user, plafon cost
pe zi), render (un loop de editare per canal, interval adaptiv).

Adaptor: allowlist guild/canal/user fail-closed cu respingerea webhook-urilor,
comenzi !new/!cd/!model/!status/!stop/!cleanup, cost si model in subsolul
fiecarui raspuns. Mesajul sosit in timpul unui tur devine steering, nu tur nou.

Securitate: hook PreToolUse fail-closed care cere confirmare in Discord pentru
operatiuni ireversibile, wrapper `infra` cu lista explicita de hosturi. Deny
rules raman strat cosmetic, nu bariera (verificat: /usr/bin/ssh trece pe langa).

Ops: alerte email pe conventia repo-ului, !cleanup pentru orfani, unit systemd
user cu KillMode=control-group si limite de memorie, install.sh idempotent.

Verificat: 275 teste fara retea/Discord/API (10.8s), identic cu si fara
discord.py instalat; e2e pe CLI real confirma steering-ul mid-tur (mesaj la 6s
intr-un tool call de 25s schimba raspunsul final).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B29CApsP1JkSdjYaGaHpE7
2026-08-30 10:44:39 +00:00

27 lines
902 B
Plaintext

# Rotatie pentru logurile puntii Discord -> Claude Code.
#
# Sunt loguri de UTILIZATOR (~/.claude-discord/logs/), nu /var/log, deci NU intra
# in /etc/logrotate.d — logrotate-ul de sistem ruleaza ca root si ar schimba
# proprietarul fisierelor. Se ruleaza cu starea in home-ul utilizatorului:
#
# logrotate -s ~/.claude-discord/logrotate.state \
# /workspace/romfastsql/proxmox/lxc171-claude-agent/discord-bridge/ops/logrotate.conf
#
# install.sh il pune in crontab-ul utilizatorului, zilnic la 04:10.
#
# Nota: unitul scrie cu `append:`, adica tine descriptorul deschis. De aceea
# `copytruncate` — fara el, dupa rotatie botul ar continua sa scrie in inodul
# vechi si logul nou ar ramane gol.
/home/claude/.claude-discord/logs/*.log {
daily
rotate 14
size 20M
missingok
notifempty
compress
delaycompress
copytruncate
create 0640 claude claude
}