honcho: document deriver disabled-by-default and manual start procedure

- Explains why honcho_deriver_autostart defaults to false (0 token burn)
- Provides manual systemctl start/stop commands
- Notes override procedure for permanent enable
This commit is contained in:
Hermes Agent service account
2026-06-02 10:28:11 -05:00
parent f654c59dd5
commit 9d860367cc

View File

@@ -36,9 +36,42 @@ rootful Podman + Quadlet.
4. Deploys a pgvector-enabled Postgres 16 container and waits for it to be 4. Deploys a pgvector-enabled Postgres 16 container and waits for it to be
ready. ready.
5. Deploys the Honcho API container (`honcho-api`) — FastAPI on :8000. 5. Deploys the Honcho API container (`honcho-api`) — FastAPI on :8000.
6. Deploys the Honcho deriver worker container (`honcho-deriver`). 6. Deploys the Honcho deriver worker container (`honcho-deriver`) — **stopped
and disabled by default** (see below).
7. Verifies the API answers on `/docs`. 7. Verifies the API answers on `/docs`.
## Deriver service (disabled by default)
The `honcho-deriver` service is **created but not started** by default
(`honcho_deriver_autostart: false`). This prevents autonomous token burn.
**Why disabled:**
The deriver runs background reasoning loops that consume LLM tokens
continuously, independent of the Hermes client-side `contextCadence` and
`dialecticCadence` settings. Even with both cadences set to zero in
`~/.hermes/honcho.json`, the deriver polls Postgres every second and fires
Claude API calls autonomously.
In production, this discovered behavior cost $10 USD overnight before the
service was stopped.
**Manual start (if needed for testing):**
```bash
# On lincoln.local.mk-labs.cloud as jarvis or with sudo:
sudo systemctl start honcho-deriver.service
# Check status:
sudo systemctl status honcho-deriver.service
# Stop again:
sudo systemctl stop honcho-deriver.service
```
**To enable permanently:**
Override `honcho_deriver_autostart: true` in `group_vars` or inventory, then
re-run the playbook.
## Required vault entries ## Required vault entries
Add to `group_vars/all/vault` (ansible-vault encrypted): Add to `group_vars/all/vault` (ansible-vault encrypted):