You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Today every claw CLI invocation re-opens the SQLite store, re-reads the manifests, and re-instantiates PodmanClient. This is fine for a single-operator workflow but blocks: long-lived watchers, the Telegram bot needing to query agent state without bootstrapping the full CLI, and any future TUI/dashboard.
clawd should expose a local Unix-socket JSON API at ~/.claw/run/clawd.sock that the CLI, the bot, and any future client speak to.
Source: docs/SPRINT_PLAN.md §8.
Acceptance criteria
clawd start daemonizes (or runs in foreground with --foreground); writes PID to ~/.claw/run/clawd.pid.
Socket at ~/.claw/run/clawd.sock, perms 0o600, JSON line protocol.
Context
Today every
clawCLI invocation re-opens the SQLite store, re-reads the manifests, and re-instantiatesPodmanClient. This is fine for a single-operator workflow but blocks: long-lived watchers, the Telegram bot needing to query agent state without bootstrapping the full CLI, and any future TUI/dashboard.clawdshould expose a local Unix-socket JSON API at~/.claw/run/clawd.sockthat the CLI, the bot, and any future client speak to.Source:
docs/SPRINT_PLAN.md §8.Acceptance criteria
clawd startdaemonizes (or runs in foreground with--foreground); writes PID to~/.claw/run/clawd.pid.~/.claw/run/clawd.sock, perms 0o600, JSON line protocol.agent.list,agent.get,agent.create,agent.start,agent.stop,agent.delete,policy.explain,policy.mutate,audit.tail.--via-daemonflag (and a setting in~/.claw/config.yaml) that routes commands through the socket instead of re-bootstrapping.claw doctorreports daemon status (running / not running / socket unreachable)./statusinstead of opening the SQLite store directly.Out of scope
References
docs/SPRINT_PLAN.md §8