Sibyl

Sibyl Client Daemon

Local light daemon -- inbox file watcher, Ingester extraction, KevinProxy dispatch, ResultWriter, billing journal.

Sibyl Client Daemon (v2026-08-02T101544Z-ab2bbdebf5) 2026-08-01 | Local light daemon -- inbox file watcher, Ingester extraction, KevinProxy dispatch, ResultWriter, billing journal. 1 - Daemon Initialization __main__.py:main() python -m apps.sibyl.daemon sibyl_daemon.py:_load_grant_token() SIBYL_GRANT_TOKEN keyring.get_password('sibyl', 'grant_token') grant token 2 - File Watching and Ingestion _INBOX /home/user/Kevin/inbox sibyl_daemon.py:_InboxHandler.on_created() _start_watcher() _process_file() new file 3 - Kevin Proxy and Result Writing kevin_proxy.py:dispatch() _encrypt_prompt() _compute_hmac() httpx.AsyncClient.post() _RESULTS_DIR /home/user/Kevin/results result_writer.py:write_from_kevin_response() ResultWriter.write() json.loads() HolonEnvelope Kevin response 1. Daemon starts and l… 2. File watcher initia… 3. New file detected i… 4. File is moved to pr… 5. File is ingested in… 6. HolonEnvelope is di… 7. Kevin response is r… 8. Result is written t… Kevin API Dispatch Payload { "job_id": "123e4567-e89b-12d3-a456-426614174000", "product": "sibyl", "task_type": "document_summarise", "prompt": "ciphertext_here", "context": {}, "source_filename": "example.txt", "source_format": "text/plain", "nonce": "456e4567-e89b-12d3-a456-426614174000", "expires_at": "2023-10-01T12:00:00Z" } ResultWriter Write Payload { "job_id": "123e4567-e89b-12d3-a456-426614174000", "result_text": "Summary of the document.", "task_type": "document_summarise", "output_format": "md" } The system relies on Tailscale for network communication with Kevin. File processing is handled asynchronously to ensure non-blocking behavior. Legend actor = initiates work · process = code path · store = state on disk · bus = durable queue · dashed = separate process cyan = request flow · pink = state read/write · dashed green = pull / return path · red = refusal

Provenance

This drawing is generated, not drawn. It is rebuilt from the source files below, so when they change the picture changes — a diagram here cannot quietly describe a system that no longer works this way.

Owner
Sibyl
Slug
sibyl-client-daemon
Rendered
2026-08-02T101544Z
From commit
ab2bbdebf5
Watches
2 paths
  • apps/sibyl/daemon
  • apps/sibyl/ingestion