Expand description
recall-echo serve — the graph daemon.
One daemon per memory directory owns the embedded graph store and answers command-level requests over a unix socket, one JSON object per line:
→ {"op":"search","args":{"query":"rust","limit":5}}
← {"ok":true,"data":[ ... ]}The daemon is crash-only: it keeps no state outside the database, so it
can be killed at any instant. Clients (crate::serve_client) detect the
dead socket, clean it up and start a fresh daemon.
Unix only — the socket is a plain UnixListener, with no transport
abstraction (see RE-29 decisions log).
Structs§
- AddEntity
Args - Background
Guard - RAII background-batch counter for
IdleTracker. - Daemon
Info - Identity of a running daemon, returned by
Request::Hello. - Daemon
Log - Append-only daemon log at
<memory_dir>/graph/daemon.log. - Extraction
State - What the background extraction worker has done, shared with the connection
tasks that answer
Request::Hello. - Extraction
Status - What this daemon’s background extraction worker has done so far.
- Feedback
Args - Idle
Tracker - Tracks daemon activity so an unused daemon shuts itself down, and so background work only runs while nobody is asking for anything.
- Ingest
Archive Args - Query
Args - Relate
Args - Response
- A daemon response. Wire form is
{"ok": true, "data": ...}or{"ok": false, "error": {"code": "...", "message": "..."}}. - Response
Error - A named failure.
codeis stable and machine-readable;messageis the human-readable text (already prefixed by the error kind, e.g.store locked). - Search
Args - Search
Episodes Args - Serve
Options - Everything
serveneeds to run. - Shutdown
Signal - One-way “stop now” signal, observable by any number of tasks.
- Sync
Pipeline Args - Pipeline sync needs no LLM provider, so it runs against the daemon like any other graph operation instead of taking the store exclusively.
- Traverse
Args
Enums§
- Request
- A client request. Wire form is
{"op": "...", "args": {...}}.
Functions§
- dispatch_
graph - Execute a graph operation against an open store.
- pidfile_
path - Path of the pidfile that accompanies a socket.
- run
- Run the daemon until it is asked to stop or goes idle.