Making a channel registration live no longer depends on an operator/agent remembering to restart. setup/register.ts and scripts/deregister-room.ts now call signalEjclawReload() after the DB write, which sends SIGHUP to the running service's main PID (→ runtimeState.reloadRoomBindings). Best-effort and injectable-for-tests; no-ops when the service isn't running. Also document the canonical rule in the committed, agent-loaded platform prompt (prompts/claude-platform.md): prefer these paths, never fake a restart, verify via the "Room bindings reloaded" log; a plain in-turn systemctl restart is forbidden (it kills the agent). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
11 KiB
11 KiB