hallouminate-daemon 0.5.0

Daemon layer for hallouminate.
Documentation

Local daemon: the single owner of the configured LanceDB ground directory, repository registry, per-corpus mutation locks, and the global write-lane.

See .cheese/specs/repository-daemon-wikis.md for the design. Operational summary:

  • One daemon per user-local socket (HALLOUMINATE_SOCKET, $XDG_RUNTIME_DIR/hallouminate/daemon.sock, or ~/.cache/hallouminate/daemon.sock).
  • Single-instance enforced via flock on <socket>.lock.
  • Interactive CLI subcommands (ground, index, …) become clients of the daemon and fail loudly when it is unreachable rather than silently auto-starting — the user sees a clear hint to run hallouminate daemon.
  • The non-interactive MCP serve transport calls ensure_daemon_running to spawn a detached daemon when one is not already up. The flock keeps concurrent spawns safe: only one daemon wins the lock, the rest exit.

Lock order across the dispatcher is documented in state.rs.