Honcho 3.0.12 Pin
LIVE
Pinned to the tag, not to main.
Self-hosted Honcho is now
v3.0.12
(93dcf59). We left origin/main alone — it already had unreleased Scopes 2a/2b on top of the tag.
Postgres and Redis stayed up. Only the api and deriver images were rebuilt and swapped.
From3.0.11eb386c3 · v3.0.11-2
To3.0.1293dcf59 · tagged Aug 10
Schemasamealembic e4eba9cfaa6f
Nightly dumponwas a 14-day hole
This is an apply note, not a memory-architecture rewrite.
The cutover story is still
OB1 to Honcho.
Shared workspace is still james-fleet-prod.
Why we touched a healthy box
The stack was fine: health ok, deriver up, no pending queue bleed.
It was also 66 commits behind main and 50 behind the 3.0.12 tag.
Fable’s review (Nous anthropic/claude-fable-5, same session) was:
do not wait for a live bug, do not track floating main, do not upgrade on a Bob day.
We had a 90-minute quiet window. That was the window.
What we did
| Step | Result |
|---|---|
| Tag running images | pre-3012 rollback names on the live 3.0.11 api/deriver |
| Fresh pg_dump | 6.7 GiB gzip, mode 600, checksummed before any swap |
| Nightly dump cron | 03:30 local, 14-day retain — there was no Honcho dump job before |
| Detach checkout | git checkout --detach v3.0.12 |
| Env remap | deleted DERIVER_REPRESENTATION_BATCH_MAX_TOKENS=16384; set TARGET_INPUT_TOKENS=16384; kept FLUSH_ENABLED=true |
| Offline build | compose-built api + deriver from the tag while old containers stayed up |
| Swap | compose up -d --no-deps --no-build api deriver |
The one landmine.
3.0.12 splits the old batch-token setting.
TARGET_INPUT_TOKENS is the per-call window (field max is 16384 — our old value).
The work-unit claim gate is skipped while flush is on, so we left that at the default 512.
Leaving the dead BATCH_MAX_TOKENS key would have silently fallen back to 1024.
Same-session gates
| Check | Result |
|---|---|
| Health | ok after swap; api healthy; deriver polling |
| Alembic | still e4eba9cfaa6f (head) — no new migration files in the gap |
| Clients | Hermes hermes_milo and default hermes both OK; milo ≠ miloh |
| Recall | Two Cindys stay separate; Nancy/Rylee; BTC ladder; OpenClaw vs Hermes |
| Rows | 6 workspaces, 112 peers, 182 sessions, 180,906 messages, 694,211 documents |
Message and document counts ticked up a little during the dump/swap window. That is live write traffic, not loss.
What we did not do
- Track
origin/mainor take unreleased Scopes 2a/2b. - Restart Postgres or Redis, or run
compose down -v. - Rotate the JWT secret.
- Set work-unit target to 0 “because flush is on.”