Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
## honcho-unreachable
|
|
|
|
**What you see.** `memoryd` logs one line when it cannot reach Honcho, then this entry:
|
|
|
|
```text
|
|
memoryd: Honcho is unreachable (connect); sends wait and are retried; see docs/runbook.md#honcho-unreachable
|
|
```
|
|
|
|
The word in parentheses is the kind: `connect` (nothing answers at `[honcho] url`), `timeout` (5
|
|
seconds to connect, or 30 without a byte), `closed`, `io`, or `server, HTTP 5xx` (Honcho answered
|
|
with a server error). When a send goes through again, `memoryd` logs `memoryd: Honcho answers
|
|
again; waiting sends go on`. Conversations are not affected.
|
|
|
|
**Why.** Every finished turn that is decided for Honcho waits in the ledger,
|
|
`memory/honcho.jsonl`, until it is sent (M5c spec, section 5). While Honcho does not answer,
|
|
`memoryd` tries the oldest waiting turn again, waiting 5 seconds, then 10, 20 and so on up to 10
|
|
minutes between tries, and logs the outage once, not at every try. Nothing is lost: the turns go,
|
|
in order, once Honcho answers. A restart of `memoryd` starts the waits again from 5 seconds.
|
|
|
|
**Confirm.**
|
|
|
|
```sh
|
|
grep -n '^url' /etc/boxmaker/memoryd.toml
|
|
curl -sS -m 5 "<url>/health"
|
|
```
|
|
|
|
**Fix.** Start Honcho, or make the network path to it work (on straylight, rift over the
|
|
tailnet: `tailscale status`). If `[honcho] url` is wrong, correct it and restart `memoryd`.
|
|
|
|
**Check.** `memoryd` logs `Honcho answers again`, and `memory/honcho.jsonl` gains `sent` lines.
|