Concierge: declenche au BRANCHEMENT (transition on de evenement) au lieu de la session ;
helper porte 'branchement' (ts::text verbatim) ; fraicheur [on-10, min(now, on+30)].
Moniteur LLM/RAM (llm-monitor.js) : endpoint spark + RAM, alerte WhatsApp sur changement
d'etat, publie l'etat dans HA (last_seen a chaque passage) + interrupteur de pilotage.
Docs: SPEC a jour, MONITORING-LLM.md, brouillons de config HA.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RZsbhyGmRwZogdoBwT6C6y
Complete le commit doc precedent : ajoute le code JS du concierge, exclu jusqu'ici
par la liste blanche workspace/*. Exception ciblee !workspace/concierge-*.js dans
.gitignore (aucun secret : les tokens sont lus depuis .ha-token/.pg-airtria, ignores).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RZsbhyGmRwZogdoBwT6C6y
Le depot suivait openclaw.json en clair, qui contient gateway.auth.token,
gateway.remote.token et models.providers.*.apiKey. Ces valeurs sont deja
presentes dans l'historique pousse (2 occurrences du jeton de gateway
actuel) : la rotation du jeton reste a faire cote gateway.
Sans .gitignore, un "git add -A" balayait 505 Mo, dont l'appairage WhatsApp
(32 Mo de cles de session), la base SQLite active, credentials/, secrets/,
devices/ et les medias recus.
Strategie retenue : liste blanche. Tout est ignore par defaut, seules la
documentation et la configuration sont reintegrees explicitement.
openclaw.json est remplace par openclaw.json.example, caviarde.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NuEBkGBjkpZGgqJnX1DCrm