Stack restart after the sidecar's boot pass left duo_up=0 and the heal
branch (which required exactly one member) never fired. Heal now also
triggers when zero duo members run AND the running list is empty, so a
bounced stack repopulates automatically. A deliberate swap to a non-duo
model still isn't fought (running list non-empty).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Suspend/resume kills the GPU-side duo member (CUDA context lost; often
wedged nvidia_uvm on this machine). Daemon now ticks every 60s: if
exactly one duo member is running, the missing one is reloaded via its
/upstream health endpoint and its snapshot restored. Saves stay at
5-min cadence. Boot restore skips members that are already running.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
curlimages/curl sidecar (profile stack, depends_on healthy): restores
duo slot caches on boot (pre-loads both duo servers) and auto-saves
every 300s while loaded. No manual duo-warmboot.sh calls needed; the
script remains for ad-hoc use. Snapshot tracks the latest real session;
prefix matching (--cache-reuse) handles divergent new sessions.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
--slot-save-path + --cache-reuse 256 on both duo members, ./kv-cache
mounted at /cache. Measured on ornith (3K-token system prompt): warm
prefix reuse 296ms vs 106.7s cold prefill (361x); slot save 84MB in
59ms, GDN recurrent state serializes. scripts/duo-warmboot.sh wraps
save/restore/status via llama-swap /upstream passthrough. Restore
after restart: run 'duo-warmboot.sh restore' post stack boot.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Duo group (resident main+subagent for pi): flip VRAM to the small model.
Ornith experts never touch VRAM; its dense-on-GPU split starved qwen to
176 MiB / 5.8 t/s concurrent. After flip: qwen 43 t/s, ornith 8 t/s.
CUDA_VISIBLE_DEVICES= required for ornith — ngl 0 still allocates ~1GB
pp compute buffer on CUDA builds (OOM+segfault). Duo section in
MOE-FINDINGS.md; also snapshots prior swap-stack migration state.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>