All wiring for the optional RAG server lives in this module — config
reading, client construction (client) and the background sync loop
(sync). Everything talks to the server through crate::server_client;
the rest of the TUI only consumes these helpers and renders status.
The component inside Kimün that owns every dealing with the RAG server:
connection/capability probing, pushing note changes, and hash-diff
reconciliation (see CONTEXT.md, “Server client”). Core stays network-free;
it feeds this module only through the observer seam, which reports a
path, a content hash and upsert-or-delete, and knows nothing of RAG.